Производительность и скорость загрузки вашего сайта являются одними из главных факторов, обеспечивающих удобство его использования. А с учётом роста числа маломощных мобильных устройств, подключенных к Интернету, эти факторы становятся ещё важнее.
Сайт на WordPress легко запустить и поддерживать, но, чтобы сделать его производительным и отвечающим современным требованиям, требуются постоянные дополнительные усилия. В этой статье я объясню, почему скорость загрузки сайта имеет такое большое значение, и предложу практические советы по ускорению WordPress-сайта.
Почему производительность важна
Первое впечатление, производимое вашим сайтом, крайне важно. Все преимущества быстрого сайта можно перечислять долго, но мы выделим три главных:
1 Повышение удобства использования
Давно доказано, что пользователи Интернета любят быстрые сайты и игнорируют медленные. Если вы заботитесь о посетителях вашего сайта, позаботьтесь в первую очередь о скорости его загрузки. Медленная загрузка страниц – главная причина того, что пользователь покидает сайт.
Согласно статистике KISSmetrics, 47% пользователей Интернета ожидают, что сайт загрузится за 2 секунды. Если этого не происходит, они переходят на другие сайты.
2 Повышение рейтинга в поисковых системах
Google обратил внимание веб-мастеров на важность быстрой загрузки ещё в 2010 году, когда перечислил скорость загрузки страницы в числе ранжирующих факторов.
По прошествии четырёх лет одержимость Google скоростью только возросла. Google возглавил инициативную группу под названием Make the Web Faster (сделайте Сеть быстрее), которая предлагает разработчикам и веб-мастерам большой выбор инструментов и ресурсов, направленных на построение быстрых сайтов.
Yahoo! также всегда выступал за быстрый Интернет и поддерживал базу знаний по тематике оптимизации веб-сайтов в рамках проекта Yahoo! Developer Network.
3 Повышение процента конверсии
Проводилось множество исследований влияния скорости загрузки сайта компании на её успех в Интернете. Наиболее известно исследование, проведённое Amazon.
Статистические данные, полученные этой компанией, говорят о том, что сокращение скорости загрузки страниц Интернет-магазина на каждые 100 мс повышает его прибыль на 1%.
Схожие данные опубликовала компания Mozilla: количество загрузок Firefox увеличилось на 15,4%, когда страница загрузок сайта Mozilla была оптимизирована, и среднее время её готовности уменьшилось на 2,2 секунды.
Проверяем скорость загрузки своего сайта
Прежде чем оптимизировать что-либо, желательно протестировать исходную производительность сайта, чтобы зафиксировать отправную точку. Существует довольно много различных средств измерения скорости загрузки сайта в форме веб-сервисов, отдельных программ или браузерных расширений. Наиболее популярными являются:
- Google PageSpeed Insights;
- WebPagetest.org;
- Pingdom Website Speed Test;
- Расширение для браузера YSlow.
Все эти инструменты имеют схожий функционал и предоставляют пользователю как данные измерений и ранжирования, так и советы по улучшению производительности сайта. PageSpeed Insights вдобавок предоставляет статистику пользования мобильными браузерами:
Исследуем производительность WordPress
Кроме общих тестов загрузки страницы, неплохо было бы получить специфическую информацию о загрузке страницы со стороны WordPress. Разумеется, получив общую информацию о загрузке и установив слабые места, можно попытаться сразу изолировать проблему, например, отключая по очереди отдельные плагины или меняя темы.
Но разумней было бы применить специфические инструменты измерения производительности WordPress, из числа которых мы выделим следующие:
P3 – необычайно удобный плагин для WordPress, который снабдит вас данными о вкладе каждого установленного вами плагина в общее время загрузки сайта. При помощи P3 можно в кратчайшее время выявить потенциальные проблемы и наиболее ресурсоёмкие места вашего сайта:
NewRelic, помимо общей статистики, обеспечивает также глубокий анализ производительности вашего сервера веб-приложений, включая время, уходящее на запросы к СУБД и внешним сервисам. Этот плагин будет чрезвычайно полезен для тех, кто запускает WordPress на собственном сервере.
Факторы производительности WordPress
На производительность вашего сервера оказывают влияние множество факторов: от параметров хостинга, DNS, конфигурации и доступных ресурсов сервера до выбранных тем, плагинов и даже самого контента.
Параметры хостинга или сервера
Что касается размещения сайта, то самое дешёвое решение – не всегда лучшее. Если вы серьёзно рассчитываете на быстрое обслуживание большого количества посетителей, вам стоит подумать над выбором способа размещения сайта. Предпочитаете делать всё самостоятельно?
Арендуйте сервер и настройте его согласно имеющимся руководствам. В противном случае стоит воспользоваться специализированным WordPress-хостингом.
Имейте в виду, что WordPress с особо ресурсоёмкими плагинами может легко превысить пределы потребления памяти даже на выделенном сервере, не говоря уже о виртуальном хостинге. В этом случае поможет собственный сервер с оптимизированной под WordPress настройкой.
Специализированный WordPress-хостинг
WordPress-хостинг за последние годы шагнул далеко вперёд в связи с большой популярностью этой CMS. Большие игроки вроде GoDaddy предлагают специализированный хостинг с предварительно настроенными опциями: ежедневным резервным копированием, автоматическим обновлением ядра WordPress, спам-фильтром, кэшированием, защитой от DDoS и вирусов.
Долгое время считалось, что виртуальный хостинг не рассчитан на серьёзную нагрузку. На самом деле серьёзность хостинга зависит от конкретного провайдера.
Многие компании научились оптимизировать свои серверы на всех уровнях так, что сайты на них способны выдерживать огромное количество трафика. Просто проведите своё маленькое исследование и выясните репутацию хостера перед тем, как доверить ему свой сайт.
Выбор темы
Выбор темы может иметь огромное значение в функционировании сайта. В высококачественной теме главное не то, как она выглядит, а то, как тщательно она свёрстана и насколько хорошо соответствует стандартам разработки для WordPress. При прочих равных стоит выбрать для своего сайта ту тему, которая активней обновляется и лучше поддерживается.
Функциональность темы также очень важна, поскольку правильно выбранная тема может сократить число необходимых плагинов.
Количество плагинов
На момент написания этой статьи в каталоге плагинов WordPress имелось 31 539 плагинов с суммарным количеством загрузок, равным 672 957 182. Конечно, такое количество полезностей не может не радовать разработчика или администратора сайта, желающего реализовать какую-либо конкретную функцию.
Но в то же время велик соблазн установить побольше крутых плагинов на случай, если они когда-нибудь понадобятся, и забыть об этом.
На добротно построенном сайте число установленных плагинов стремится к минимуму. Перед тем, как добавить на сайт очередную фичу, спросите себя, так ли она необходима для того, чтобы сайт выполнял свою работу.
Учтите, что WordPress достаточно функционален «как есть», и для многих задач он вовсе не требует установки никаких плагинов. Так что если сомневаетесь, не устанавливайте ничего.
Качество плагинов
Выбирайте плагины как можно более тщательно, не бойтесь потерять лишние 10 минут на этом этапе. Каталог плагинов WordPress предоставляет вам информацию, которая может помочь вам осуществить ваш выбор:
- рейтинг (от 1 до 5 звёзд);
- уведомление о том, что плагин не обновлялся в течение двух лет;
- количество загрузок;
- ссылку на форум поддержки;
- комментарии пользователей.
Устанавливайте только качественные плагины: с высоким рейтингом, большим количеством загрузок, с видимой активностью разработчиков и пользователей.
Содержите ваш сайт в чистоте и порядке
Управление сайтом подразумевает выполнение определённых регулярных действий. Вовремя устанавливайте обновления, связанные с безопасностью сайта. Ищите и исправляйте устаревшие ссылки. Просматривайте логи веб-сервера на предмет сбоев.
Спам в комментариях является типичным продуктом жизнедеятельности «чёрного SEO».
Боты постоянно ищут сайты, принимающие комментарии, и засоряют их сообщениями и ссылками ради достижения своих чёрных целей. Если не бороться с этим спамом, боты могут исчерпать ресурсы вашего сайта. Зачастую можно наблюдать в сети, заброшенные блоги, форумы и гостевые книги, заваленные тысячами однотипных комментариев.
Хорошей практикой является запрещение комментариев там, где они не нужны. Если они нужны, используйте встроенный в WordPress плагин Akismet или какой-либо сервис по защите от спама.
Если волна спама уже накрыла ваш сайт, есть плагины, которые помогут вам восстановить порядок:
Минимизация и комбинирование дополнительных файлов
Технологии JavaScript, CSS и Web Fonts делают Интернет более стильным и удобным, но они увеличивают размер страниц сайтов. Как видно из статистики, собранной HTTP Archive, размер страниц с июня 2013 по июнь 2014 года постоянно рос, в то время как количество запросов на страницу оставалось прежним:
Минимизация – это процесс удаления из файлов HTML, CSS и JavaScript пробелов и прочих символов, не используемых браузером при отображении страниц. Это уменьшает объём передаваемых данных.
Файлы могут быть объединены, чтобы уменьшить количество запросов, которые клиент отправляет на сервер, чтобы загрузить страницу. В результате уменьшаются накладные расходы, связанные с выполнением каждого запроса, и, как следствие, сокращается время загрузки сайта.
Существуют плагины, осуществляющие минимизацию и комбинирование ресурсов, например:
Сжатие изображений
Высококачественный контент – это то, что выделяет сайт из толпы. В то же время не мешает удостовериться, что контент отдаётся сервером в правильном формате и сжатым до минимально возможного объёма (там, где это не ухудшит впечатление, производимое на посетителя).
Есть несколько полезных плагинов, которые производят сжатие и адаптацию размера существующих и новых изображений в вашей медиатеке:
Обычно такие плагины работают только с медиатекой. Поэтому вам придётся также убедиться, что все остальные изображения, хранящиеся не в медиатеке, выдаются в правильном формате. Для иконок используйте спрайты или шрифты.
Техники предварительной и отложенной загрузки изображений, применяемые совместно с бесконечным скроллингом, создают иллюзию быстрой загрузки сайта. Не мешает изучить их, если вы строите или поддерживаете сайт с обилием тяжёлой графики.
Кэширование
Кэширование может значительно ускорить загрузку сайта. В наши дни его легко реализовать простой установкой плагина.
Кэширование в WordPress генерирует и отдаёт пользователю статические HTML-файлы вместо обращений к интерпретатору PHP и базе данных.
Помимо ускорения, кэширование также помогает сайту выдержать большой объём трафика. Кэширующих плагинов немного, и особенно популярны среди них:
Чтобы имитировать нагрузку на сайт и измерить производительность кэширования, можно воспользоваться следующими инструментами:
Вы можете создать простой тест, имитирующий 100 запросов в пяти одновременных соединениях, набрав в консоли:
$ ab -n 100 -c 5 http://example.com/
Сети доставки контента (Content Delivery Network – CDN)
Если ваш сайт постоянно получает большой объём трафика, и такие меры, как повышение производительности сервера и оптимизация сайта достигли своих пределов, то, возможно, пришла пора организовывать свою сеть доставки контента (CDN).
CDN подразумевает хранение статических ресурсов (изображений, скриптов, стилей и т. д.) в нескольких точках Сети, по возможности максимально удалённых друг от друга и приближенных к потребителям вашего контента.
В начале своего существования CDN был крайне дорог, и его могли позволить себе только Интернет-гиганты. Но сегодня существует несколько фирм, предоставляющих услуги CDN по весьма приемлемым ценам:
Организация CDN определённо стоит своих затрат, если ваша аудитория расположена по всему миру, либо ваш проект подразумевает много запросов к статике.
Настройка WordPress для использования CDN очень проста и сводится к указанию вашего аккаунта в CDN при настройке кеширующего плагина.
Заключение
Как видите, существует довольно много факторов, влияющих на производительность веб-сайта. Настройка производительности – это постоянный процесс мониторинга и внесения улучшений. Для поддержки живого, развивающегося веб-проекта необходимо постоянно вести исследование технических характеристик и качества использования сайта.
Ещё раз перечислим основные моменты этого процесса:
- выбор качественного хостинга;
- использование качественных тем и плагинов;
- тестирование производительности и выявление узких мест;
- использование только нужных плагинов;
- компрессия, минимизация, комбинирование;
- чистота и порядок на сайте;
- использование кэширования и распределённой загрузки.
Перевод статьи «Speed Up Your WordPress Site» был подготовлен дружной командой проекта Сайтостроение от А до Я.