Сайт, остающийся медленным несмотря на установку плагина кеширования, часто разочаровывает владельца, который думал, что решил проблему одним кликом. Самая частая причина проста для понимания после объяснения: существует несколько типов кеша, каждый из которых решает свою задачу производительности, и плагин, управляющий одним из них, никак не влияет на два других.

Кеш страницы — самый известный

Кеш страницы сохраняет итоговый отрендеренный HTML страницы для анонимных посетителей, избегая пересборки этой страницы при каждом посещении через запрос к базе данных и выполнение соответствующего PHP-кода. В WordPress этим типом кеша занимаются такие плагины, как WP Rocket, LiteSpeed Cache или WP Super Cache. Его эффект впечатляющий на сайте-визитке или блоге, где основной трафик приходится на неавторизованных посетителей, видящих одну и ту же версию страницы. Его ограничение столь же чёткое: он никак не влияет на авторизованных посетителей, административную область или обращения к REST API, поскольку этот контент по своей природе формируется динамически и индивидуально для каждого пользователя.

Кеш объектов, часто упускаемый из виду

WordPress обычно выполняет от нескольких десятков до нескольких сотен запросов к базе данных при каждой загрузке страницы, большинство из которых повторно обращаются к одной и той же информации, например к настройкам сайта или метаданным пользователя. Кеш объектов сохраняет результаты этих запросов в оперативной памяти с помощью такой системы, как Redis или Memcached, установленной на уровне сервера, чтобы избежать повторного их вычисления каждый раз. Этот тип кеша становится решающим для сайта со множеством авторизованных посетителей, личным кабинетом клиента или активным магазином на WooCommerce, поскольку это именно те ситуации, где кеш страницы бессилен. В отличие от кеша страницы, кеш объектов требует установки на уровне сервера, что объясняет, почему многие провайдеры виртуального хостинга не предлагают его по умолчанию, тогда как большинство управляемых хостингов, ориентированных на WordPress, включают его в свои тарифы.

Кеш браузера — самый простой в настройке

Кеш браузера работает иначе, чем два предыдущих: он указывает браузеру посетителя сохранять локально определённые файлы, такие как изображения, таблицы стилей или JavaScript-скрипты, в течение заданного периода, чтобы избежать их повторной загрузки при каждой новой странице, просматриваемой на том же сайте. Эта настройка выполняется через HTTP-заголовки, называемые Cache-Control, обычно устанавливаемые на уровне веб-сервера или через плагин производительности. Его польза ощущается в основном при переходе одного и того же посетителя между несколькими страницами сайта, а не при самом первом посещении.

Дополнительная роль CDN

Сеть доставки контента, или CDN, распределяет копию статических файлов сайта по географически распределённым серверам, чтобы сократить расстояние, которое данные проходят между исходным сервером и посетителем. Для малого бизнеса, чья клиентура остаётся преимущественно локальной, эта польза скромна. Для сайта с аудиторией, распределённой между Францией, Италией и другими странами, как часто бывает у многоязычного сайта, ориентированного на Ниццу, Канны и Монако, CDN, такой как Cloudflare, доступный с бесплатным тарифом, подходящим для большинства сайтов, заметно сокращает время загрузки для посетителей, наиболее удалённых от сервера.

Как понять, какого именно кеша реально не хватает сайту

Сайт, состоящий в основном из страниц, просматриваемых анонимными посетителями, например блог или сайт-визитка, в первую очередь выигрывает от правильно настроенного кеша страницы. Сайт с личным кабинетом клиента, системой бронирования или активным интернет-магазином больше выигрывает от кеша объектов, часто невидимого в стандартных инструментах измерения скорости страницы, поскольку его эффект касается контента, по своей природе не подлежащего кешированию. Медленно загружающаяся панель администратора при быстром на вид публичном сайте — довольно надёжный признак того, что кеш объектов дал бы заметный результат.

Как избежать избытка плагинов, мешающих друг другу

Одновременная установка нескольких плагинов кеша страницы может создавать конфликты, поскольку каждый пытается по-своему управлять одним и тем же механизмом кеширования. Правильная практика — выбрать один плагин кеша страницы, отдельно включить кеш объектов, если хостинг это позволяет, и после каждого изменения конфигурации проверять, что сайт продолжает отражать обновления контента без чрезмерной задержки — частая проблема, когда кеш не очищается должным образом после изменения.

Что стоит проверить перед публикацией: подтвердить, что упомянутые примеры плагинов кеша страницы (WP Rocket, LiteSpeed Cache, WP Super Cache) остаются широко используемыми ориентирами на момент публикации, и проверить, что описание работы Redis и Memcached для кеша объектов по-прежнему соответствует стандартным практикам хостинга WordPress.