Почему большой каталог бьёт по базе
WooCommerce на каждой странице категории тянет товары, мета, таксономии, вариации. Тема и плагины фильтров добавляют JOIN по `wp_postmeta` и lookup-таблицам — на 2 000+ SKU без индексов один запрос может идти секундами.
Transients и опции копятся: «висячие» записи после удалённых плагинов, кэш виджетов, сессии — база раздувается. Это не всегда видно в PageSpeed, но чувствуется в админке и при сохранении заказа.
Object cache не заменяет нормальную вёрстку категории и не чинит N+1 в теме — он снимает повторные чтения одних и тех же объектов за один запрос.
Object cache: Redis и Memcached
На хостинге с Redis/Memcached WordPress кладёт в память результаты `get_post`, опции, термы — повторные обращения в рамках одного хита не бьют в MySQL. Плагин Redis Object Cache или встроенный модуль хостинга — типовая связка.
Без object cache на VPS с 2 GB RAM тяжёлый магазин часто упирается в лимит соединений MySQL. Переезд на тариф с Redis — дешевле, чем месяцы «оптимизации» плагинами поверх дыры в теме.
Проверка: после включения object cache в админке WooCommerce → Статус → должны появиться метрики кэша (зависит от плагина). Время генерации категории на staging сравните до/после.

Lookup-таблицы и индексы WooCommerce
В WC 3.6+ есть таблицы product meta lookup — ускоряют фильтры по цене и наличию. Если магазин старый и таблицы не заполнены — WooCommerce → Статус → Инструменты → «Обновить базу данных».
Плагины вроде FacetWP ведут свой индекс — без переиндексации после массового импорта товаров фильтры тормозят или пустые (см. статью про FacetWP).
Запросы с `meta_key` без индекса на кастомных полях — частая причина тормозов B2B-магазинов с десятками атрибутов.
Transients и гигиена БД
WooCommerce → Статус → Инструменты → «Очистить transients» — разовая уборка, не ежедневный ритуал. После — проверьте, не вернулись ли зависшие записи от битого cron.
Плагины «очистки БД» на проде без бэкапа опасны — могут снести сессии корзины. Делайте на staging или в согласованное окно.
Cron `wp-cron.php` на слабом хостинге отстаёт — transients не протухают. Настройка системного cron на сервере часто стабилизирует и кэш, и рассылки.
Связка с page cache и CDN
Object cache ускоряет генерацию HTML на сервере; CDN раздаёт уже готовую страницу гостям. Для авторизованных оптовиков и корзины нужны исключения — см. статьи про CDN и FacetWP.
Не кэшируйте REST-ответы WooCommerce агрессивно на CDN — мобильные витрины и блоки Gutenberg могут показывать устаревшие остатки.
Что не делать
Не включайте object cache без мониторинга Redis — утечка памяти забьёт сервер.
Не ставьте второй плагин object cache поверх первого.
Не ждите 90+ PageSpeed только от Redis на каталоге с 80 плагинами — сначала аудит запросов и темы.
Что сделает WebStudio7
Снимем slow query log на staging, включим object cache, настроим исключения page cache, дадим отчёт до/после на вашем хостинге.
Ускорение каталога 1000+ SKU — от 9 800 ₽. Кейс автозапчастей 2 200 SKU, Mobile 38→81 — в разделе кейсов.
Только действующий WordPress. Смета до старта — @webstudio7. Воронеж и РФ.
Услуга: Ускорение WordPress · Кейс: Кейс: автозапчасти, 38→81 Mobile · Расценки · Контакты