WP_Query: что замедляет запрос к базе данных.
posts_per_page минус 1 — самая частая причина медленных страниц. WordPress загружает ВСЕ записи в память. На сайте с 10 000 товаров это убивает сервер.
Что ещё тормозит:
— meta_query без индекса на meta_value (для часто используемых мета-полей — добавляйте индекс вручную)
— orderby rand — полная пересортировка таблицы при каждом запросе
— suppress_filters true — отключает кэширование запросов
Что ускоряет:
— no_found_rows true если не нужна пагинация (экономит COUNT запрос)
— fields ids если нужны только ID записей, не объекты
— cache_results true (включено по умолчанию, но убеждайтесь что Object Cache подключён)
Для диагностики: Query Monitor плагин показывает все SQL-запросы с временем выполнения. Любой запрос дольше 100ms — кандидат на оптимизацию.
Разработка тем WordPress
@wp_dev_deep_dive_ww
WP_Query: что замедляет запрос к базе данных.
Этот пост опубликован в Telegram-канале Разработка тем WordPress. Подписаться можно по ссылке: @wp_dev_deep_dive_ww.