Чем медленнее сайт, тем меньше людей готовы им пользоваться. А чем меньше пользователей — тем меньше трафика и конверсий. Всё это показывают исследования Amazon, Walmart, Akamai и Aberdeen Group.
Основной виновник медленной загрузки сайта — HTTP-запросы. Браузер отправляет такой запрос на каждый элемент страницы. Причем запросы отправляются не все сразу, а по одному. Поэтому, чем больше на странице элементов (изображений, музыки и т.д.) — тем дольше загрузка.
Более подробно изучить почему это происходит, можно в статье «9 способов ускорить загрузку сайта». Там я разобрал основные причины медленной загрузки и теорию борьбы с ними.
Особенности оптимизации WordPress
WordPress изначально неплохо оптимизирован. Но чем больше на сайте контента — тем медленнее становится сайт. Поэтому, давайте разберем несколько советов и техник, которые помогут сайту не замедлиться со временем или даже вернуть былую скорость.
Пользуйтесь кэшированием
У каждого сайта есть элементы, которые повторяются на каждой странице. Например, логотип. Или основной CSS. Пользователю просто нет смысла каждый раз загружать эти элементы заново, удлиняя загрузку.
На помощь приходит кэширование. Кэширование — это копирование некоторых элементов сайта на компьютере пользователя. Когда на компьютере есть кэш, браузер пользователя не скачивает эти элементы заново, а подгружает их из кэша. Запросов на сайт уходит намного меньше, поэтому страница загружается быстрее.
Можно ускорить и загрузку сайта на сервере. Дело в том, что хостинг, на котором расположен сайт, не хранит веб-страницы сами по себе. Он хранит PHP-скрипты, из которых при запросе собираются страницы. Делается это для экономии места на хостинге, но платить за это приходится временем, которое уходит на создание страницы.
Но если включить на хостинге суперкэширование, то он соберет все страницы и сохранит их в отдельную папку. Страницы будут занимать больше места, но серверу больше не нужно будет их постоянно собирать. А значит, загрузка сайта ускорится.
ВАЖНО. Несмотря на все преимущества кэширования, с ним нужно быть осторожным. Когда меняется элемент, для которого у пользователя уже есть кеш, пользователь не видит этих изменений, пока кэш не обновится. Поэтому, если вы регулярно обновляете, например, шапку сайта — лучше отключить для неё кеширование.
Лучший плагин для кэширования и суперкэширования — WP Super Cache. Он автоматически определяет, какие элементы страницы стоит кешировать и какой метод для этого лучше использовать.
Вот настройки WP Super Cache, которые я использую на своём сайте:
Переключение метода доставки кеша в режим Эксперт дало бы мне небольшой прирост в скорости загрузки сайта, но для этого нужно редактировать конфигурационные файлы хостинга. Я не рекомендую заниматься этим без особой нужды.
Сделайте постепенную загрузку
Обычно, браузер сначала полностью загружает страницу и только потом показывает её пользователю. Но это занимает много времени, и если на странице много контента, то пользователь может закрыть страницу еще до загрузки.
Решение — постепенная (или «ленивая») загрузка. В этом случае браузер быстро загружает только те элементы страницы, которые будут видны пользователю прямо сейчас. Всё остальное подгружается по мере надобности. И хотя общее время загрузки страницы становится немного дольше, пользователь видит страницу сразу же, а не ждет, пока загрузятся картинки в самом низу страницы.
Для включения постепенной загрузки нужен специальный плагин Rocket Lazy Load. Просто установите, активируйте его и поставьте две галочки в настройках.

Объедините стили и скрипты
JavaScript и CSS — основа современного веб-дизайна. Но многие вебмастера не умеют ими пользоваться и встраивают их прямо в код страницы, а не в отдельный файл. Сервер тратит на обработку таких стилей больше ресурсов, а код страницы становится нечитаемым.
Лучшее решение проблемы — писать хороший код. Но если у вас уже есть сайт, на котором используются встроенные CSS и JavaScript — вам нужно его оптимизировать.
Лучше всего сделать это вручную — нужно будет переписать код темы WordPress, а также всех страниц, на которых используются встроенные элементы. Но если вы незнакомы с CSS, HTML и JavaScript, а нанять специалиста нет возможности — можно обойтись специальным плагином.
Я для таких целей использую Merge + Minify + Refresh. Этот плагин автоматически проверяет все страницы на вашем сайте и объединяет скрипты и стили.
В плагине есть несколько интересных настроек, но если вы не разбираетесь в принципах работы HTTP и настройках вашего хостинга — лучше их не менять. Просто установите и активируйте плагин, всё остальное он сделает сам.
Отключите хотлинкинг
Что вы делаете, когда находите в интернете забавную картинку и хотите поставить её на свой сайт? Правильно было бы скачать изображение на свой сайт и только потом делиться им с миром. Как-то так:
<img src="image.jpg" height="1080" width="1920">
Но большинство просто кликает правой кнопкой на картинке, копирует ее адрес и постит картинку с этим адресом на своём сайте. Примерно так:
<img src="http://somebodyswebsite.com/image.jpg" height="1080" width="1920">
Каждый раз, когда на сайт заходят пользователи, картинка подгружается со своего «родного» сервера. А сайт, на котором картинка на самом деле находится, от этого работает медленнее.
Это называется хотлинкинг и считается нарушением этикета сайтостроителей. Чтобы никто не мог делать прямые ссылки на ваши медиафайлы, нужно отключить поддержку хотлинкинга. Если хотят поделиться — пусть кидают ссылку на сайт и поднимают вам число посетителей.
Существуют специальные хостинги изображений. Например, Imgur. Делать хотлинки с них — можно. Поэтому, если у вас на хостинге мало места, а картинкой поделиться хочется — загружайте ее на Imgur и постите ссылку оттуда.
Для защиты своего сайта от неэтичного поведения, я использую All-In-One WP Security and Firewall. Это легкий, но многофункциональный плагин, который защищает от брутфорс-атак, помогает обезопасить аккаунты пользователей, блокирует соединения с уже известными взломщиками и защищает от хотлинкинга.
В настройках All-In-One WP Security and Firewall, защита от хотлинкинга включается в Файрвол > Предотвратить хотлинки:
Но я советую пройтись по всем меню этого плагина и включить рекомендованные разработчиком настройки.
Оптимизируйте базу данных
База данных — это вся информация о вашем сайте. В ней хранится содержимое постов, комментарии, настройки и много чего еще. При желании, сайт можно восстановить только из базы данных и потеряются только медиафайлы, которые хранились прямо на хостинге.
Но есть проблема. База данных WordPress растёт со временем и заполняется мусором. А чем больше база данных — тем медленнее работает сайт.
Я решаю эту проблему с помощью плагина Advanced Database Cleaner. Этот плагин удаляет:
- Старые ревизии и черновики постов.
- Неодобренные комментарии, спам-комментарии и комментарии в корзине.
- Неиспользуемые теги и метаданные — например, от удаленных постов или комментов.
Больше всего мне нравится возможность запланировать очистку:
Платная версия еще умеет удалять «мусорные» значения, оставшиеся от уже удаленных плагинов и тем. Но я и так очень осторожно отношусь к плагинам и не устанавливаю ничего, что мне не нужно.
Пользуйтесь только проверенными темами
Движок тем WordPress предоставляет вебмастеру множество возможностей. С ним, сайту можно придать любой дизайн, а потом опубликовать этот дизайн в интернете, для всех. Но не всё так радужно — тема не только придаёт сайту атмосферу и колорит, но еще и часто служит основной причиной медленной загрузки.
У меня есть два правила при подборе темы для сайта:
- Бойтесь тем от новичков. В WordPress нет «защиты от дурака». То есть ничто не мешает автору темы использовать полноразмерные изображения вместо CSS-элементов, вставлять скрипты прямо в код темы и просто забыть про оптимизацию своего творения. Перед выбором темы, я не только смотрю на скриншоты, но и читаю отзывы. И если другие пользователи недовольны скоростью работы темы — я лучше пройду мимо.
- Не идите на поводу у финтифлюшек. Любая красивая анимация интересна только первые раза два. Потом пользователям становится всё равно, как именно у вас раскрывается меню — они же на сайт пришли за контентом, а не на меню смотреть.
Если декоративные элементы слишком сильно замедляют сайт — смело убирайте их, как бы красиво они не выглядели.
Удалите все ненужные плагины
Плагины — это дополнения для WordPress. А значит, на их работу уходят дополнительные ресурсы. Чем больше плагинов — тем больше ресурсов на их работу.
Поэтому, плагины — зло. Даже несмотря на то, что я сам предлагаю вам установить несколько плагинов. Просто положительный эффект плагинов, которые я рекомендую, выше чем отрицательный.
И если вы можете обойтись без какого-либо плагина — он вам не нужен. Особенно это касается плагинов, которые добавляют на сайт анимацию и прочие декоративные элементы.
Проверить, насколько сильно плагин замедляет загрузку сайта, можно с помощью Plugin Performance Profiler.
Подключите CDN
CDN — это сеть распространения контента, которая ускоряет загрузку вашего сайта у пользователей из других стран.
CDN не поможет, если ваш сайт тормозит сам по себе. Но если вы продвигаете свой ресурс за границу, CDN — лучшее возможное решение.
Самая популярная CDN — CloudFlare. Ее обзор, а также инструкцию по подключению к WordPress, можно прочитать в статье «Что такое Cloudflare и как оно ускоряет загрузку сайта».
Наконец, можно признать поражение и просто перейти на более мощный тариф хостинга. Или сразу на VPS, если сайт настолько сильно загружен. Но прежде чем вкладывать в решение деньги, попробуйте сначала оптимизировать сайт. Поверьте, результаты вас удивят.






