# Кэш сайта: что ускорять и какие страницы исключать

Источник: https://quicklanding.ru/knowledge/site-cache-strategy/

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

После включения кеша главная ускорилась, но в корзине осталась старая сумма, а в форме перестал работать защитный токен. Значит, правила выбраны слишком широко. Кеширование нужно проектировать по типам данных и действий. Ускорять можно то, что допустимо повторно использовать, с понятным сроком и способом обновления.

## Разберите уровни хранения

![Монитор и ноутбук в рабочем пространстве](/assets/images/knowledge/site-cache-strategy.webp)

Копия может находиться в браузере, CDN, серверном кеше или внутри приложения. Для каждой страницы определите, какие уровни участвуют. Кнопка очистки в CMS не обязательно удаляет ответ из CDN и браузера. При поиске старого содержимого проверяйте фактические заголовки и путь запроса.

Не смешивайте кеш файлов и готовой HTML-страницы. Изображение с версией в адресе можно хранить иначе, чем страницу с меняющейся ценой. Данные расчёта доставки также имеют собственную актуальность. Запишите, какой источник считается главным и какие события делают сохранённый результат непригодным.

## Отделите общие и персональные ответы

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

Директива private ограничивает обычное HTTP-кеширование частным кешем, а no-store запрещает хранение ответа в рамках этой политики. No-cache означает проверку актуальности перед повторным использованием, а не запрет сохранения. Управляемые кеши могут иметь собственные правила, поэтому одних заголовков без сверки конфигурации недостаточно.

## Назначьте исключения по сценариям

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

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

## Опишите обновление содержимого

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

| Данные | Что согласовать |
| --- | --- |
| Общая статья | Срок и публикацию новой версии |
| Цена или наличие | Допустимую задержку и событие обновления |
| Кабинет клиента | Защиту от выдачи другому пользователю |
| Форма | Актуальность токена и отправку после ожидания |

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

## Проверьте первую загрузку и повтор

Пройдите гостевой просмотр, вход, разные аккаунты, изменение корзины и выход. Сравните содержимое и заголовки после обновления данных. Для форм добавьте длительное ожидание и повторное открытие. Ускорение не считается принятым, если обычное действие работает только сразу после очистки.

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

## Связанные материалы

[Медленный ответ сервера: что проверить до смены хостинга](/knowledge/server-response-time/)

[Лабораторный тест и реальные посещения: почему оценки отличаются](/knowledge/page-speed-lab-field/)

[Резервная копия сайта: как проверить, что её можно восстановить](/knowledge/website-backup-restore/)

## Документация для проверки

[Уровни и правила HTTP-кеширования: MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching)

Ссылки на документацию проверены 8 октября 2026 года. Названия настроек и возможности сервисов могут меняться; перед внедрением сверяйте факты с актуальной документацией.

## Частые вопросы

### No-cache запрещает браузеру хранить ответ?

Нет. Он требует проверки актуальности перед повторным использованием. Для запрета хранения применяется no-store, а правила управляемого кеша нужно проверять отдельно.

### Можно одинаково кешировать статью и личный кабинет?

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

### Почему после очистки CMS посетитель ещё видит старую страницу?

Копия может оставаться в другом слое: CDN, браузере или серверном кеше. Разберите фактический путь ответа и предусмотренный механизм обновления.

Автор: Владимир Николаев

