Вы нажали "Включить" в разделе композитного сайта, а 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 и чем он не похож на обычный кэш
Композитный кэш - готовый HTML-файл страницы, который сервер отдает гостю почти мгновенно. Обычный кэш компонентов хранит куски PHP; композит собирает финальную страницу и может отдать ее без PHP. Динамика (корзина, имя) подгружается через AJAX к /bitrix/tools/composite_data.php. TTFB (time to first byte) - время до первого байта ответа; композит режет именно его.
| Что сравниваем | Кэш компонентов | Композитный сайт | CRM-портал |
|---|---|---|---|
| Что кэшируется | Результат отдельных блоков (новости, меню) | Готовая HTML-страница целиком | Другой продукт, не ваш сайт на домене |
| Кто видит ускорение | Частично на тяжелых блоках | Анонимные гости на типовых URL | Не применимо к CMS на хостинге |
| Наш фокус | Базовый уровень, всегда включен | Дополнительный уровень поверх компонентов | Только чтобы не путать в выдаче |
Делайте: включайте композит, если главная и каталог тормозят у гостей без авторизации. Не делайте: ищите настройки в CRM-портале — это другой продукт.
Выберите Автокомпозит или ручной Композит под тип сайта
Автокомпозит - режим "из коробки" для корпоративного сайта и лендинга: система голосует "за" по умолчанию. Ручной Композит - для магазина с персональными ценами и кастомной версткой; динамику оборачивают через setFrameMode или createFrame в шаблоне.
| Критерий | Автокомпозит | Ручной Композит |
|---|---|---|
| Тип проекта | Коробочный сайт, блог, услуги | ИМ с фильтрами, ЛК, нестандартная верстка |
| Настройка | Вкладка "Автокомпозит" в админке | Вкладка "Композит" + правки шаблонов |
| Режим перезаписи | "Стандартный" для первой диагностики | Тот же на старте, потом по политике проекта |
Делайте: смените режим только после полного выключения предыдущего - иначе кэш смешается. Не делайте: включайте Автокомпозит на магазине с умным фильтром без проверки лога - фильтр часто голосует "против".
Настройте композит в админке до включения NGINX
Путь: "Настройки → Настройки продукта → Композитный сайт" (/bitrix/admin/composite.php). Перед первым включением обязательно очистите кэш компонентов - иначе в снимок попадет старый HTML.
- Очистите кэш: "Настройки → Производительность → Очистить кэш" (полная очистка компонентов).
- Добавьте все домены и поддомены сайта в список - иначе регион на поддомене не попадет в композит.
- Включите "Игнорировать параметры URL" для utm, yclid и прочей рекламной метки - иначе каждый клик из рекламы создает новый снимок.
- На вкладке "Автокомпозит" или "Композит" нажмите "Включить" и выберите режим перезаписи "Стандартный".
- Исключите личный кабинет, оформление заказа и формы с капчей через настройки компонентов или отключение движка на нужных страницах.
- Для мультирегиональности не держите регионы на одном домене с композитом - кэш будет бесконечно перезаписываться; вынесите регионы на поддомены и добавьте их в список доменов.
Один компонент "против" отключает композит на всей странице. Делайте: после правок очищайте composite и html_pages по чек-листу очистки кэша. Не делайте: регионы на одном домене без поддоменов.
Подключите NGINX на BitrixVM и проверьте заголовок ответа
NGINX (веб-сервер перед PHP) может отдавать файл из /bitrix/html_pages/ без запуска PHP. На BitrixVM это отдельный шаг после админки.
Схема проверки:
Админка: включить композит → BitrixVM: меню 8 → пункт 6 (composite cache) → инкогнито: двойной GET главной → DevTools: заголовок X-Bitrix-Composite
- В консоли BitrixVM откройте "8. Configure pool sites".
- Выберите "6. Configure nginx to use composite cache" для нужного сайта.
- Убедитесь, что в пуле стоит Composite=Y (через тот же мастер или CLI).
- Альтернатива CLI:
/opt/webdir/bin/bx-sites -o json -a composite --enable --site=ваш-домен.ru. - Перезагрузите NGINX после изменения конфигурации.
Значения заголовка X-Bitrix-Composite в Network браузера:
- Cache (200) - PHP записал снимок в файлы, повторный запрос быстрый.
- Nginx (file) или Nginx (memcached) - NGINX отдал снимок напрямую, PHP не запускался.
- Заголовка нет - композит не сработал; смотрите лог отладки и настройки VM.
Без BitrixVM нужен try_files к html_pages. Тарифы - в гайде по хостингу или на Beget. Делайте: проверьте заголовок X-Bitrix-Composite, а не только иконку в админке — так вы увидите реальный результат ускорения.
Проверьте скорость, отладку и типичные блокеры каталога
Быстрая проверка без разработчика:
- Откройте сайт в режиме инкогнито (без cookie авторизации).
- Обновите главную два раза подряд - второй запрос должен быть заметно быстрее.
- В DevTools → вкладка Network → первый документ → Response Headers → ищите X-Bitrix-Composite.
- Добавьте к URL параметр
?ncc=1- композит принудительно выключится; сравните время с обычным URL. - Установите расширение Bitrix Composite Notifier для визуальной подсказки на публичной части.
- В админке откройте отладку композита и список закэшированных страниц - ищите голосования "против".
Частые блокеры на каталоге:
- 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-снимок.