Описать проблему ↗

Скорость

Композитный кеш Битрикс не ускоряет сайт или отдаёт старые данные

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

Редакция «починимсайт» · Обновлено · 3 мин. чтения

Что происходит и с чего начать

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

Что можно проверить самостоятельно

  1. Сравните первое и повторное открытие одной страницы гостем. Затем проверьте тестовый аккаунт и запишите, где меняются скорость, цена, корзина или другие персональные сведения.
  2. Измените контрольный товар согласованным способом и посмотрите, где появляется новое значение. Запишите различия между списком, карточкой и корзиной, не очищая всё до фиксации результата.
  3. Сообщите об обменах и ручной очистке кеша, которые влияют на симптом. Важны также дополнительные слои: CDN, прокси и кеш внутри приложения, если они используются.

Как понять результаты проверки

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

Что проверяет разработчик

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

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

На что обратить внимание

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

Как исправляют причину

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

Как убедиться, что проблема решена

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

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