Многие проблемы скорости живут не в темах и не в картинках, а в одной таблице базы данных: wp_options. Каждый плагин складывает туда настройки, а некоторые ещё и логи, временные данные и кэш.
Ключевое слово: autoload. Опции с этим флагом загружаются при каждом запросе, целиком, до отрисовки страницы. Если их накопилось на несколько мегабайт, каждая страница начинается с чтения этого объёма.
Как проверить:
SELECT SUM(LENGTH(option_value))
FROM wp_options WHERE autoload = 'yes';
Меньше мегабайта — нормально. Больше трёх — вот ваш тормоз.
Как лечить:
— Найти крупные записи: отсортировать по длине значения
— Удалённые плагины часто оставляют свои опции, их можно чистить
— Просроченные transient-записи удалять регулярно, есть плагины для этого
— Опции размером с картинку почти всегда не должны быть autoload
После чистки поставьте объектный кэш. Тогда таблица будет читаться из памяти, а не с диска.
WordPress: скорость и кэш
@wp_speed_lab
Как WordPress хранит данные: почему таблица опций тормозит весь сайт
Этот пост опубликован в Telegram-канале WordPress: скорость и кэш. Подписаться можно по ссылке: @wp_speed_lab.