Как настроить композитный сайт на 1С-Битрикс и проверить кэш?

Как настроить композитный сайт на 1С-Битрикс и проверить кэш?

Вы нажали "Включить" в разделе композитного сайта, а PageSpeed почти не изменился. В поиске по запросу "композитный сайт битрикс" половина статей про CRM-портал Bitrix24, хотя ваш проект на "1С-Битрикс: Управление сайтом". Частая причина: в админке композит включен, а веб-сервер NGINX не отдает готовый HTML-снимок, либо один компонент на странице "проголосовал против" кэша. Ниже - пошагово: выбор режима, настройка BitrixVM, проверка заголовка X-Bitrix-Composite и связка с очисткой кэша.

Композитный сайт работает только на CMS "Управление сайтом", не в Bitrix24. Сначала очистите кэш компонентов, выберите Автокомпозит для коробочного сайта или ручной Композит для магазина, затем включите composite в NGINX на BitrixVM. Проверка: два анонимных GET подряд в инкогнито - во втором ответе заголовок X-Bitrix-Composite: Cache или Nginx (file). Если каталог тормозит после фильтра, смотрите лог отладки на голосования "против".

Речь про свой сайт на сервере с путем "Настройки → Настройки продукта → Композитный сайт". Облачный CRM-портал — другой продукт с другим меню; его настройки не ускорят ваш каталог. Если сервер еще не подобран, начните с гайда по хостингу для Битрикс - там BitrixVM и требования к PHP.

Представьте ситуацию: маркетолог включил Автокомпозит на корпоративном сайте, на практике главная стала быстрой — а каталог с умным фильтром по-прежнему грузится долго. В логе отладки catalog.smart.filter пишет Composite was rejected; типичная ошибка — искать ускорение в CRM-портале, хотя сайт на «Управлении сайтом». Например, подрядчик присылает гайд про облако, а NGINX на BitrixVM так и не включили — проблема с TTFB остаётся.

Разберите, зачем композит на CMS и чем он не похож на обычный кэш

Сравнительная таблица: кэш компонентов, композитный сайт и Bitrix24 — чем отличаются

Композитный кэш - готовый HTML-файл страницы, который сервер отдает гостю почти мгновенно. Обычный кэш компонентов хранит куски PHP; композит собирает финальную страницу и может отдать ее без PHP. Динамика (корзина, имя) подгружается через AJAX к /bitrix/tools/composite_data.php. TTFB (time to first byte) - время до первого байта ответа; композит режет именно его.

Что сравниваем Кэш компонентов Композитный сайт CRM-портал
Что кэшируется Результат отдельных блоков (новости, меню) Готовая HTML-страница целиком Другой продукт, не ваш сайт на домене
Кто видит ускорение Частично на тяжелых блоках Анонимные гости на типовых URL Не применимо к CMS на хостинге
Наш фокус Базовый уровень, всегда включен Дополнительный уровень поверх компонентов Только чтобы не путать в выдаче

Делайте: включайте композит, если главная и каталог тормозят у гостей без авторизации. Не делайте: ищите настройки в CRM-портале — это другой продукт.

Выберите Автокомпозит или ручной Композит под тип сайта

Схема выбора: Автокомпозит для коробочного сайта или ручной Композит для магазина

Автокомпозит - режим "из коробки" для корпоративного сайта и лендинга: система голосует "за" по умолчанию. Ручной Композит - для магазина с персональными ценами и кастомной версткой; динамику оборачивают через setFrameMode или createFrame в шаблоне.

Критерий Автокомпозит Ручной Композит
Тип проекта Коробочный сайт, блог, услуги ИМ с фильтрами, ЛК, нестандартная верстка
Настройка Вкладка "Автокомпозит" в админке Вкладка "Композит" + правки шаблонов
Режим перезаписи "Стандартный" для первой диагностики Тот же на старте, потом по политике проекта

Делайте: смените режим только после полного выключения предыдущего - иначе кэш смешается. Не делайте: включайте Автокомпозит на магазине с умным фильтром без проверки лога - фильтр часто голосует "против".

Настройте композит в админке до включения NGINX

Чеклист настройки композита в админке Битрикс до включения NGINX

Путь: "Настройки → Настройки продукта → Композитный сайт" (/bitrix/admin/composite.php). Перед первым включением обязательно очистите кэш компонентов - иначе в снимок попадет старый HTML.

  1. Очистите кэш: "Настройки → Производительность → Очистить кэш" (полная очистка компонентов).
  2. Добавьте все домены и поддомены сайта в список - иначе регион на поддомене не попадет в композит.
  3. Включите "Игнорировать параметры URL" для utm, yclid и прочей рекламной метки - иначе каждый клик из рекламы создает новый снимок.
  4. На вкладке "Автокомпозит" или "Композит" нажмите "Включить" и выберите режим перезаписи "Стандартный".
  5. Исключите личный кабинет, оформление заказа и формы с капчей через настройки компонентов или отключение движка на нужных страницах.
  6. Для мультирегиональности не держите регионы на одном домене с композитом - кэш будет бесконечно перезаписываться; вынесите регионы на поддомены и добавьте их в список доменов.

Один компонент "против" отключает композит на всей странице. Делайте: после правок очищайте composite и html_pages по чек-листу очистки кэша. Не делайте: регионы на одном домене без поддоменов.

Подключите NGINX на BitrixVM и проверьте заголовок ответа

NGINX (веб-сервер перед PHP) может отдавать файл из /bitrix/html_pages/ без запуска PHP. На BitrixVM это отдельный шаг после админки.

Схема проверки:
Админка: включить композит → BitrixVM: меню 8 → пункт 6 (composite cache) → инкогнито: двойной GET главной → DevTools: заголовок X-Bitrix-Composite
  1. В консоли BitrixVM откройте "8. Configure pool sites".
  2. Выберите "6. Configure nginx to use composite cache" для нужного сайта.
  3. Убедитесь, что в пуле стоит Composite=Y (через тот же мастер или CLI).
  4. Альтернатива CLI: /opt/webdir/bin/bx-sites -o json -a composite --enable --site=ваш-домен.ru.
  5. Перезагрузите NGINX после изменения конфигурации.

Значения заголовка X-Bitrix-Composite в Network браузера:

  • Cache (200) - PHP записал снимок в файлы, повторный запрос быстрый.
  • Nginx (file) или Nginx (memcached) - NGINX отдал снимок напрямую, PHP не запускался.
  • Заголовка нет - композит не сработал; смотрите лог отладки и настройки VM.

Без BitrixVM нужен try_files к html_pages. Тарифы - в гайде по хостингу или на Beget. Делайте: проверьте заголовок X-Bitrix-Composite, а не только иконку в админке — так вы увидите реальный результат ускорения.

Проверьте скорость, отладку и типичные блокеры каталога

Быстрая проверка без разработчика:

  1. Откройте сайт в режиме инкогнито (без cookie авторизации).
  2. Обновите главную два раза подряд - второй запрос должен быть заметно быстрее.
  3. В DevTools → вкладка Network → первый документ → Response Headers → ищите X-Bitrix-Composite.
  4. Добавьте к URL параметр ?ncc=1 - композит принудительно выключится; сравните время с обычным URL.
  5. Установите расширение Bitrix Composite Notifier для визуальной подсказки на публичной части.
  6. В админке откройте отладку композита и список закэшированных страниц - ищите голосования "против".

Частые блокеры на каталоге:

  • catalog.smart.filter на URL с set_filter - по умолчанию голосует "против"; правка шаблона через setFrameMode(true) или осознанное исключение страницы.
  • Корзина в шапке - один "против" на всю страницу; оборачивайте блок корзины в динамическую зону.
  • SEO-модуль умного фильтра с 301-редиректом - конфликтует с композитом; сверьте настройки модуля и редиректов.

Скорость связана с Core Web Vitals - SEO сверьте с гайдом по SEO на Битрикс. Делайте: тестируйте каталог после фильтра. Не делайте: композит на POST-формах с капчей. Если TTFB не падает из-за "против" в логе - напишите нам, разберем отладку.

Автор: Максим Мольков, разработчик 1С-Битрикс.
Источники: документация "Композитный сайт", курс BitrixVM и NGINX, проверка композитного кэша.

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

Как включить композитный сайт в Битрикс?

Очистите кэш компонентов, откройте "Настройки → Настройки продукта → Композитный сайт", добавьте домены, включите Автокомпозит или Композит, затем на BitrixVM активируйте composite cache в меню 8→6. Проверьте двойным GET в инкогнито заголовок X-Bitrix-Composite.

Чем автокомпозит отличается от ручного композита?

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

Нужен ли NGINX для композита?

Для максимального ускорения - да. Без настройки NGINX на BitrixVM композит часто работает только через PHP и заголовок Cache, без отдачи файла напрямую (Nginx file). В админке галочки недостаточно - нужен шаг в пуле сайтов или CLI bx-sites composite --enable.

Почему композит не ускоряет каталог с фильтром?

Компонент catalog.smart.filter на URL с set_filter часто пишет Composite was rejected в логе отладки. Один "против" отключает композит на всей странице. Решение: правка шаблона фильтра (setFrameMode), исключение страницы или настройка SEO-модуля без конфликтующего 301.

Что означает параметр ncc=1 в URL?

Параметр ncc=1 принудительно отключает композит для этого запроса. Откройте ту же страницу с ncc=1 и без него в инкогнито и сравните время ответа - так видно реальный выигрыш от кэша. Для постоянной работы параметр не нужен.

Когда очищать композитный кэш после правок?

После изменения контента, шаблонов или настроек компонентов очищайте composite, managed и html_pages - не только общий кэш в админке. Полный порядок действий описан в отдельном гайде по очистке кэша на Битрикс; иначе гости увидят старый HTML-снимок.

Читайте также

Интеграции с 1С и API
1073 6 мин.

Как настроить регистрацию и личный кабинет покупателя на 1С-Битрикс?

Пошаговая настройка регистрации на сайте битрикс: Главный модуль, main.register, system.auth.form и sale.personal.section с историей заказов и 152-ФЗ.
Интеграции с 1С и API
941 6 мин.

Как настроить скидки и промокоды на 1С-Битрикс: правила корзины и купоны

Пошаговый гайд по скидкам в CMS-магазине: скидка на товар, правило корзины от суммы, купоны с лимитом, приоритеты без конфликтов и тестовый заказ. Не Bitrix24.
Интеграции с 1С и API
757 15 мин.

Что такое компонент в Битриксе и как он работает

Каждый разработчик, впервые столкнувшийся с Битриксом, проходит через своеобразный обряд посвящения. Вначале кажется, что это просто CMS, где можно поправить HTML в визуальном редакторе или дописать пару строк CSS. Но однажды наступает момент, когда нужно изменить логику вывода новостей, отфильтровать товары по хитрому свойству или добавить на страницу нечто совершенно новое. И тут он впервые слышит это слово — «компонент». Для многих этот момент становится стеной. Система, казавшаяся понятной, вдруг превращается в черный ящик, полный непонятных файлов и странных переменных. Но стоит лишь раз заглянуть под капот, как эта стена рассыпается, превращаясь в набор удивительно логичных и мощных строительных блоков. Понимание компонентов — это тот самый щелчок, после которого разработка на Битрикс из мучения превращается в творчество.

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

Интеграции с 1С и API
714 2 мин.

Установка Composer в 1С-Битрикс

Установка Composer в проекте на 1С-Битрикс требует учета особенностей платформы, чтобы обеспечить корректную работу и интеграцию с системой.