Telegram

Кэш и FacetWP на каталоге 1000+ SKU

Каталог на две тысячи позиций с фильтрами FacetWP или аналогом тормозит, отдаёт пустую выдачу или «залипает» на старом наборе товаров — типичная связка тяжёлого WooCommerce, page cache и AJAX-фильтров. Разберём, что кэшировать можно, а что ломает магазин.

Кэш и FacetWP на каталоге WooCommerce 1000+ SKU

Почему большой каталог страдает первым

Каждый фильтр — отдельный запрос к базе: атрибуты, таксономии, мета поля. На 2 000+ SKU без индексов и без object cache страница категории может грузиться 5–15 секунд.

FacetWP, Filter Everything, WOOF — удобны для покупателя, но нагружают MySQL. Ускорение «в лоб» полным page cache часто ломает фильтры и корзину.

Тяжёлая тема и Elementor на карточках категории умножают HTML и запросы — сначала диагностика, потом кэш.

Page cache: что исключать

Исключите из полного кэша страницы: `/cart`, `/checkout`, `/my-account`, корзину в мини-виджете, URL с параметрами фильтров (`?fwp_`, `_facet`, `min_price` и т.п.).

Если кэшируете каталог «как есть» для гостей — при смене фильтра пользователь видит старый HTML. Нужен либо AJAX-режим FacetWP без кэша результатов, либо cache vary по query string.

CDN с «кэшировать всё» — та же проблема. Правило: динамика WooCommerce и фильтры не попадают в статический слой.

Кэш и FacetWP на каталоге WooCommerce 1000+ SKU

FacetWP и AJAX

В настройках FacetWP проверьте режим перезагрузки: soft reload vs полная перезагрузка. После обновления плагина сбрасываются индексы — запустите переиндексацию в админке FacetWP.

Конфликт с lazy load и infinite scroll в теме: список товаров обновляется, а счётчик и пагинация — нет. Отключите дублирующий AJAX в теме на время теста.

Оптовые цены для авторизованных и FacetWP для гостей — разные кэши. См. статьи про корзину и оптовые роли.

Object cache и база

Redis или Memcached на хостинге снижают повторные запросы к `wp_posts` и термам — это помогает каталогу, не заменяя настройку фильтров.

Проверьте, что в WooCommerce → Статус → Инструменты нет тысяч зависших transients. Очистка transients — разовая гигиена, не панацея.

Индексы на таблицах lookup WooCommerce (если включены) ускоряют фильтры по атрибутам — актуально для WC 8+.

Что не делать

Не включайте агрессивный defer для всех JS на странице магазина — ломается сортировка и фильтры.

Не кэшируйте REST API WooCommerce без понимания — мобильные приложения и блоки могут отдавать старые остатки.

Не ставьте второй плагин кэша поверх первого.

Что сделает WebStudio7

Аудит запросов, настройка исключений кэша, FacetWP и при необходимости object cache; отчёт PageSpeed до/после на реальном хостинге.

Ускорение каталога 1000+ SKU — от 9 800 ₽, доработка WooCommerce в одной зоне — от 4 900 ₽. Кейс автозапчастей Mobile 38→81 — в разделе кейсов.

Только действующий WordPress, без нового магазина. Смета до старта — @webstudio7.

По теме в блоге

Услуга: Ускорение WordPress · Кейс: Кейс: автозапчасти, PageSpeed 38→81 · Расценки · Контакты

Все статьи блога

Опишите задачу

Опишите URL сайта и симптом — ответим в Telegram @webstudio7 или на info@web-studio-7.ru в рабочее время. Смета — до начала работ.