Минификация (сжатие) исходного кода (HTML) в 1C-Bitrix на PHP
Хочу посвятить теме минификации несколько статей, в которой мы рассмотрим минификацию исходного кода сайта на различных популярных CMS.
Что такое минификация? Это процесс, при котором уменьшается исходный код сайта на выходе за счет удаления лишних пробелов, переводов строк, комментариев и прочих ненужных элементов. При этом функциональность сайта не теряется.
Если говорить еще проще – мы делаем HTML-код в одну строку.
Для чего это требуется? Таким образом мы удаляем мусор и уменьшаем вес страницы, тем самым в какой-то степени ускоряя загрузку сайта в целом.
Для того чтобы реализовать минификацию в 1C-Bitrix, воспользуемся событием «OnEndBufferContent» и для большей корректности работы сделаем условие на проверку раздела сайта.
Установка скрипта
1. Подключитесь к вашему сайту по FTP.
2. Откройте файл init.php в папке /bitrix/php_interface/.
3. Сразу после <? вставьте скрипт:
if(SITE_ID == 's1') {
function minify_html(&$buffer) {
$buffer = preg_replace(
array(
'/\>[^\S ]+/s',
'/[^\S ]+\</s',
'/(\s)+/s',
'/<!--(?![^<]*noindex)(.*?)-->/'
),
array(
'>',
'<',
'\\1',
''
),
$buffer
);
}
AddEventHandler('main', 'OnEndBufferContent', 'minify_html');
}
Здесь «s1» - это ID вашего сайта. Узнать можно по пути «Настройки» (левое меню) – «Настройки продукта» - «Сайты» - «Список сайтов» в панели управления сайтом.
Сохраните изменения и отправьте файл обратно на сайт.
4. При необходимости очистите кэш сайта. Установка закончена.