Кеширование - это наиболее значимый способ ускорить сайт на WordPress: кеширование всей страницы отдаёт готовый HTML вообще без запуска PHP, а объектное кеширование хранит результаты запросов к базе данных в памяти. В этом руководстве рассматривается и то, и другое, а также то, что автоматически обходит кеш, и как его очищать и прогревать.
Где находится кеширование в KPanel
- Войдите в KPanel.
- Нажмите Веб-сайты в левой боковой панели, затем выберите сайт.
- В левом меню сайта откройте WordPress, затем Кеширование.
Прямой адрес: /websites/<site-id>/cache.

Группа WordPress отображается только для сайтов на WordPress и WooCommerce. Кеширование здесь является частью тарифного плана: кеширование всей страницы и объектный кеш включены в план Managed WordPress. На других тарифах страница показывает панель с предложением обновления, описывающую доступные возможности, вместо элементов управления.
Кеш всей страницы
Кеширование всей страницы сохраняет готовый HTML страницы и отдаёт его напрямую следующему посетителю. Для анонимного посетителя это означает полное отсутствие выполнения PHP и обращений к базе данных: запрос обрабатывается ещё до загрузки WordPress.
На карточке отображается индикатор Включено или Выключено, а если кеширование включено, также дата его включения, подтверждена ли маршрутизация и срок жизни кеша.
Чтобы включить его, нажмите Включить кеш всей страницы. Чтобы снова выключить, нажмите Disable.
Кеш автоматически очищается при публикации или обновлении записи, поэтому ваши изменения появляются сразу, а не ждут истечения срока жизни кеша.
Если ваш сайт в основном читают анонимные посетители, это самый ценный переключатель на странице. Нередко разница во времени до первого байта достигает порядка величины, потому что медленная часть запроса WordPress - это как раз та часть, которая больше не выполняется.
Очистка и прогрев
После включения кеширования всей страницы появляются два действия.
Очистить кеш немедленно очищает кеш. Используйте его после изменения, которое WordPress не считает обновлением записи: редактирования файла темы, изменения виджета, обновления меню или изменения настройки плагина, влияющей на вывод. Следующий посетитель каждой страницы получит свежую копию.
Тёплый кэш заранее загружает ваши страницы, чтобы они уже находились в кеше до того, как их запросит посетитель. После прогрева баннер сообщает, сколько страниц из общего числа было предварительно закешировано, и перечисляет первые несколько URL-адресов.
Естественная последовательность действий после изменения дизайна: сначала очистить, затем прогреть. Так никому не придётся быть тем самым невезучим посетителем, который расплачивается за первый, ещё не закешированный рендер.
О граничном кеше перед вашим сайтом, который представляет собой отдельный уровень, читайте в статье Очистка кеша CDN.
Что никогда не кешируется
Некоторые URL-адреса всегда должны выполнять PHP, потому что их вывод различается для каждого посетителя или имеет побочные эффекты. Эти пути обходятся автоматически, и вам не нужно ничего настраивать:
| Путь | Почему |
|---|---|
/wp-admin/ | Админ-панель WordPress всегда динамическая |
/wp-login.php | Страница входа никогда не кешируется |
/cart/ | Корзина WooCommerce индивидуальна для каждого посетителя |
/checkout/ | Оформление заказа WooCommerce индивидуально для каждого посетителя |
/my-account/ | Страницы аккаунта WooCommerce индивидуальны для каждого посетителя |
/wp-cron.php | Запланированные задачи должны действительно выполняться |
/?wc-ajax=* | Конечные точки AJAX WooCommerce |
Помимо правил по путям, важны также cookie-файлы. Авторизованному пользователю WordPress или посетителю с активным cookie-файлом сессии WooCommerce всегда отдаётся динамический ответ, даже на странице, которая кешируется для всех остальных. Именно поэтому владелец магазина, просматривающий собственный сайт, часто не видит никакой выгоды от кеширования, в то время как анонимные посетители видят её в полной мере.
Поскольку вы обычно авторизованы, тестирование поведения кеша в обычном браузере введёт вас в заблуждение. Тестируйте в приватном окне или в браузере, в котором вы не вошли в систему.
Объектный кеш
Объектный кеш - это отдельный уровень. Вместо хранения готовых страниц он хранит в памяти результаты запросов к базе данных и транзиенты WordPress, так что повторяющаяся работа не выполняется заново.
На карточке отображается индикатор Включено или Выключено, а если он включён, также дата включения. Используйте Включить и Выключить, чтобы изменить это состояние.
Объектное кеширование помогает именно там, где кеширование всей страницы бессильно: для авторизованных пользователей, экранов администрирования и индивидуальных для каждого посетителя страниц, таких как корзина и оформление заказа. Это делает его особенно ценным для загруженных магазинов и сайтов с членством, где большая часть трафика аутентифицирована и поэтому никогда не кешируется на уровне страниц.
Использование обоих видов кеширования одновременно - обычная конфигурация. Кеширование всей страницы обрабатывает анонимный трафик, а объектный кеш ускоряет всё остальное, что всё равно должно выполнять PHP.
Что включить
- Контентный сайт, в основном анонимные читатели. Приоритет - кеширование всей страницы. Объектное кеширование добавляет к этому меньшее, но дополнительное улучшение.
- Магазин на WooCommerce. Включите оба вида кеширования. Кеширование всей страницы по-прежнему охватывает страницы товаров и категорий для просматривающих посетителей, а объектный кеш обслуживает корзину, оформление заказа и страницы аккаунта, которые никогда нельзя кешировать.
- Сайт с членством или сообществом, где почти все авторизованы. Основную работу выполняет объектное кеширование, поскольку большинство запросов по своей природе будут обходить кеш страниц.
Устранение неполадок
Я обновил сайт, но посетители по-прежнему видят старую версию. Очистите кеш, затем прогрейте его. Если версия всё ещё устаревшая, помните, что может также присутствовать граничный кеш: см. Очистка кеша CDN.
Кеширование мне ничего не даёт. Вы почти наверняка авторизованы. Проверьте в приватном окне.
Корзина или форма ведут себя странно для анонимных посетителей. Стандартные пути коммерции обходятся автоматически, но пользовательская или предоставленная плагином динамическая страница по нестандартному URL-адресу не обходится. Если страница никогда не должна кешироваться, но отсутствует в списке исключений, стоит сообщить об этом в поддержку, чтобы мы могли рассмотреть правило.
На карточке написано, что кеширование входит в план Managed WordPress. Ваш текущий тариф его не включает. Баннер ведёт на страницу тарифов.
Проверка маршрутизации в очереди. Кеширование включено, но подтверждение маршрутизации ещё не завершено. Подождите немного и обновите страницу.
На странице отображается неверный персонализированный контент. Весь персонализированный контент должен быть исключён из кеша страницы или отрисовываться на стороне клиента. Если плагин персонализирует вывод на странице, которая в остальном подлежит кешированию, не устанавливая при этом cookie-файл сессии, кеш страницы не может об этом узнать. Протестируйте в приватном окне и сообщите в поддержку, если обнаружите такую ситуацию.
Похожие страницы
- Производительность сайта и APM, чтобы оценить, действительно ли кеширование помогло.
- Аналитика трафика сайта для просмотра коэффициента попаданий граничного кеша.
- Включение CDN, чтобы добавить граничный кеш перед всем вышеперечисленным.
- Создание резервной копии перед внесением крупных изменений на рабочий сайт.