Несколько причин медленной работы сайта на примере Wordpress

27 мая 2019
4571
php
wordpress

Некоторые владельцы сайтов сталкиваются с ситуациями, когда сайт загружается медленно.

Существует множество способов оценки скорости работы сайта. Одними из самых популярных в Рунете являются сервисы Google Pagespeed Insights и Яндекс Вебмастер.

К примеру, вот такое письмо присылает Яндекс Вебмастер, если обнаруживает медленную работу сайта:

При обращении к серверу среднее время ответа превышает 3 секунды.
Долгая загрузка страниц затрудняет работу с сайтом имя_сайта.
Проверьте ответ сервера и при необходимости обратитесь к хостинг-провайдеру.
Перейдите в раздел диагностики, чтобы узнать обо всех известных Яндексу проблемах сайта.
С уважением, роботы Яндекс.Вебмастера

А Google Pagespeed Insights при медленной работе сайта часто указывает на такой параметр как Время до получения первого байта (TTFB). TTFB - это количество времени, которое требуется браузеру для создания соединения с сервером и начала загрузки содержимого сайта.

Таким образом, чем TTFB меньше, тем лучше. Для начала рассмотрим какие вообще происходит запрос от клиента к серверу хостинга.

Как происходят запросы от браузера клиента до сервера хостинга

На скорость загрузки сайта может существенно влиять любой из указанных ниже параметров:

1. Запрос к серверу. Когда кто-то посещает ваш сайт, первое, что происходит это отправка HTTP-запроса от клиента (браузера) на сервер. Медленное время ответа от DNS может увеличить время запроса. Если сервер расположен географически далеко, это тоже может привести к задержке. Кроме того, если у посетителя вашего сайта есть сложные правила брандмауэра, это может увеличить время маршрутизации. И не забывайте скорость интернета посетителя.

2. Серверная обработка. После того, как запрос был получен, сервер должен обработать его и сгенерировать ответ. Несколько причин задержек:

  • медленные или не оптимальные вызовы к базе данных
  • слишком много сторонних скриптов
  • отсутствие кэширования вашего первого ответа
  • повышенная нагрузка на сервере хостинга
  • плохо оптимизированный код расширения или темы оформления

3. Ответ клиенту. После того, как сервер обработает запрос, он должен отправить его обратно клиенту (или, вернее, отправить первый байт). На это сильно влияет как скорость сети сервера, так и клиента. Если у клиента медленный интернет из точки доступа Wi-Fi, то это скажется на TTFB.

Несколько примеров из нашего опыта

Ваш сайт может обращаться к стороннему ресурсу и ожидать ответа от него.

В нашей практике встречались сайты, которые использовали GeoIP сервисы (позволяют определить город и страну посетителя сайта по IP адресу). При этом база GeoIP размещалась на каких-либо серверах у другого хостинг провайдера. Сайт работал быстро, когда удаленный сервер быстро отвечал на запросы, однако замедление ответа от GeoIP сервера замедляло и открытие самого сайта.

Кроме GeoIP с такими же сложностями могут столкнуться пользователи, установившие у себя на сайте некорректно написанные плагины. Это могут быть, например, форма обратного звонка или виджет социальной сети.

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

Также в Wordpress имеется множество модулей, позволяющих ускорить работу сайта за счет кэширования. Мы выбрали несколько из них и написали статьи о том, как можно подключить эти модули: - WP-FFPC и memcached https://www.netangels.ru/support/cloud-hosting/memcache-wordpress/ - W3 Total Cache и redis https://www.netangels.ru/support/cloud-hosting/redis-cache-wordpress/

Также если ваш сайт работает на PHP 5.x, то можно попробовать переключить сайт на более новую версию PHP из ветки 7.x или 8.x. При смене версии PHP нужно учитывать, что код сайта должен быть совместиммым с выбранной версией PHP.

Рекомендуемые статьи:

Мы используем файлы cookie для предоставления наших услуг, а также для аналитики и маркетинга. Продолжая просматривать наш веб-сайт, вы соглашаетесь на использование нами файлов cookie.
ОК