Зафиксировать обновление
Какие версии плагинов, темы, WordPress или PHP поменялись.
Практическая диагностика · WordPress
Если сайт замедлился сразу после обновления, не нужно начинать с абстрактной «оптимизации». Сначала связываем изменение с конкретным компонентом: плагином, темой, PHP, базой, кешем или внешним API.
Быстрый маршрут
Нам важна точка до/после: что изменилось и какие страницы стали медленнее.
Какие версии плагинов, темы, WordPress или PHP поменялись.
Медленно всё или только админка, каталог, поиск, checkout.
Если HTML приходит медленно, проблема чаще на backend.
CPU, RAM, MySQL, PHP-FPM и фоновые процессы.
Новый плагин может ждать API, лицензирование или SMTP.
Шаг 1
Обновление может затронуть десятки пакетов. Фиксируем версии до и после, время deploy и наличие изменений PHP/MySQL. Если есть snapshot, он помогает сравнить без догадок.
Особенно полезно знать, началась ли проблема после обновления одного плагина или после общего автообновления ночью.
Шаг 2
Если TTFB вырос с условных сотен миллисекунд до нескольких секунд, ищем PHP, базу, кеш и внешние вызовы. Если HTML приходит быстро, а страница зависает в браузере — смотрим JavaScript, изображения и новые frontend-ресурсы.
Не смешиваем эти два сценария: уменьшение изображений не исправит SQL-запрос на 4 секунды.
Шаг 3
Плагин может добавить тяжёлый запрос в каждый page load, запустить миграцию базы, пересчитать индекс или начать обращаться к внешнему сервису. Иногда замедление временное, пока выполняется фоновая перестройка.
Смотрим логи, Query Monitor на тестовой копии, slow query и расписание cron. На production не стоит бесконтрольно включать тяжёлую отладку.
Шаг 4
После смены темы/плагина page cache может перестать применяться к части URL, object cache — потерять соединение, а CDN — начать считать каждый запрос уникальным из-за новых cookie.
Сравниваем заголовки cache HIT/MISS, поведение для авторизованного и обычного пользователя, а также наличие постоянных query-параметров.
Шаг 5
WooCommerce и крупные плагины могут создавать фоновые задачи и обновлять схему данных. Пока очередь не завершена, CPU и база работают заметно тяжелее.
Смотрим рост таблиц options, autoload, action scheduler, медленные SQL и блокировки. Если нагрузка стабильно остаётся высокой после завершения фоновых задач, ищем регрессию в коде.
Практический пример
Главная остаётся быстрой, а товары и корзина замедлились. PageSpeed на главной почти не изменился, поэтому общая проверка сайта не показывает проблему.
Замер TTFB по шаблонам показывает регрессию только у WooCommerce. В slow query видим новый тяжёлый запрос от обновлённого расширения, а object cache для этой ветки перестал попадать в HIT. Исправляем конфликт и повторяем замеры.
| Измерение | Что видно |
|---|---|
| Главная TTFB | без изменений |
| Карточка товара | рост в несколько раз |
| Slow query | новый запрос после update |
| Cache | MISS на проблемной ветке |
Типовые сценарии
Разные симптомы после обновления почти всегда ведут в разные слои.
| Симптом | Вероятная зона | Первое действие |
|---|---|---|
| Медленно только в админке | plugin hooks/API/cron | проверить admin requests и внешние вызовы |
| Медленно только товары | WooCommerce/SQL | профилировать запросы карточек |
| TTFB высокий везде | PHP/DB/cache | проверить FPM, MySQL, page cache |
| HTML быстрый, интерфейс тормозит | JS/CSS | проверить Network и main thread |
| Нагрузка высокая после update | миграция/очередь | посмотреть cron и background jobs |
Чего не делать
Новый слой может скрыть причину и добавить конфликт.
После восстановления не будет понятно, какой компонент виноват.
Можно удалить нужные transient/данные и не исправить медленный запрос.
Лабораторный балл не показывает PHP/SQL-причину сам по себе.
Чек-лист
Когда нужен доступ к проекту
Если причина находится в SQL, PHP-FPM или object cache, потребуется доступ к серверу и тестовая копия. Отключать коммерческие плагины на живом магазине без snapshot рискованно.
Вопросы
Для авторизованных пользователей page cache обычно не работает, поэтому проявляется реальная нагрузка PHP/DB.
Это может временно скрыть проблему, но регрессия кода останется.
Иногда после обновления, но если кеш перестал применяться, простая очистка не исправит конфигурацию.
Если найден конкретный виновник и откат безопасен — да как временную меру, затем планировать совместимое обновление.