Как найти плагин, который тормозит сайт WordPress | Мастерская — статьи по WordPress и серверам | de-bor.ru

Частный web-мастер Денис Борисов
WordPress-сайтов

Как найти плагин, который тормозит сайт WordPress

Скорость и оптимизация · 2026-07-29 · 7 мин чтения

Сайт грузится по 10 секунд, админка открывается минуту, а клиенты жалуются на зависания. Первое, на что грешат — хостинг. Но в 80% случаев причина даже не в хостинге, а в одном-двух плагинах, которые жрут ресурсы безбожно. Разберу 3 метода найти виновника — от простого к надёжному.

Медленный плагин можно вычислить за 15 минут. Query Monitor показывает нагрузку каждого плагина в реальном времени. Плагин с PHP Time >0.2с или Query Count >50 — кандидат на замену. Есть и ручной метод: включить отладку PHP (WP_DEBUG) и замерить время загрузки с каждым плагином по очереди. Третий — профилирование через Xdebug или Blackfire, но это для сложных случаев. Начните с первого.

Почему сайт тормозит: 4 главные причины

Сразу к делу Даже хороший хостинг не спасёт, если плагин делает 200 запросов к БД на каждой странице или грузит 15 скриптов в head. Beget, Timeweb, Reg.ru — у всех свои ограничения по памяти и MySQL, и плагин-тяжеловес выжмет любой тариф.

1. Жирные конструкторы страниц

Elementor, WPBakery, Divi — это уже не просто плагины, а фреймворки. Каждый добавляет свой слой поверх WordPress: свои шорткоды, свои таблицы в БД, свои стили и скрипты. Elementor с 10+ виджетами на странице легко генерирует 50-80 SQL-запросов. И это на странице, где можно обойтись чистым Gutenberg с 5 блоками.

2. Плагины с постоянной фоновой нагрузкой

Некоторые плагины не ждут, пока пользователь откроет страницу — они работают постоянно. Плагины бекапов проверяют расписание каждые 5 секунд. SEO-плагины пересчитывают счётчики. Кэширующие плагины сбрасывают кэш при каждом сохранении. Всё это — нагрузка на PHP и MySQL, которая суммируется.

3. Кэширующие плагины без настройки

Ирония: кэширующий плагин, который неправильно настроен, сам становится причиной тормозов. WP Super Cache без Preload Mode генерирует страницу для каждого посетителя. W3 Total Cache с включённой Database Cache без Memcached — молотит БД впустую. WP Rocket — хорош, но и он может конфликтовать с другими плагинами кэширования на хостинге.

4. Плагины с тяжёлыми внешними запросами

Если плагин при каждом открытии страницы стучится к внешнему API (Google Fonts, reCAPTCHA, аналитика соцсетей), а API отвечает с задержкой — страница будет грузиться, пока не получит ответ. Особенно критично для России: Google Fonts без CDN или кэша — гарантированный TTFB в 5+ секунд (об этом уже писал в статье Google Fonts не грузятся в РФ).

Метод 1: Query Monitor — 15 минут и готово

Query Monitor — бесплатный плагин, который показывает, что происходило на странице во время генерации. Он не добавляет нагрузку на сайт для обычных посетителей (админ-бар видите только вы).

Установка и первый запуск

  1. Установите Query Monitor через админку: Плагины → Добавить → найти Query Monitor.
  2. Активируйте — появится панель в админбаре (только для залогиненных админов).
  3. Откройте проблемную страницу (ту, что грузится дольше всего).
  4. Нажмите на цифру в админбаре — откроется детальная панель.
Что смотреть в Query Monitor Вкладка «PHP Time» — время выполнения PHP. Если какой-то плагин показывает >20% от общего времени — он главный подозреваемый. Вкладка «Queries» — количество SQL-запросов. Норма: 20-50 на простой странице. Если плагин генерирует 150+ запросов — проблема в нём.

Особенно часто тормозят: WooCommerce (на страницах без товаров — до 40 лишних запросов), Rank Math (если включены 100500 аналитических модулей), плагины мульти-язычности (каждый перевод — отдельный SQL).

Метод 2: Отладка через WP_DEBUG — без плагинов

Если не хотите ставить Query Monitor (или он сам конфликтует с сайтом), используйте ручной метод. Он точнее, но дольше.

Включаем отладку

Откройте wp-config.php (в корне WordPress, доступ через FTP или файловый менеджер хостинга). Найдите строку:

define('WP_DEBUG', false);

Замените на:

define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', false);
define('SCRIPT_DEBUG', true);
define('SAVEQUERIES', true);

Измеряем время

После включения отладки добавьте в footer.php вашей темы (перед закрывающим </body>):

<?php if (current_user_can('administrator')) {
  echo '<!-- Время: ' . timer_stop(0) . ' сек. Запросов: ' . get_num_queries() . ' -->';
} ?>

На Beget и других хостингах с Nginx этот код по-прежнему работает — он выполняется на стороне PHP, до передачи ответа.

Как изолировать плагин Отключите все плагины (можно через PHPMyAdmin в таблице wp_options, поле active_plugins — замените сериализованный массив на a:0:{}). Затем включайте по одному и замеряйте время. Если после включения конкретного плагина время загрузки подскочило с 0.3 до 2.5 секунд — вы нашли виновника.

Метод 3: Профилирование — для глубокой диагностики

Если Query Monitor и ручная отладка не дали результата, а сайт всё ещё тормозит — нужен профилировщик PHP. Это инструмент, который записывает каждый вызов функции и время её выполнения.

Бесплатные варианты:

  • Xdebug — установить на VPS через apt (на shared-хостингах вроде Beget, Timeweb не работает — нет доступа к php.ini).
  • Blackfire.io — есть модуль для PHP, работает поверх Xdebug. Платный, но с бесплатным лимитом.
  • PHP Built-in profiler (PHP 8.4+) — можно включить через php.ini: `zend_extension=tideways.so`. На Beget недоступно, но для VPS — вариант.
На shared-хостинге На Beget и Timeweb профилировщики не поставить — нет root. Единственный выход: скачать копию сайта локально (через Duplicator или вручную), развернуть на Local WP или Docker, подключить Xdebug и профилировать локально. Это час работы, но зато вы увидите всё до единого вызова.

Проверка результата

Как понять, что нашли и исправили
  1. Замерьте время загрузки до: PageSpeed Insights (любая метрика), GTmetrix (время полной загрузки), Query Monitor (PHP Time).
  2. Отключите/замените подозреваемый плагин.
  3. Замерьте время после — разница должна быть 30-200% (если плагин был реально проблемный).
  4. Проверьте контент страницы: ничего не сломалось? Если да — найдите альтернативу (аналог плагина с тем же функционалом, но легче).

Когда способ не сработает

Тормозит не PHP, а БД

Query Monitor показывает мало времени PHP, но много запросов. Проблема может быть в таблицах wp_options (мусор после удаления плагинов) или wp_postmeta (тысячи записей от WooCommerce). Решение: очистить ревизии, транзиенты и спам-комментарии — я уже писал как это сделать без плагинов.

Плагин не тормозит, а сайт еле дышит

Хостинг. На самом дешёвом тарифе Beget (или Timeweb) 2-4 сайта с WooCommerce могут упираться в 256MB памяти. Решение: миграция на VPS (FirstVDS, RUVDS от 500₽) или хотя бы смена тарифа.

Плагинов 50+, и каждый по чуть-чуть

Бывает, что нет одного жирного — каждый добавляет 0.05 сек и 3 запроса. Суммарно — 2.5 сек и 150 запросов. Тут поможет только аудит: пройтись по каждому плагину и решить — нужен ли он вообще. Часто оказывается, что 15 плагинов можно заменить куском кода в functions.php.

Тормозит внешний API/Script

Например, Google Fonts грузится через API и блокирует рендеринг. Query Monitor этого не покажет — это не PHP. Смотрите вкладку Network в Chrome DevTools. Решение: загружать шрифты локально, отключить внешние скрипты, где возможно.

Частые вопросы

FAQ

Query Monitor показывает Problem with plugins, но не называет конкретный
Откройте вкладку «Queries by component» — там плагины сгруппированы по количеству запросов. Плагин с самым большим числом запросов к БД — виновник. Если непонятно, сверьте с временем на вкладке «PHP Time».
Не могу установить Query Monitor — белый экран после активации
Конфликт с другим плагином. Войдите через FTP, переименуйте папку query-monitor в wp-content/plugins/query-monitor-old — плагин деактивируется. Затем включите WP_DEBUG, найдите ошибку в wp-content/debug.log. Чаще всего проблема в несовместимости с очень старыми версиями PHP (ниже 7.4).
Есть ли аналоги Query Monitor, если он сам тормозит?
Object Cache Pro покажет кэш, но не профилирование плагинов. Debug Bar от WordPress Contributors — старый, не обновлялся. Лучший аналог — Freesoul Deactivate Plugins (FDP), он отключает плагины постранично. Можно отключить все на тестовой странице и включать по одному.
Поможет ли перенос сайта на VPS, если проблема в плагинах?
На VPS (FirstVDS, RUVDS) вы получите выделенные ресурсы, но плагин с бесконечным циклом или 200 SQL-запросами всё равно будет тормозить. VPS поможет, если проблема именно в нехватке ресурсов на shared-хостинге. Если проблема в архитектуре плагина — VPS только отложит решение. Сначала найдите и замените плагин, а потом решайте про VPS.
Как проверить нагрузку плагина на сервер, если сайт лежит?
Зайдите в SSH (или попросите поддержку хостинга запустить top). Если сервер отвечает — посмотрите mysqltuner или выполните SHOW FULL PROCESSLIST в MySQL. Если видите один и тот же запрос сотни раз — это плагин. На Beget доступа к SSH нет на shared-тарифах — только через PHPMyAdmin и логи ошибок в разделе «Журнал ошибок» в панели управления.

Нужна помощь с оптимизацией WordPress?

Найду и устраню причину тормозов: заменю тяжёлые плагины, настрою кэш, оптимизирую БД. Результат — время загрузки до 2 секунд.

Написать в Написать в

Техническая оптимизация

Техническая оптимизация

Скорость, кэш, Core Web Vitals.

7.200

Подробнее
Сопровождение и поддержка сайта

Сопровождение и поддержка сайта

Мониторинг скорости и оптимизация.

от 5.400 ₽/мес

Подробнее

Разрабатываю WordPress-сайты

Лендинги, многостраничные сайты, интернет-магазины на WooCommerce — всё на WordPress с удобной панелью управления.

Сайт под ключ: регистрация домена и хостинга, установка WordPress, настройка шаблона и модулей.

Поддерживаю WordPress-сайты

Обновление плагинов и тем, резервное копирование, мониторинг работоспособности — сайт работает без сбоев.

Оперативное исправление ошибок, создание новых разделов, доработка функционала и наполнение контентом.

Продвигаю WordPress-сайты

SEO-оптимизация, настройка Яндекс Метрики и Вебмастера, подключение Google Search Console.

Оптимизация позволяет «поднять» сайт в поисковых выдачах, увеличить целевой трафик и привлечь новых клиентов.

Чистка от вирусов WordPress

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

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

Диагностика сайта

Проверю ваш сайт по ключевым параметрам и подготовлю отчёт с рекомендациями:

  • Скорость загрузки и производительность;
  • Безопасность и уязвимости;
  • SEO-состояние и индексация;
  • Мобильная адаптация;
  • Технические ошибки и код.
Заказать диагностику
Михайлова Анастасия

Денис МАСТЕР своего дела. Вёл целый проект, работали с ним на протяжении 4х месяцев. Отзывчивый, понимающий с полуслова специалист. Стоимость услуг радует, а качество работы приводит в восторг.

Денис спасибо Вам от лица нашей строительной компании и от всего нашего персонала.

Михайлова Анастасия

Игорь Караваев

Обратился к Денису для восстановления сайта на WordPress после сбоя. Сделал, как и обещал, за сутки — сайт снова работает без ошибок. Профессионал своего дела, доходчиво объясняет, вежлив и тактичен. Однозначно рекомендую!

Игорь Караваев

Яна Веркулич

Денис, спасибо огромное за работу)) Очень тепло вспоминаю Вас и все что Вы сделали для моей работы и моего сайта.

Денис Профессионал с большой буквы, решает любые вопросы, отличный специалист))

Рекомендую к сотрудничеству, еще раз спасибо)

Яна Веркулич

Бюро Переводов

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

Бюро Переводов

Анастасия Виричева

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

Делал сайт для салона красоты, просто и функционально.

Анастасия Виричева

Владимир

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

Денис сделал это в два счета, также расписал подробно, в чем была проблема и как она решена. На 200% доволен. Даже не хочется его рекомендовать, потому что будет постоянно занят))

Владимир

Ксения Петровская

Денис оперативно ответил и помог решить проблему, которую я даже описать нормально не могла)) Мы сами что-то накрутили с корпоративной почтой — письма то уходили, то нет, в общем всё сломали.

Денис всё починил, теперь у нас нормальная почта, домен работает, письма приходят и уходят. Цена как заявлена — оплатили по факту проверки. Спасибо большое!

Ксения Петровская

Александр Кривуля

Заказал у Дениса доработать сайт на WordPress. При этом трудно себе представлял, что сам хочу. Благодаря профессионализму Дениса и его умению всё грамотно и просто объяснять, предлагать разные варианты решений — цель была достигнута.

Умение общаться доходчиво и терпеливо с клиентами — огромный плюс. Я очень доволен. Однозначно рекомендую!

Александр Кривуля

Кондитер мания

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

Кондитер мания

Бесплатная настройка хостинга и домена

Регистрация хостинга на 1 месяц и домена .ru/.рф на 1 год входит в стоимость разработки сайта.

Подробнее