Кэширование помогает WordPress не собирать одну и ту же страницу заново при каждом запросе. Это снижает нагрузку на PHP и базу данных, а посетитель быстрее получает готовый HTML. Для большинства сайтов первый шаг — включить кэш страниц в одном плагине, проверить результат и только потом добавлять другие виды кэша.
Какие виды кэша используются на сайте
Словом «кэш» называют несколько разных механизмов. Они работают на разных уровнях, поэтому установка одного плагина не обязательно включает их все.
| Вид кэша | Что сохраняет | Когда полезен |
|---|---|---|
| Кэш страниц | Готовую HTML-страницу вместо повторного выполнения запросов WordPress и PHP | Почти для любого сайта с повторяющимися запросами от посетителей |
| Кэш браузера | Статические файлы: изображения, CSS, JavaScript, шрифты | При повторных посещениях, чтобы браузер не скачивал файлы заново без необходимости |
| Объектный кэш | Результаты запросов и вычислений WordPress | На сайтах с высокой нагрузкой; постоянный объектный кэш обычно требует Redis или Memcached на сервере |
| OPcache | Скомпилированный PHP-код | Когда он доступен и включён на сервере; это настройка PHP, а не кэш страниц WordPress |
Также сайт может использовать CDN — сеть, которая отдаёт статические файлы или закэшированные страницы с серверов ближе к посетителю. Это отдельный уровень, и его правила нужно согласовать с кэшем на сайте. Начинайте с кэша страниц: он обычно даёт наиболее заметный эффект без сложной настройки сервера.
Выберите плагин с учётом хостинга
Перед установкой проверьте, не включён ли кэш страниц в панели хостинга. Если хостинг уже кэширует HTML, второй плагин может создавать лишнюю копию кэша или давать противоречивые результаты. Уточните у поддержки, какой механизм используется и как его очищать.
Если сервер работает на LiteSpeed, логично рассмотреть LiteSpeed Cache: его серверный кэш страниц наиболее полно работает именно с LiteSpeed. На другом веб-сервере плагин всё ещё может оптимизировать файлы, но рассчитывать на тот же серверный кэш нельзя. Для простого старта на разных хостингах подходит, например, WP Super Cache. Выберите один плагин для кэширования страниц и не запускайте одновременно несколько таких решений.
Включите кэш страниц в WP Super Cache
- Сделайте резервную копию сайта или убедитесь, что хостинг позволяет восстановить файлы и базу данных. Это особенно полезно перед изменением настроек сервера или правил кэширования.
- В админке откройте «Плагины» → «Добавить новый», найдите WP Super Cache, установите и активируйте его.
- Перейдите в «Настройки» → «WP Super Cache». На вкладке Easy включите кэширование и нажмите кнопку обновления статуса.
- Сначала оставьте простой режим доставки кэша. Он не требует от владельца вручную добавлять правила в конфигурацию веб-сервера. Если позже потребуется более производительный режим, проверьте требования плагина и совместимость с сервером или согласуйте настройку с хостингом.
- Откройте сайт в приватном окне браузера, где вы не авторизованы, и проверьте несколько обычных страниц. После публикации новых материалов очистите кэш через доступную кнопку плагина и убедитесь, что изменения видны посетителю.
Не включайте сразу все параметры сжатия, минификации и объединения CSS или JavaScript, если плагин либо другой сервис их предлагает. Эти функции не являются обязательной частью кэша страниц и могут нарушить отображение сайта. Сначала проверьте базовое кэширование, затем добавляйте оптимизации по одной, каждый раз проверяя главную страницу, меню, формы и другие важные элементы.
Настройте исключения для страниц и посетителей
Страница подходит для общего кэша, только если её содержимое одинаково для разных посетителей. Кэш не должен показывать одному человеку данные другого или устаревшее персональное содержимое. Обычно плагины автоматически не кэшируют страницы для вошедших в WordPress пользователей, но это поведение стоит проверить в настройках.
Исключите из кэширования страницы с личными данными, результатами действий пользователя и содержимым, которое меняется от сессии к сессии. Это могут быть личный кабинет, страницы оформления заказа, корзина или формы, показывающие индивидуальный результат. Точные исключения зависят от функций сайта и установленного плагина. Добавляйте адреса и cookie в соответствующие списки исключений, если такая настройка предусмотрена, и проверяйте их как авторизованный посетитель.
Предварительная загрузка кэша может помочь, если на сайте много страниц, которые редко открывают посетители. Но она создаёт дополнительные запросы к серверу. На ограниченном хостинге не запускайте слишком частое заполнение кэша и следите за нагрузкой; для небольшого сайта сначала достаточно кэширования по мере посещения.
Как проверить, что кэш действительно работает
Проверяйте сайт не только из админки: авторизованные пользователи часто обходят кэш страниц. Откройте одну и ту же страницу дважды в приватном окне, не меняя её содержимое, и посмотрите индикатор или сообщение плагина о кэшировании, если оно доступно. Также можно открыть инструменты разработчика браузера, выбрать запрос типа Document и изучить заголовки ответа. Названия заголовков различаются у плагинов, хостингов и CDN, поэтому один конкретный заголовок не является универсальным признаком.
После очистки кэша первая загрузка может быть медленнее: копия страницы ещё не создана. Повторите проверку. Сравнивайте не только визуальную скорость, но и время ответа сервера в одинаковых условиях. Если плагин показывает, что кэш есть, а посетители всё равно получают старую страницу, проверьте кэш браузера, CDN и хостинга: копии могут храниться на нескольких уровнях.
Почему кэширование не даёт эффекта или ломает сайт
- Одновременно работают несколько кэшей страниц. Оставьте один плагин или согласуйте его с кэшем хостинга. После отключения старого решения очистите его кэш по инструкции провайдера или разработчика.
- Проверка выполняется под администратором. Выйдите из аккаунта и откройте сайт в приватном окне. Иначе тест может обходить кэш.
- Изменения не видны после обновления. Очистите кэш плагина, а при наличии — отдельно кэш хостинга и CDN. Иногда нужно также обновить кэш браузера.
- После оптимизации поехала вёрстка. Отключите последнее включённое объединение или минификацию CSS и JavaScript. Эти функции часто конфликтуют с темами и скриптами; включайте их по одной, а не вместе.
- Кэшируются персональные данные. Проверьте исключения страниц и cookie. До исправления отключите кэширование затронутых страниц, чтобы посетители не видели чужое содержимое.
- Объектный кэш включён без поддержки сервера. Для Redis или Memcached недостаточно установить расширение WordPress: соответствующий сервис должен быть доступен и настроен на хостинге.
Кэширование не исправляет медленный запрос к базе данных, тяжёлую тему или слишком большие изображения — оно уменьшает повторную работу при подходящих запросах. Начните с одного кэша страниц, проверьте его для неавторизованного посетителя и добавляйте остальные механизмы только тогда, когда понятно, какую именно проблему они решают.