Как ускорить работу сайта на WordPress. Часть 2

Продолжаем рассказывать об ускорении загрузки сайта на WordPress. Первая часть здесь.

6. Настройка в wp-config.php

Для уменьшения подгрузки ненужных настроек локализации можно в файле wp-config.php изменить строку:

define ('WPLANG', 'ru_RU');

на такую:

if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) define ('WPLANG', 'ru_RU'); else define ('WPLANG', 'ru_RU_lite');

7. Настройка robots.txt

Если у вас не настроены параметры индексирования в этом файле, то закрыв от индексации служебные папки вы сможете существенно снизить нагрузку на хостинг и повысить защиту сайта от взлома через попадание чувствительных данных в поисковый индекс. Наиболее правильное содержимое файла robots.txt для WordPress мы разместили по ссылке, чтобы не загромождать эту статью.

8. Настройка в файле .htaccess

  • Запрещаем отображать изображения с вашего сайта на других ресурсах, тем самым разгружаем сервер:
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?undsoft\.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.net/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?feedburner\.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mail\.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?poisk\.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?hostpro\.ua/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^$ [NC]
    RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]
  • Включаем кэширование CSS, JS и прочей статики — код по ссылке.
  • Включаем gzip-сжатие — код по ссылке.
  • Блокируем отправку спам-комментариев, минуя форму отправки:
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
    RewriteCond %{HTTP_REFERER} !.*hostpro.ua.* [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Внимание! Поменяйте везде имя домена с hostpro.ua на ваше.

9. Отключение пингбеков и трекбеков

Пингбеки и трекбеки — это уведомления, получаемые вашим WordPress, когда на другом сайте упоминается ваш сайт и наоборот.

Отключение данных уведомлений не повредит и позволит снизить нагрузку на сервер.

Для отключения перейдите в Настройки — Обсуждения и снимите два чек-бокса: “Пытаться оповестить блоги, упоминаемые в статье” и “Разрешить оповещения с других блогов (уведомления и обратные ссылки) на новые статьи” и сохраните изменения.

10. Кэширующий плагин

Хороший плагин для кэширования представляет собой очень мощный инструмент для оптимизации и ускорения вашего WordPress. Обычно ним можно заменить настройки кэширования и сжатия в .htaccess, поскольку он сам пропишет необходимые директивы автоматически. Также в нем есть инструменты кэширования запросов в базу данных и интеграция с CDN. Мы рекомендуем два лучших по нашему мнению плагина — W3 Total Cache и LiteSpeed Cache. Тонкая настройка каждого из них – тема отдельных статей, которые скоро обязательно появятся. LiteSpeed Cache рекомендуем использовать на наших тарифах WordPress-хостинга вместе с веб-сервером LiteSpeed, а W3 Total Cache – во всех остальных случаях.

Дополнительно

Еще несколько советов по ускорению загрузки:

  • Старайтесь не использовать или использовать по минимуму кнопки и виджеты социальных сетей, особенно скрипты Вконтакте и Одноклассников, которые блокируются на территории Украины. Помните, что любые внешние скрипты требуют дополнительного времени на загрузку.
  • Если нужно отключить комментирование, не делайте это плагином, который будет нагружать систему. Достаточно удалить из файла темы single.php строчку:
    <?php comments_template(); ?>
  • Подключайте все дополнительные скрипты, такие как счетчики или GoogleAnalytics, в конце, то есть непосредственно перед тегом </body>. Тогда выполнение скриптов не будет блокировать загрузку контента.

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