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

1. Отображение используемых ресурсов.

Для того чтобы узнать количество потребляемых ресурсов сайтом, необходимо в footer (footer.php в редакторе)

Screenshot at 21.10.16_06-47-04

Screenshot at 21.10.16_06-49-13

Перед закрывающим тегом </body> вставить следующий код:

<?php if ( current_user_can( 'manage_options' ) ) { ?>
<div style="position:fixed;top:50px;left:5px;padding:5px;font-size:11px;color:#fff;background:#000;">
<?php timer_stop(1); ?> /
<?php echo get_num_queries(); ?> /
<?php if (function_exists('memory_get_usage')) echo round(memory_get_usage()/1024/1024, 2) . 'MB'; ?>
</div>
<?php } ?>

Данный код отображает блок

Screenshot at 21.10.16_07-25-19

В котором можно увидеть:

  1. Время отрисовки страницы (1,262).
  2. Запросы к БД (39).
  3. Количество оперативной памяти (62.65MB) затраченное на открытие страницы.

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

В случае если на подобный сайт зайдёт одновременно 5-10 пользователей, то скорее всего аккаунт достигнет лимитов (в зависимости от тарифного плана) по оперативной памяти и будет отображена 500 или 508 ошибка.

2. Счётчики и метрики.

В том случае если Вы используете на своём сайте счётчики для сбора метрик от Яндекс, Google и т.п. Вам необходимо сравнить названия сайтов в WordPress и в настройках метрики. Это необходимо для того чтобы исключить перенаправления с адреса с www на адрес без www и наоборот. Это перенаправление так же использует системные ресурсы отведённые Вашему аккаунту.

Адрес сайта указывается в настройках WordPress

Screenshot at 21.10.16_07-42-48

То есть адрес в настройках сервисов сбора метрик, должен совпадать с адресом который указан в настройках WordPress.

3. Включение защиты от частых запросов.

В панели управления ISPmanager 5 есть возможность включить защиту от частых запросов. Эта защита может снизить потребление системных ресурсов аккаунтом. Для включения защиты, Вам необходимо войти в панель управления хостингом ISPmanager, перейти на вкладку «WWW-домены» и выбрать необходимый домен путём нажатия на него два раза. В отобразившемся окне необходимо отметить галочкой пункт: ««

Screenshot at 25.10.16_05-24-32

И после этого необходимо настроить количество запросов в секунду и размер всплеска

Screenshot at 25.10.16_05-34-31

Информация со страницы «Модуль ngx_http_limit_req_module«: «Если скорость поступления запросов превышает описанную в настройке, то их обработка задерживается так, чтобы запросы обрабатывались с заданной скоростью. Избыточные запросы задерживаются до тех пор, пока их число не превысит максимальный размер всплеска. При превышении запрос завершается с ошибкой 503 (Service Temporarily Unavailable).«

4. Плагины.

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

Узнать какие из плагинов нагружают сайт и тем самым потребляют системные ресурсы, можно при помощи плагина P3 (Plugin Performance Profiler). Установить его можно при помощи меню «Плагины» в административной панели CMS. Для этого выберите «Добавить новый», в строке поиска введите «P3″и нажмите Enter

Screenshot at 25.10.16_05-56-30

И нажатием кнопки «Установить», установите его

Screenshot at 25.10.16_05-55-37

После установки его необходимо активировать. Для этого нажмите кнопку «Активировать» в списке плагинов

Screenshot at 25.10.16_05-54-05

Для того чтобы начать проверку, в списке плагинов нажмите кнопку «Scan Now»

Screenshot at 25.10.16_05-58-17

Вы будете перемещены на страницу, на которой необходимо нажать «Start Scan»

Screenshot at 25.10.16_05-59-50

И далее нажать «Auto Scan»

Screenshot at 25.10.16_06-00-48

Начнётся сканирование

Screenshot at 25.10.16_06-02-09

И после завершения будет отображено сообщение о том что сканирование завершено. Нужно нажать «View Results»

Screenshot at 25.10.16_06-03-50

После нажатия, Вы будете перемещены на страницу с результатами сканирования. На этой странице Вы можете увидеть:

  • Количество активных плагинов (4)
  • Время загрузки плагинов (0.009)
  • Процент времени загрузки плагинов, от общего времени загрузки страницы (5.3%)
  • Количество запросов к MySQL за одно посещение (30)

Screenshot at 25.10.16_06-05-50

На диаграмме видно какой из плагинов больше всего использует времени на загрузку.

Прошу заметить что у Вас список плагинов, а так же время загрузки, может отличаться от тех, которые указаны на скриншотах!

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

Отключить плагин можно так же, как Вы его активировали. Для этого перейдите в пункт «Плагины» далее «Установленные» и нажмите кнопку «Деактивировать»

Screenshot at 25.10.16_06-18-30

Так же рекомендуется отключить плагины и\или виджеты отображающие популярные статьи и рубрики. Эти плагины и\или виджеты при своей отрисовке так же создают дополнительные запросы к БД. Рекомендуем Вам добавить виджет «Текст» и самостоятельно добавить ссылки на рубрики и популярные статьи используя тег Тег <a>.

Так как WordPress блоги подвержены частому спаму в комментариях, рекомендуется использовать какой-либо плагин для того чтобы комментарии можно было оставлять только после ввода капчи. Например, можно использовать плагин «Captcha by BestWebSoft» он очень маленький и лёгкий в настройке.

Для оптимизации информации в БД, рекомендуем запускать раз в неделю плагин «WP-Optimize» и после выполнения отключать его в разделе «Плагины».

5. CSS, JS и изображения.

В оптимизации вышеуказанного, очень поможет PageSpeed Insights от Google. При открытии страницы Вы увидите поле в которое необходимо ввести адрес Вашего сайта и нажать «Анализировать». После того как анализ будет закончен, если сервис найдет на Вашем сайте изображения, CSS или JS код который можно оптимизировать, он предложит Вам скачать их

Screenshot at 18.11.16_03-15-29

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

Так же для оптимизации изображений можно использовать плагин «WP Smush». Рекомендуем Вам действовать с этим плагином так же, как и с любыми другими плагинами по оптимизации, то есть установить его, поработать с ним, и деактивировать его в разделе «Плагины».

Теги: