Плагины: минифицируем код HTML

Сжатие кода HTML

 

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

Минификация – это понятие для сжатия кода с целью уменьшения его размера и увеличения скорости загрузки страниц сайта. И если файлы еще css/js еще можно хранить на сервере сжатыми, с HTML-кодом такой номер при использовании CMS не пройдет. Выход один – собственный плагин для минификации.


Итак, создаем новый плагин  и пишем следующий код:

<?php 
  $output = $modx--->resource->_output;
  $output= preg_replace('|\s+|', ' ', $output);
  $modx->resource->_output = $output;
Включение плагина должно происходить по событию onWebPagePreRender, соответственно, в системных событиях отмечаем нужный пункт.

Однако с минификацией кода HTML следует быть очень осторожным, поскольку в некоторых случаях, когда в коде прописано отображение с сохранением пробелов или переводов строк, минификация может все несколько испортить.

Как пример, использование тега <pre> для вывода определенного кода в статьях на сайте совместно с плагином минификации приводит к отображению его (кода) в виде одной строки, хотя при этом все необходимые пробелы сохраняются в надлежащем виде.