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

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

Что даёт композитный режим и когда он нужен

Главный выигрыш - время ответа сервера: именно та метрика TTFB, которую мы разобрали в статье как уменьшить TTFB. На типовом каталоге композит сокращает ответ с 600-1200 мс до 50-100 мс. Бонусом падает нагрузка на хостинг: сервер перестаёт пересобирать одни и те же страницы тысячи раз в день, и сайт спокойнее переживает наплывы трафика из рекламы.

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

Почему у многих композит сломан или отключён

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

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

Как включить композитный сайт: пошагово

  1. Сделайте бэкап и тестовую копиюКомпозит меняет поведение всего сайта - обкатывайте на копии, а не на живых посетителях.
  2. Включите автокэшированиеКомпозит работает поверх обычного кэша компонентов: сначала в настройках включается автокэширование, иначе выигрыша не будет.
  3. Запустите мастер композитаНастройки главного модуля, вкладка «Композитный сайт»: мастер проверит совместимость шаблона и компонентов и покажет, что мешает.
  4. Разметьте динамические зоныКорзину, авторизацию, сравнение и персональные блоки переведите в динамический режим компонента или оберните в область, исключённую из кэша. Это самый важный и самый пропускаемый шаг.
  5. Настройте хранение и лимит кэшаВыделите композиту достаточно места (для крупного каталога - гигабайты) и выберите хранилище: файлы, memcached или Redis на нагруженных проектах.
  6. Проверьте глазами и тестамиПройдитесь по сайту как гость и как авторизованный пользователь: корзина своя, телефоны актуальные, формы работают. Замерьте TTFB до и после.
Важно. Признак живого композита - зелёная молния в заголовке ответа (X-Bitrix-Composite: Cache) или пометка в панели администратора. Если молния серая или её нет на большинстве страниц, композит числится включённым, но не работает - эффекта ноль, а у вас ложное чувство сделанной оптимизации.

Настроим композит без спецэффектов

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

Включить композит

Композит и обмен с 1С: как не обнулять кэш каждый час

Частая беда интернет-магазинов: полный обмен с 1С сбрасывает композитный кэш целиком, и после каждого импорта сайт снова медленный, пока слепки не пересоберутся. Лечится это переходом на изменённый (дифференциальный) обмен, когда обновляются только изменившиеся товары, и точечной инвалидацией кэша. Настройка тоньше, чем галочка в админке, но именно она отличает композит «для галочки» от композита, который реально держит скорость круглосуточно.

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

Типичные ошибки при включении композита

  • Включили и забыли - молния горит на главной, а каталог и карточки товаров работают мимо кэша
  • Не проверили авторизованных - гостям всё хорошо, а залогиненные пользователи видят кашу из данных
  • Оставили маленький лимит кэша - слепки вытесняют друг друга, и процент попаданий держится около нуля
  • Забыли про формы - CSRF-токены попали в статический слепок, и отправка форм ломается для части посетителей
  • Не перепроверили после доработок - новый функционал добавили без разметки динамики, и композит тихо отключился на половине страниц

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

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

Композитный сайт доступен на моей редакции Битрикс?
Технология входит во все актуальные коммерческие редакции 1С-Битрикс, начиная со «Старта». Разница в том, что на младших редакциях меньше штатных динамических компонентов, но для корпоративного сайта этого достаточно.
Включили композит - сайт стал показывать чужую корзину. Что делать?
Немедленно выключить композит и разметить динамические зоны: корзина попала в статический слепок. Это не баг технологии, а пропущенный этап настройки. После разметки блока корзины как динамического проблема уходит.
Чем композит отличается от обычного кэширования компонентов?
Обычный кэш ускоряет сборку страницы внутри PHP: компоненты не ходят в базу, но PHP всё равно запускается. Композит отдаёт готовый HTML вообще без генерации - поэтому и выигрыш на порядок больше. Работают они в связке: композит поверх автокэширования.
Сколько стоит настройка композитного сайта?
Типовой корпоративный сайт - 200-400 BYN, интернет-магазин с обменом 1С и личным кабинетом - 400-900 BYN: цена зависит от количества динамических блоков и сторонних модулей. Аудит текущего состояния кэширования делаем бесплатно.

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