6  /  18

Настройка композитного режима
Обратите внимание на эту аннотацию, прежде чем настраивать и включать композитный режим.
Использование композитного режима позволяет значительно ускорить отдачу контента страницы посетителю, но в связи с особенностями композитного режима и особенностями работы аудита Google Page Speed Insight, оценка последнего будет падать, по сравнению с оценкой без композитного режима. Это связано в первую очередь с дополнительным обращением браузера сайта за данными (фоновым ajax запросом).
Несмотря на то, что оценка упадет, сайт станет работать быстрее, т.к. модуль Ammina Optimizer выполняет комплекс работ, которые в т.ч. влияют на скорость рендеринга (отображения) страниц сайта.
Данные раздел описывает действия, которые необходимо провести для правильной настройки композитного режим вместе с модулем оптимизации.
Обратите внимание, что прежде, чем настраивать и включать композитный режим, необходимо провести полную настройку модуля оптимизации без композитного режима. Только в этом случае можно получить максимальные результаты скорости работы сайта. Корректная настройка позволит правильно обрабатывать поддержку браузером посетителя изображений в формате WebP.

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

Возможны 2 варианта:

  • Без настройки nginx - обычно встречается на виртуальных хостингах и на VDS, которые не используют конфигурацию BitrixVM. В этом случае запрос идет непосредственно на бэкэнд веб-сервера и ядро битрикса самостоятельно определяет, отдавать данные из композитного кэша, либо необходимо сначала кэш данной страницы сформировать.
  • С настройкой nginx - обычно встречается при использовании виртуальной машины BitrixVM, если было выполнено задание по настройке nginx для композитного кэша. В этом случае, при наличии композитного кеша страницы, обращение к бэкэнду не происходит и контент страницы отдается посетителю непосредственно nginx.

Настройка, если нет отдельной конфигурации nginx для работы с композитным кэшем.

Для корректной отдачи контента композитного кеша необходимо, чтобы первым файлом, который будет выполнятся до подключения ядра битрикса, был файл /bitrix/modules/ammina.optimizer/system/prepend.php

Подключить данный файл можно 2 способами:

  1. Добавить код в файл /bitrix/header.php, чтобы содержимое файла выглядело следующим образом:
    <? @include($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/ammina.optimizer/system/prepend.php");
    require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog.php"); ?>
    
  2. Добавить директиву в файл .htaccess,
    php_value auto_prepend_file [DOCUMENT_ROOT]/bitrix/modules/ammina.optimizer/system/prepend.php
    
    заменим шаблон [DOCUMENT_ROOT] на путь к корневой папке вашего сайта. Узнать данный путь можно выполнив в консоли PHP-запроса команду:
    echo $_SERVER['DOCUMENT_ROOT']; 
    

Настройка при наличии конфигурации nginx для работы с композитным кэшем (BitrixVM)

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

В этом случае необходимо зайти на ваш сервер по протоколу SSH под пользователем root.

Разместить файл ammina_composite.conf по пути /etc/nginx/bx/conf/ammina_composite.conf

Скачать данный файл можно по этой ссылке: скачать файл

После этого в конфигурациях хостов nginx (по пути /etc/nginx/bx/site_avaliable/ будут находится конфиги виртуальных хостов nginx, названия файлов могут быть разные. Например - s1.conf ssl.s1.conf и тп) необходимо добавить подключение вышеуказанного файла, добавив директиву include bx/conf/ammina_composite.conf; перед первым упоминанием переменных композитного режима. Пример приведен на скриноте ниже:

Подключение настроек композитного режима для модуля Ammina.Optimizer

После этого необходимо выполнить команду service nginx restart