Отличительной особенностью сайта на CMS WordPress является возможность устанавливать в систему плагины. Причем плагинов такое количество, их выбор настолько велик, что кажется, что существует плагин для решения любой проблемы.
Параллельно с развитием плагинов для сайтов на WordPress начала развиваться иллюзия, что плагины тормозят систему. Хотим сегодня рассмотреть эту тему подробнее, чтобы вместо мифологического взгляда на плагины в системе WordPress у вас появилось реальное восприятие и инструменты для анализа.
Первое, о чём стоит сказать — сайт не должен грузиться мгновенно. Существует некоторый коридор значений, в котором должна находиться скорость загрузки страницы со стороны пользователя.
Если страница грузится меньше чем за 150 мс, человеку кажется, что события происходит раньше его действия, например клика по ссылке. А если через 500-1000 мс пользователь не увидит загруженную страницу, то это начнет его раздражать.
Поэтому скорость загрузки страницы, которую запросил пользователь должна лежать в пределах 150-500 мс.
Что же влияет на скорость загрузки?
Серверная программная часть
Генерация страницы сайта на WordPress со стороны сервера это лишь одно из значений, которые мы будем анализировать. И здесь скорость загрузки плагинов имеет ключевое значение, так как плагины это часть сайта на WordPress.
Из-за распространенности сайтов, написанных на WordPress и отсутствии какой-либо системы качества для тем и плагинов и появилась данная проблема, плохо написанные плагины тормозят работу системы.
Для теста скорости генерации страницы воспользуемся плагином Code Profiler совместимый с нашей версией WordPress. Единственная сложность при установке плагина состояла в том, чтобы создать папку /wp-content/mu-plugins с возможность записи группы.
После полноценного запуска плагина получаем такую аналитику для главной страницы нашего сайта:
Здесь важно понимать, что Code Profiler выдал скорость загрузки каждого плагина в теме, вне зависимости от того, используется он или нет. На главной странцие нашего сайта плагин Smart Slider 3 не используется, поэтому суммарная скорость генерации страницы, по данным Code Profiler:
Обратите внимание на один важный момент, Code Profile имитирует запрос данных страницы с помощью браузера вместе со всеми его кешами, каждый раз аналитика будет немного разной по скорости отдачи. Данный фактор еще зависит от того, какова нагрузка на общий выделенный сервер:
Вы видите две аналитики, сделанные с разницей в 20 секунд. На основании этих данных можно с делать вывод, что мы работаем не с очень точными измерениями, зависящими от общей нагрузки на сервер, но для наших задач этого вполне хватит.
Вывод из аналики загрузки Сode Profiler очень интересные: тормозят не плагины, а сама тема. И в общем скорость генерации страницы в пределах нормы.
P.S: небольшая плюшка да WordPress 6.1.1 это окно измерения времени генерации страницы в верхнем меню: