1. Что такое SuperCache
Зачем нужен плагин
Когда покупатель открывает страницу магазина (главную, категорию, карточку товара), Webasyst каждый раз собирает её заново: обращается к базе данных, подставляет цены, остатки, картинки. На большом каталоге это занимает время и нагружает сервер.
SuperCache сохраняет готовую страницу в виде обычного файла (это и есть «кеш») и при следующем визите отдаёт её, не собирая заново. Пока страница не изменилась, второй, третий и сотый посетитель получают готовый файл.
Что плагин не делает:
- не гарантирует, что страница всегда свежая: он очищает кеш, когда замечает событие магазина (сохранение товара, отзыв и т. п.); изменения в обход Shop-Script (импорты, прямые правки базы, а в классическом кеше также правки категорий, валют и акций) сам не видит, и тогда кеш нужно очистить вручную (глава 6);
- не кеширует корзину, оформление заказа, личный кабинет, вход и страницы заказов, и это правило нельзя отключить (почему и как это работает, в главе 7);
- не ускоряет административную панель;
- не гарантирует ускорение на вашем магазине, рост продаж или позиций в поисковиках;
- не следит за содержимым сторонних тем и плагинов: если сторонний плагин кладёт персональные данные прямо в обычную страницу, эту страницу нужно исключить из кеша (см. главу 7).
Два способа подключения
| Способ | Что это простыми словами | Что нужно | Скорость |
|---|---|---|---|
| «Через роутинг» (в блоке подсказки — «Через маршрутизацию») | Страницу из кеша отдаёт сам Webasyst: PHP запускается, но не собирает страницу заново | Ничего. Достаточно включить в настройках | Быстрее, чем без кеша; медленнее серверного режима |
| «Через сервер (самый быстрый вариант)» | Страницу из кеша отдаёт веб-сервер (Apache или nginx) напрямую, PHP не запускается | 🔧 Вставить правила в файл настроек веб-сервера. Плагин сам правила туда не пишет | Самый быстрый |
Начинайте с «Через роутинг». К серверному режиму можно перейти позже (глава 4).
Два движка кеша
Это внутреннее устройство хранения. Обычному владельцу его менять не нужно.
- Классический файловый кеш (по умолчанию). Страницы лежат файлами в папке
wa-data/public/shop/supercache/. - Metadata v2 (по умолчанию выключен, включается только командой администратора). Страницы ещё и учитываются в базе данных, что даёт точную очистку: при изменении товара удаляются только те страницы, где он встречается. Нужен строгий профиль правил сервера. Подробнее: глава 7.
База и Премиум
Плагин продаётся в двух редакциях. Базовые возможности (кеш, оба способа подключения, проверка кеша, диагностика, очистка всего кеша и одной страницы, резерв места на диске) есть у всех. Часть расширенных функций (динамические блоки, ограничение размера кеша, исключение страниц по типам, кеш только для выбранных параметров адреса) доступна только в Premium. Полная таблица: глава 9.
Что измерено, а что нет
Единственное измерение скорости в проекте (версия 3.4.2) выполнено на тестовом стенде (один компьютер с Docker, маленький тестовый магазин из 7 товаров, без сети и без HTTPS, классический кеш). Что из него следует:
- при прямой отдаче веб-сервером PHP-процесс не запускался (12 000 запросов, ноль обращений к PHP);
- на этом стенде страница из кеша отдавалась заметно быстрее, чем собираемая заново, причём «через сервер» быстрее, чем «через роутинг».
Чего из него не следует: конкретных миллисекунд и «в N раз» на вашем магазине. Время зависит от каталога, темы, плагинов, хостинга. Не проверялись: Metadata v2, Premium, динамические блоки, HTTPS и прокси, сравнение с другими плагинами кеша.
Словарь терминов
| Термин | Что значит |
|---|---|
| Кеш | Сохранённые готовые копии страниц магазина |
| HIT (попадание) | Страница отдана из кеша |
| MISS (промах) | Страницы в кеше не было: её построил Webasyst, и она, возможно, сохранена для следующих посетителей |
| BYPASS (в обход) | Страница намеренно не берётся из кеша и не сохраняется (например, корзина). Это нормально, а не ошибка |
| cron | Планировщик заданий на сервере: запускает команду по расписанию. Настраивается в панели хостинга или у администратора |
| Правила сервера | Несколько строк для Apache (файл .htaccess) или nginx (конфигурация сайта), которые заставляют веб-сервер самому отдавать файлы кеша |
| Apache / nginx | Два самых распространённых веб-сервера. Какой у вас, покажет блок настроек «Веб-сервер» или подскажет хостинг |
| Движок | Способ хранения кеша: классический файловый или Metadata v2 |
| TTL | Срок годности страницы в кеше; по его истечении страница пересоздаётся (работает только с Metadata v2 и cron) |
| Query string | Часть адреса после знака «?», например ?utm_source=mail |
| Premium | Платная редакция плагина с расширенными функциями |
Что нужно для работы
- Webasyst с приложением «Магазин» и установщиком версии 2.7.0 или новее.
- PHP 8.2 или новее (проверялись 8.2–8.5). На PHP 7.4–8.1 версия 3.4.3 не работает.
- Для режима «Через сервер»: Apache с модулем
mod_rewrite(иmod_alias) или nginx; доступ к правке конфигурации. 🔧 - Для обслуживания по расписанию: возможность добавить задание cron. 🔧