Оптимизация Wordpress

Оптимизация и ускорение работы сайта важны не только как элемент удержания пользователей (пользователь вероятнее покинет сайт, который работает медленно), но и для SEO — Google рассматривает скорость загрузки страниц как один из факторов ранжирования в поисковой выдаче.

В статье мы рассмотрим несколько основных мер, которые стоит принять, чтобы улучшить производительность сайта на Wordpress и скорость его работы.

Кэширование

Кэширование — важный элемент в ускорении работы вашего сайта. Благодаря кэшированию пользователь получает доступ к данным максимально быстро, без необходимости формировать запрос к базе и серверу заново.

Реализовать кэширование проще всего с помощью специальных плагинов, например: 

Рассмотрим настройку кэширования на примере WP Fastest Cache. Скачайте и активируйте плагин, после чего кликните на его имя в меню слева, чтобы перейти к настройкам. 

На вкладке «Настройки» включите следующие опции:

D3fe6dac 5f7d 4eec B86c 21bb0faf7f13

  • Кэширование

Включает кэширование сайта.

  • Предподготовка

Файлы кэшируются после того, как пользователь впервые посещает страницу, что означает, что для данного пользователя загрузка займет больше времени, так как кэш пока отсутствует. Включение опции «Предпоготовка» запускает периодическое создание кэша основных элементов, что значительно ускоряет время будущих загрузок.

В открывшемся окне настроек отметьте те элементы, которые вы хотели бы кэшировать таким образом, например:

E7a5a467 7439 40e6 9547 Ac433ad1ba2a

Параметр pages per minute на виртуальном хостинге рекомендуется устанавливать в пределах от 4 до 6. Если вы используете виртуальный сервер, можно увеличить значение до 10-12.

  • Новая запись и Обновление записи

При использовании кэширования пользователи какое-то время видят устаревшие данные на сайте, так как для них подгружается сохраненная копия из кэша. Чтобы при добавлении новой записи или ее обновлении пользователям сразу была доступна актуальная версия, отметьте эти опции. При публикации или изменении записи кэш будет сброшен, и для пользователей загрузятся актуальные данные.

В окне настройки для обеих опций можно выбрать второй вариант (сбрасывать кэш только домашней страницы, записей и пр. вместо сброса всего кэша целиком).

3a66bde5 C497 437c 9822 69309db3b119

  • Компрессия Gzip

Чем меньше объем загружаемых данных, тем быстрее загружается страница. Сжатие Gzip позволяет уменьшить размер получаемых от сервера данных и улучшить время загрузки. Вы можете включить сжатие Gzip в данном плагине либо использовать отдельный плагин для этого (см. ниже «Сжатие Gzip»), но не используйте то и другое одновременно.

  • Кэш в браузере

Позволяет сохранять в кэше браузера стандартные элементы страницы, которые подгружаются каждый раз при ее посещении (CSS, JS и пр.). Благодаря этому браузер не загружает эти элементы каждый раз заново, а значит время загрузки страницы сокращается.

На вкладке «Очистка кэша» рекомендуем включить периодический сброс кэша, чтобы не переполнять пространство аккаунта сохраненными данными. Для этого кликните на Add New Rule и в открывшемся окне укажите нужные параметры. В поле «If REQUEST_URI» выберите «Все», а ниже — подходящий вам интервал удаления данных и время выполнения действия. Оптимальный вариант — удаление кэша раз в сутки / раз в три дня. Например:

Ce6738ac B678 47f4 A3e4 707814186c21

Вы можете использовать и другие опции плагина. Информацию о каждой из них можно найти, кликнув на значок вопроса рядом с опцией. Имеет смысл включать их последовательно и проверять работу сайта ориентировочно в течение суток, чтобы вовремя отследить нежелательный эффект, если он возникнет, и отключить конкретную опцию.

Сжатие Gzip

Сжатие Gzip позволяет уменьшить размер контента, который отдается сервером при обращении пользователя к сайту. Благодаря этому значительно снижается время загрузки страницы (иногда до двух раз). 

Чтобы включить сжатие Gzip, можно активировать эту опцию в используемом вами кэширующем плагине (большинство из них обладают этой функцией) либо воспользоваться одним из специальных плагинов, например:

Как уже упоминалось, не используйте обе возможности сжатия одновременно (в отдельном плагине и в плагине для кэширования), так как это может привести к ошибкам в работе Wordpress.

Оптимизация базы данных и удаление ревизий

При сохранении поста или страницы, Wordpress сохраняет новую версию в базе данных (это касается, в том числе, черновиков и промежуточных сохранений при редактировании). Также в базе сохраняются все комментарии, страницы в корзине и так далее. Чем сильнее разрастается база, тем медленнее будет работать сайт. 

Для оптимизации базы и удаления ненужных данных можно воспользоваться одним из следующих плагинов:

Предварительно рекомендуем создать резервную копию базы данных.

Количество ревизий (т.е. версий постов, черновиков) можно также ограничить с помощью файла wp-config.php, не прибегая к установке плагина. Для этого нужно добавить в файл сразу после <?php строку:

define( ‘WP_POST_REVISIONS’, 5 );

В данном случае будет разрешено хранить не более 5 ревизий.

Оптимизация изображений

Сайт с красивыми и качественными изображениями выглядит привлекательным для пользователей, однако важно помнить, что большое количество «тяжелых» изображений будет негативно сказываться на скорости загрузки сайта. Важно найти баланс: качество изображения при небольшом размере. В этом помогут плагины для оптимизации изображений, например:

Также можно заняться оптимизацией вручную, сохраняя изображения в нужном размере и формате перед загрузкой их на сайт. Стоит сделать выбор в пользу формата .jpg или .jpeg для больших изображений, так как .png будет занимать очень много места. Его можно использовать для графики в оформлении сайта, иконок, кнопок и пр. 

При отсутствии специального ПО для работы с изображениями можно воспользоваться любым онлайн-сервисом в сети, позволяющим решать подобные задачи.

Минимизация JS и CSS

На скорость загрузки сайта может влиять неоптимизированный код. Как минимум, стоит избавиться от лишних пробелов, пустых строк, комментариев и разметке блоков в файлах JavaScript, CSS и HTML. В этом могут помочь такие плагины, как:

Как и в случае с Gzip-сжатием, выберите для этой задачи либо функционал отдельного плагина, либо опцию сжатия CSS/JS в кэширующем плагине (W3 Total Cache и WP Fastest Cache имеют эти возможности) — не используйте то и другое одновременно. Также не используйте одновременно несколько плагинов с идентичным функционалом.

Почистить код от комментариев можно и вручную: комментарии в коде сайта отмечаются тэгами <!-код-> и /*код/.

Отключение лишних плагинов

Сильно нагружать сайт и увеличивать время загрузки могут сами плагины. 

За время работы с Wordpress мы часто устанавливаем и активируем множество плагинов для решения разных задач. Каждый из этих плагинов отнимает часть ресурсов, что в итоге негативно влияет на работу сайта.

Рекомендуем просмотреть список установленных плагинов и проверить:

  • Действительно ли используется каждый плагин? Возможно, часть из них уже не нужны, и их можно удалить.
  • Действительно ли плагин используется постоянно? Если к плагину требуется обращаться только иногда, имеет смысл деактивировать его на тот период, пока он не используется.

Также стоит проверить ресурсоемкость плагинов. Для этого можно воспользоваться плагином:

Установите и активируйте плагин, после чего перейдите на сайте и пролистайте его страницы (главную страницу и разделы, где наблюдается медленная работа). В верхнем меню будет отображаться скорость загрузки. Наведите курсор на этот элемент и в выпадающем меню выберите «SQL-запросы». В столбце «Компонент» выберите пункт «Не-ядро».

7ceef5e6 D3f6 4c88 9897 7cce529024bd

Вы увидите список запросов к базе от разных плагинов и скорость выполнения запросов. Проверьте, все ли из указанных плагинов вам нужны, удалите или деактивируйте ненужные. Если плагин, вызывающий медленную работу, вам необходим, попробуйте найти аналогичный и протестировать его работу на вашем сайте.

После завершения работы с Query Monitor не забудьте деактивировать или удалить плагин, чтобы не нагружать сайт.