10. Вопросы и неполадки
Формат каждого пункта: симптом → вероятная причина → как проверить → безопасное действие → когда нужен администратор или поддержка хостинга. Действия, требующие доступа к серверу, помечены 🔧.
Содержание
- Я включил кеш, но ничего не ускорилось / всегда MISS
- Режим «Через сервер»: нет прямого HIT
- Покупатель увидел чужую корзину: может ли такое быть
- Страница не обновляется / старая цена или остаток
- Диск заполнен, кеш занял много места
- Города, цены и валюты «прыгают»
- Как исключить страницу из кеша
- Кеш не очищается
- Страницы с UTM-метками не кешируются
- Страница в кеше выглядит «сломанной»
- Обновил плагин, но правила сервера старые
- Блок состояния: «Требуется настройка» / «Состояние неизвестно»
- «Сервер не смог обратиться к витрине»
- После правки правил сайт перестал открываться
- Короткие вопросы
- Если ничего не помогло: проверки, которые можно сделать самому
Я включил кеш, но ничего не ускорилось / всегда MISS
Причины: кеш не сохранён; страница в исключениях; у страницы есть параметры ?…; вы смотрите в браузере, где вошли в админку (вошедшим кеш не отдаётся); нет прав на запись в папки кеша; мало свободного места; в «Проверке кеша» результат «Не удалось определить» (отвечает CDN).
Проверьте:
- Блок состояния вверху: «Включено… не проверено» → запустите «Проверку кеша».
- «Проверка кеша» для главной (
/). Прочитайте результат по таблице главы 5. - Блок «Состояние SuperCache»: строки про папки («Запись разрешена»), «Свободное место на разделе».
- Откройте страницу дважды в приватном окне браузера (вне админки).
Действия: при «Разрешено, но не сохраняется» — права на папки wa-data/public/shop/supercache/ и wa-data/protected/shop/supercache/ 🔧; освободить место; при BYPASS — прочитать причину (расшифровка кодов).
К администратору: если права на папки не ваша зона.
Режим «Через сервер»: нет прямого HIT
Причина: правила не вставлены, вставлены не в то место, не применяются (на хостинге AllowOverride None, нет mod_rewrite/mod_alias) или не совпадают с настройками. Плагин при этом работает: страницу отдаёт PHP.
Проверьте: блок состояния («Требуется настройка: …прямой серверный HIT не подтверждён»); «Проверка конфигурации» → «Правила сервера»; «Проверка кеша».
Действия: глава 4: сверить блок в .htaccess с текстом вкладки; пересохранить настройки и скопировать правила заново; отправить хостингу письмо-шаблон. Если не получается, безопасно вернуться на «Через роутинг» — кеш будет работать, но чуть медленнее.
Покупатель увидел чужую корзину: может ли такое быть
Ответ и причины подробно в главе 7. Коротко:
- страницы корзины-оформления, личного кабинета, входа и заказов не кешируются никогда, и это нельзя отключить;
- кеш создаётся только по запросам анонимных посетителей без признаков личного состояния (без товаров в корзине, без входа в аккаунт); такие посетители кеш не получают;
- поэтому корзина другого человека не должна попасть в кеш и быть отдана другому посетителю. Это защита плагина, а не абсолютная гарантия для сторонних плагинов и CDN (см. ниже).
Если вам всё же так показалось. Чаще всего это: (а) значок или число корзины в шапке нарисованы сторонним плагином или темой по данным, не связанным с cookie корзины, и попали в страницу, сохранённую для анонимного посетителя; (б) CDN или прокси перед сайтом хранит свою копию, которую SuperCache не контролирует; (в) сторонний плагин показывает на публичной странице персональное содержимое.
Что сделать немедленно: отметьте страницу в «Исключениях по URL» или нажмите «Очистить одну страницу»; очистите кеш CDN; при подозрении включите «Обход кеша» или временно отключите кеш: снимите «Включить кеширование» и нажмите «Сохранить». В режиме «Через сервер» этого мало: веб-сервер продолжит отдавать файлы кеша. Сначала выберите «Через роутинг» и сохраните, затем 🔧 попросите администратора убрать правила (см. откат). Затем сохраните адрес страницы и результат «Проверки кеша»: они понадобятся администратору для разбора. ⚠️ Свидетельств такого случая в проверках релиза нет, но реальные магазины с любыми сторонними плагинами не проверялись.
Страница не обновляется / старая цена или остаток
Причина: плагин очищает кеш, когда замечает событие магазина (сохранение товара, отзыв, заказ, смена картинок Images PRO). Данные, изменённые в обход Shop-Script (прямой SQL, часть импортов, внешние интеграции), он не видит. Кеш может быть и не вашим: браузер, CDN.
Проверьте: откройте страницу в «Режиме обхода кеша» (глава 3) или через «Проверку кеша»: если там новая цена, а у гостя старая, дело в кеше.
Действия:
- «Очистить одну страницу» (полный адрес). Для категории, где виден этот товар, очистите и её адрес: плагин очищает только названную страницу.
- Если изменено много страниц: «Очистить кеш» (весь).
- Для остатков включите «Удаление кешированных страниц после оформления заказа» (глава 3) и проверьте нагрузку.
- Если CDN: очистите его кеш отдельно.
Предупреждение: плагин не обещает мгновенной актуальности: страница может показывать устаревшую цену, пока её не очистят. Для данных, которые меняются чаще, чем вы готовы чистить, используйте исключения или динамические блоки (⭐ Premium).
Диск заполнен, кеш занял много места
Причина: кеш растёт вместе с числом страниц × вариантов (стратегия «Раздельная» вдвое больше) × gzip-копий.
Проверьте: «Состояние SuperCache»: «Страницы кеша», «Все данные плагина на диске», «Временные файлы», «Корзина». Нажмите «Измерить диск сейчас».
Действия, от безопасного к решительному:
- Отметьте «Очистить кеш» и сохраните: весь кеш удалён.
- Включите резерв свободного места (по умолчанию 50 МБ; увеличьте): тогда при нехватке места плагин перестанет писать новые страницы.
- ⭐ Premium: включите «Включить вычисление размера кеша» → «Включить ограничение кеша» с лимитом и действием «Не создавать больше кеша» (самое безопасное). Это работает только при настроенном cron (глава 6).
- Уберите стратегию «Раздельная» (если телефонная версия не отличается), отключите gzip, если не нужен, и очистите кеш. При способе «Через сервер» после этого замените правила.
- Если «Корзина» (trash) большая: 🔧 администратор может выполнить
php wa-apps/shop/plugins/supercache/purge-trash.php.
К администратору/хостингу: если место занято не кешем (проверьте общий размер аккаунта).
Города, цены и валюты «прыгают»
Причина: содержимое страницы зависит от того, что кеш не различает: от cookie, сессии, региона по IP. Кеш отличает домен и путь страницы (и вид устройства при «Раздельной» стратегии); язык, cookie, сессию и регион он не различает.
Действия: 1) Для плагина выбора города включите опцию «Автоматическое определение и выбор города» (глава 7). 2) Для страниц, зависящих от региона, добавьте адреса в «Исключения по URL» или, в ⭐ Premium, вынесите региональный фрагмент в динамический блок. 3) Разные валюты лучше разводить по разным адресам или витринам: у каждого адреса и домена своя копия.
Как исключить страницу из кеша
- Вкладка «Расширенные» → группа «Исключения кеширования».
- Просто: поле «Исключения по URL (string)»: впишите полный адрес с
https://, по одному на строку, точное совпадение. - По фрагменту: поле «Исключения по URL (regexp)»: впишите часть адреса, например
/catalog/special/; страницы, в адресе которых она встречается, не кешируются. Регулярные выражения здесь не работают, несмотря на подсказку в интерфейсе. - Сохраните. Затем «Очистить одну страницу» для этого адреса, чтобы уже сохранённая копия не осталась.
- Для целых типов страниц (карточки, категории…) есть галочки «Исключить …» (⭐ Premium).
- Проверьте «Проверкой кеша»: ожидается «Не кешируется (BYPASS)» с причиной «Адрес входит в список исключений».
Кеш не очищается
Причина: вы очищаете не то (CDN, браузер); страница строилась в момент очистки; частичная очистка (⭐ Premium) выбрала не те типы; при Metadata v2 остались фоновые записи (без cron).
Действия: повторите очистку через несколько секунд; проверьте режим «Как удалять кеш» (по умолчанию «Полностью удалить кеш»); убедитесь, что cron из блока «Обслуживание (cron)» запущен; очистите CDN. При «Состояние SuperCache» → «Деревья кэша, ожидающие удалений» не ноль: дайте cron поработать.
Страницы с UTM-метками не кешируются
Причина: по умолчанию любой адрес с параметрами ?… не кешируется («Не сохранять кеш с query string URL»). Это безопасное значение.
Действия: вариант «Сохранять кеш с определёнными query string» (⭐ Premium) и список utm_source, gclid и т. п. Вариант «с любыми query string» не рекомендуется: у всех адресов с одним путём будет одна общая копия независимо от параметров (фильтры и сортировки покажут не то). После смены при «Через сервер» замените правила и очистите кеш.
Страница в кеше выглядит «сломанной»
Причина: чаще всего HTML-минификация или gzip на нестандартной теме, либо тема подключает разные версии сайта при обновлении страницы.
Действия: установите «HTML минификация» в «—», очистите кеш, проверьте; для тем «MegaShop 2.0», «Ahead» включите «Отключать кеш при обновлении страницы» и очистите кеш.
Обновил плагин, но правила сервера старые
Вкладка «Правила сервера» показывает текст, сохранённый в прошлый раз. Отметьте «Сконфигурировать правила сервера», нажмите «Сохранить», скопируйте новый текст и замените им старый блок целиком (глава 4). «Проверка конфигурации» для Apache скажет «Блок отличается…», пока вы это не сделаете; для nginx она подскажет искать gzip_static always.
Блок состояния: «Требуется настройка» / «Состояние неизвестно»
- «Требуется настройка»: нажмите кнопку следующего шага. Причины: способ не выбран; критическая проблема в «Проверке конфигурации» (откройте красный пункт); при «Через сервер» нет подтверждённого HIT.
- «Состояние неизвестно»: плагин не смог прочитать собственные проверки. Нажмите «Обновить»; если повторяется, посмотрите
wa-log/supercache.log: администратор сможет по нему найти причину. ⚠️ Это состояние не удалось воспроизвести при проверке релиза.
«Сервер не смог обратиться к витрине»
Это не ошибка плагина. Хостинг не разрешает серверу открывать собственный публичный адрес (файрвол, hairpin NAT) либо проблема с сертификатом домена. Спросите хостинг: «Может ли сервер делать HTTP(S)-запросы к собственному домену?» Пока проверяйте кеш вручную (глава 5).
После правки правил сайт перестал открываться
🔧 Немедленно откатите правку: верните прежний .htaccess (для nginx — прежний server) и перезагрузите nginx. Затем на странице настроек выберите «Через роутинг», сохраните; при восстановлении сайта сверьте текст по инструкции главы 4. Откат без проблем: плагин сам не изменяет конфигурацию вашего сервера.
Короткие вопросы
Нужно ли отключать кеш для корзины и личного кабинета? Нет, они не кешируются никогда.
Нужен ли мне доступ к nginx? Для «Через роутинг» нет. Для «Через сервер» на nginx — да (или поддержка хостинга).
Нужен ли cron? Кеш работает без него. Он нужен для замера диска, ограничения размера (⭐ Premium) и для Metadata v2. Какой именно — глава 6. Не ставьте SupercachePluginCacheDel вместо обслуживания: он стирает весь кеш при каждом запуске.
В чём разница База/Premium? Глава 9.
Можно ли очистить одну страницу? Да, во всех редакциях: глава 6.
Влияет ли кеш на SEO и продажи? Мы этого не обещаем и не измеряли. Плагин не меняет содержимое страниц (кроме HTML-минификации по вашей настройке).
Насколько быстрее станет? Цифр не обещаем: глава 1.
Я вижу в админке не то, что гость. Так и задумано: вошедшим пользователям кеш не отдаётся. Посмотрите как гость: приватное окно.
Главная страница не сохранялась (MISS, MISS) на пустом кеше. Это дефект версий до 3.4.2 (на пустом кеше главная и страницы с точкой в адресе не сохранялись), исправленный в 3.4.2.
Если ничего не помогло: проверки, которые можно сделать самому
Пройдите по порядку и запишите результат каждого шага: так администратору вашего сайта или поддержке хостинга будет проще разобраться.
- Версия плагина (3.4.3) и версия PHP (нужна 8.2 или новее).
- Способ подключения («Через роутинг» / «Через сервер»), движок (классический / Metadata v2), тип веб-сервера (Apache / nginx): всё это видно в блоках страницы настроек.
- Адрес проблемной страницы и результат «Проверки кеша» (текст ответа).
- Красные и жёлтые пункты «Проверки конфигурации» и «Состояния SuperCache».
- Страница в «Обходе кеша для администратора» и в приватном окне: одинаково ли выглядит.
- Крайняя мера, которая безопасна: выберите «Через роутинг», один раз «Очистить кеш», при необходимости снимите «Включить кеширование» и сохраните; магазин продолжит работать без кеша. В режиме «Через сервер» правила нужно ещё убрать (откат). 🔧
Не передавайте посторонним пароли, ключи доступа, значения cookie, содержимое wa-config/db.php и ключи S3.