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

Как работает композит. Первый посетитель собирает страницу как обычно, а Битрикс сохраняет готовый HTML в кэш. Следующим страница отдаётся мгновенно, ещё до запуска PHP, а персональные блоки догружаются вторым запросом через AJAX. Отсюда и эффект «сайт летает», и вся хрупкость: что попало в статический слой - видят все.

Типовые поломки из-за композитного кэша

  • Чужая корзина или чужое имя в шапке - персональный блок закэширован как статика
  • Формы падают с «истекла сессия» - в кэш попал одноразовый токен bitrix_sessid, и проверка CSRF не проходит
  • Старые цены и остатки - кэш не сбрасывается после обмена с 1С или импорта
  • Задвоение аналитики - счётчики и цели срабатывают и в статике, и при догрузке динамики
  • Страница «мигает» - блоки скачут при подмене динамических зон, посетителя это пугает

Как готовить композит правильно: 6 шагов

  1. Проведите инвентаризацию блоковПройдитесь по шаблону и выпишите всё персональное и часто меняющееся: корзина, авторизация, избранное, просмотренные товары, формы.
  2. Переведите живые блоки в динамический режимПерсональные компоненты должны догружаться отдельно или быть исключены из композита - это настройка компонента, а не магия.
  3. Проверьте формы и токеныВсе формы с проверкой bitrix_sessid обязаны получать токен динамически, иначе посетители из кэша будут ловить ошибку сессии.
  4. Настройте сброс кэша по событиямРелиз, обмен с 1С, импорт каталога, смена цен - каждое из этих событий должно инвалидировать композит автоматически.
  5. Следите за квотой кэшаПереполненная квота заставляет Битрикс сбрасывать кэш целиком: сайт периодически «тупит» без видимой причины. Выделите место с запасом.
  6. Тестируйте глазами покупателяДва браузера: в одном авторизованы и наполнили корзину, во втором зашли инкогнито. Во втором не должно быть никаких следов первого.
Важно. Самая коварная поломка - формы, которые перестали отправляться. Внешне сайт быстрый и красивый, а заявки тихо умирают на проверке токена. После включения композита обязательно отправьте тестовую заявку с чистого браузера; если заявки уже пропадают - разберитесь по нашей статье почему заявки с сайта не приходят.

Композит показывает чужие корзины или ломает формы?

Разделим страницы на статику и динамику, починим токены и настроим автосброс кэша. Сайт останется быстрым - и перестанет чудить. Смета до начала работ.

Настроить композит

Композит включили - проверяйте эффект цифрами

Задача композита - скорость, поэтому результат измеряется, а не оценивается на глаз. Снимите замеры до и после: время ответа сервера и оценку производительности в PageSpeed Insights - как читать его отчёт, мы разбирали в отдельной статье. Если после включения композита цифры не изменились, значит кэш не срабатывает: типичные причины - страницы постоянно инвалидируются или под композит не попали самые посещаемые разделы. Полный набор приёмов ускорения собран в материале как ускорить сайт.

Совет. Включайте композит поэтапно: сначала главная и разделы каталога, неделя наблюдений - затем карточки товаров и контентные страницы. Так любая поломка локализуется сама собой, а не превращается в квест «что из ста изменений сломало сайт».

Частые вопросы про композитный кэш

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

Композит - как острый нож: в умелых руках ускоряет работу в разы, в неумелых - оставляет порезы в виде чужих корзин и мёртвых форм. Если хотите скорость без сюрпризов, закажите доработку сайта в Alavir: настроим композит, проверим формы и аналитику, покажем замеры до и после. Битриксом занимаемся с 2013 года - 450+ проектов, консультация бесплатная.