Кэширование сайта - это сохранение готовых результатов работы (страниц, картинок, запросов к базе), чтобы не вычислять их заново для каждого посетителя. Кэшей несколько уровней: браузерный хранит статику на устройстве посетителя, серверный и кэш CMS избавляют сервер от повторной генерации страниц, кэш базы данных ускоряет запросы, а CDN приближает файлы к пользователю географически. Быстрый сайт использует все уровни сразу - каждый закрывает свой участок пути.
Какие бывают кэши: карта уровней
| Уровень | Что хранит | Что даёт |
|---|---|---|
| Браузерный кэш | Картинки, стили, скрипты на устройстве посетителя | Повторные визиты грузятся почти мгновенно |
| CDN | Копии статики на серверах ближе к посетителю | Быстрая доставка файлов, разгрузка хостинга |
| Кэш веб-сервера | Готовые ответы nginx на частые запросы | Отдача без запуска PHP вообще |
| Кэш CMS и композит | Собранные компоненты и HTML-слепки страниц | Ответ сервера за десятки миллисекунд |
| Кэш PHP (opcache) | Скомпилированный код скриптов | PHP не перечитывает исходники на каждый хит |
| Кэш базы данных | Результаты частых SQL-запросов в памяти | Каталог и фильтры перестают дёргать диск |
Что включать в первую очередь: порядок по отдаче
- Браузерный кэшЗаголовки Cache-Control и Expires для статики: настраивается в конфигурации сервера или .htaccess за полчаса. Самый дешёвый шаг с заметным эффектом для постоянных посетителей.
- OpcacheПроверьте, что он включён на хостинге: без него PHP работает в разы медленнее. На нормальных площадках включён по умолчанию, но встречаются сюрпризы.
- Автокэширование CMSВ Битрикс - автокэширование компонентов: меню, каталог, списки перестают собираться из базы на каждый хит.
- Композитный режимHTML-слепки страниц целиком: главный рычаг времени ответа. Как включить его правильно, мы разобрали в статье про композитный сайт.
- Кэш в памяти (Redis или memcached)Для нагруженных проектов: кэш переезжает с диска в оперативную память и перестаёт упираться в файловую систему.
- CDNПоследний штрих для сайтов с географически разбросанной аудиторией и тяжёлой статикой.
Настроим кэширование на всех уровнях
Проведём аудит: какие кэши включены, какие простаивают, что сбрасывает их раньше времени. Настроим браузерный кэш, автокэширование, композит и Redis - с замерами до и после.
Почему кэш иногда вредит и как этого избежать
У кэширования два классических побочных эффекта. Первый - устаревшие данные: цена в 1С поменялась, а сайт показывает старую, потому что слепок ещё жив. Второй - персональные данные в общем кэше: чужая корзина или чужое имя в шапке. Оба лечатся правильной инвалидацией: кэш должен сбрасываться точечно при изменении данных, а персональные блоки - исключаться из общего слепка.
Кэш и обновление контента: как жить вместе
Правильно настроенный кэш обновляется сам: изменили товар - слепки затронутых страниц пересобрались, остальные живут дальше. Если после каждой правки приходится вручную чистить кэш, значит, зависимости настроены неверно - это типовая задача для разработчика на пару часов. Отдельная история - ночные обмены и импорты: их стоит завершать прогревом кэша, чтобы первые утренние посетители не собирали страницы заново. Прогрев - это обход ключевых страниц роботом сразу после импорта: к открытию рабочего дня слепки уже собраны, и сайт встречает посетителей на полной скорости, а не пересобирает каталог на первых живых людях.
Как проверить, что кэширование реально работает
Кэш - технология, которая любит числиться включённой и не работать. Проверка занимает десять минут. Откройте страницу дважды и сравните время ответа во вкладке Network: второй запрос закэшированной страницы должен быть в разы быстрее. Посмотрите заголовки ответа: для статики - Cache-Control со сроком жизни, для страниц Битрикс - пометка композита. В админке Битрикс загляните в панель производительности и статистику композитного кэша: процент попаданий ниже 60-70 - повод разбираться, кто сбрасывает слепки.
И контрольный вопрос владельцу: когда кэш проверяли последний раз? После каждого обновления платформы, установки модуля или смены хостинга картина может измениться. Регулярная проверка кэширования - штатный пункт нашего ежемесячного регламента поддержки, потому что «включено в прошлом году» и «работает сегодня» - разные утверждения.
Частые вопросы про кэширование сайта
Внёс правки на сайт, а изменений не видно. Это кэш?
Какой срок жизни кэша ставить для картинок и стилей?
Нужен ли Redis обычному корпоративному сайту?
Сколько стоит настройка кэширования сайта на Битрикс?
Итог: кэширование - это не одна галочка, а слоёная система, где каждый уровень экономит своё время. Настроить её раз и навсегда - типовая задача в рамках доработки сайта, а следить, чтобы кэш не разъезжался после обновлений и обменов, помогает абонентская поддержка. Начнём с бесплатного аудита - покажем, какие уровни у вас простаивают.












