# Кэширование сайта

Source: https://support.kapsulehost.com/ru-ru/site-cache

Кеширование - это наиболее значимый способ ускорить сайт на WordPress: кеширование всей страницы отдаёт готовый HTML вообще без запуска PHP, а объектное кеширование хранит результаты запросов к базе данных в памяти. В этом руководстве рассматривается и то, и другое, а также то, что автоматически обходит кеш, и как его очищать и прогревать.

## Где находится кеширование в KPanel

1. Войдите в [KPanel](https://kpanel.kapsulehost.com).
2. Нажмите **Веб-сайты** в левой боковой панели, затем выберите сайт.
3. В левом меню сайта откройте **WordPress**, затем **Кеширование**.

Прямой адрес: `/websites/<site-id>/cache`.

![Настройки кеширования для сайта в KPanel](https://support.kapsulehost.com/help/screenshots/site-cache.ebc987e4.webp)

> **Note:** Группа **WordPress** отображается только для сайтов на WordPress и WooCommerce. Кеширование здесь является частью тарифного плана: кеширование всей страницы и объектный кеш включены в план Managed WordPress. На других тарифах страница показывает панель с предложением обновления, описывающую доступные возможности, вместо элементов управления.

## Кеш всей страницы

Кеширование всей страницы сохраняет готовый HTML страницы и отдаёт его напрямую следующему посетителю. Для анонимного посетителя это означает полное отсутствие выполнения PHP и обращений к базе данных: запрос обрабатывается ещё до загрузки WordPress.

На карточке отображается индикатор **Включено** или **Выключено**, а если кеширование включено, также дата его включения, подтверждена ли маршрутизация и срок жизни кеша.

Чтобы включить его, нажмите **Включить кеш всей страницы**. Чтобы снова выключить, нажмите **Disable**.

Кеш автоматически очищается при публикации или обновлении записи, поэтому ваши изменения появляются сразу, а не ждут истечения срока жизни кеша.

> **Tip:** Если ваш сайт в основном читают анонимные посетители, это самый ценный переключатель на странице. Нередко разница во времени до первого байта достигает порядка величины, потому что медленная часть запроса WordPress - это как раз та часть, которая больше не выполняется.

## Очистка и прогрев

После включения кеширования всей страницы появляются два действия.

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

**Тёплый кэш** заранее загружает ваши страницы, чтобы они уже находились в кеше до того, как их запросит посетитель. После прогрева баннер сообщает, сколько страниц из общего числа было предварительно закешировано, и перечисляет первые несколько URL-адресов.

Естественная последовательность действий после изменения дизайна: сначала очистить, затем прогреть. Так никому не придётся быть тем самым невезучим посетителем, который расплачивается за первый, ещё не закешированный рендер.

О граничном кеше перед вашим сайтом, который представляет собой отдельный уровень, читайте в статье [Очистка кеша CDN](https://support.kapsulehost.com/ru-ru/cdn-cache-purge).

## Что никогда не кешируется

Некоторые 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 всегда отдаётся динамический ответ, даже на странице, которая кешируется для всех остальных. Именно поэтому владелец магазина, просматривающий собственный сайт, часто не видит никакой выгоды от кеширования, в то время как анонимные посетители видят её в полной мере.

> **Warning:** Поскольку вы обычно авторизованы, тестирование поведения кеша в обычном браузере введёт вас в заблуждение. Тестируйте в приватном окне или в браузере, в котором вы не вошли в систему.

## Объектный кеш

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

На карточке отображается индикатор **Включено** или **Выключено**, а если он включён, также дата включения. Используйте **Включить** и **Выключить**, чтобы изменить это состояние.

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

Использование обоих видов кеширования одновременно - обычная конфигурация. Кеширование всей страницы обрабатывает анонимный трафик, а объектный кеш ускоряет всё остальное, что всё равно должно выполнять PHP.

## Что включить

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

## Устранение неполадок

**Я обновил сайт, но посетители по-прежнему видят старую версию.** Очистите кеш, затем прогрейте его. Если версия всё ещё устаревшая, помните, что может также присутствовать граничный кеш: см. [Очистка кеша CDN](https://support.kapsulehost.com/ru-ru/cdn-cache-purge).

**Кеширование мне ничего не даёт.** Вы почти наверняка авторизованы. Проверьте в приватном окне.

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

**На карточке написано, что кеширование входит в план Managed WordPress.** Ваш текущий тариф его не включает. Баннер ведёт на страницу тарифов.

**Проверка маршрутизации в очереди.** Кеширование включено, но подтверждение маршрутизации ещё не завершено. Подождите немного и обновите страницу.

**На странице отображается неверный персонализированный контент.** Весь персонализированный контент должен быть исключён из кеша страницы или отрисовываться на стороне клиента. Если плагин персонализирует вывод на странице, которая в остальном подлежит кешированию, не устанавливая при этом cookie-файл сессии, кеш страницы не может об этом узнать. Протестируйте в приватном окне и сообщите в поддержку, если обнаружите такую ситуацию.

## Похожие страницы

- [Производительность сайта и APM](https://support.kapsulehost.com/ru-ru/site-performance), чтобы оценить, действительно ли кеширование помогло.
- [Аналитика трафика сайта](https://support.kapsulehost.com/ru-ru/site-analytics) для просмотра коэффициента попаданий граничного кеша.
- [Включение CDN](https://support.kapsulehost.com/ru-ru/cdn-enabling), чтобы добавить граничный кеш перед всем вышеперечисленным.
- [Создание резервной копии](https://support.kapsulehost.com/ru-ru/taking-a-backup) перед внесением крупных изменений на рабочий сайт.
