Сжатие стилей, скриптов и html с плагином RG-Minify

Просмотров: 3818Комментарии: 9
MaxSite CMSПлагины
Сжатие стилей, скриптов и html с плагином RG-Minify

Для оптимизации загрузки страниц вашего сайта в первую очередь необходимо уменьшить количество HTTP запросов к серверу. Для этого и предназначен небольшой плагин под названием RG-Minify для MaxSite CMS. Плагин объединяет файлы скриптов js. и перемещает их в конец страницы, где им самое место, а также объединяет .css стили сайта. Также RG-Minify может сжать и сам код HTML страницы, удалив лишние пробелы.

Принцип работы:

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

В результате мы получим загрузку css стилей в шапке сайта и javascript в конце документа в следующем виде:

<link type="text/css" media="all" href="
   path_to_cache/minify_20d857297910a7f539880540c984e6d1.css" rel="stylesheet" />
<script type="text/javascript" defer
   src="path_to_cache/minify_ec8eba59274289b0dfa4877666d40ea4.js"></script>

Раньше я не уделял особого внимания оптимизации сайта, но со временем начинаешь задумываться, почему твой сайт грузиться дольше других. Потом натыкаешь на какой-нибудь тестер вроде PageSpeed Insights от Google. И уже через некоторое время начинаешь гордиться своими 90 из 100 баллами, которые набираются благодаря таким плагинам. Многие подобные плагины ломают скрипты, и приходится от них отказываться, но данный плагин основан на уже испытанных классах, которые выполняют эту работу качественно. По крайней мере, у меня все работает как часы.

Плагин уже настроен по-умолчанию, и при включении начнет работать в полную силу, но все равно имеет большое количество опций для внесения своих корректив.

Настройки плагина

В основном нам понадобиться оптимизация (объединение и перемещение) и минификация стилей и скриптов. Но для решения некоторых проблем, можно воспользоваться и другими настройками.

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

Опции Помещать JS в HEAD и Искать скрипты только в HEAD пригодятся для любителей использования тем Jquery.

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

Добавить обертку try-catch - призвана помочь, если все же какой-то скрипт ломается при оптимизации, и вы не хотели бы, чтоб из-за этого половина JS скриптов перестала работать.

Создавать data:УРЛы для картинок - небольшие фоновые изображения будут встроены в CSS при включении данной опции, уменьшит количество запросов, но при этом CSS файл порядком вырастет.

Отложить загрузку CSS - данная опция вряд ли кому-то пригодится, но все же ее можно использовать. Все стили будут грузиться только после загрузки страницы, в следствии чего гость увидит текст сразу, а затем он уже преобразиться в красивый шаблон сайта.

Некоторые особенности

Если вы не хотите, чтобы JQuery попадал под оптимизацию, можно его добавить в исключения. Но при этом если Вам нужно, чтоб JQuery грузился только после загрузки страницы, то поможет опция MaxSite CMS - Настройки -> Основные -> Служебные -> Вариант загрузки JQuery и выставляем вариант не со своего сайта. Тогда библиотека не будет объединена со остальными, но подключение скрипта будет выполнено внизу страницы.

Кэш сохраняется в стандартной папке CMS с добавлением каталога assets. Каталог создается автоматически со всеми необходимыми файлами. А кэш легко очищается в настройках плагина.

Скачать RG-Minify

Комментариев: 9 RSS

1 Денис Скрипник 06-10-2014 20:17

Здравствуйте. Благодарю за плагин - пошёл использовать.

Идея: создать pro версию с возможностью оптимизации изображений, что тоже актуально.

2 Виктор 20-10-2014 16:16

Спасибо за хороший плагин.

3 Евгений 23-10-2014 15:54

После установки в админке плагина выскакивает ошибка:

A PHP Error was encountered

Severity: Notice

Message: Undefined index: description

...

4 Admin 23-10-2014 20:57

Точно, последнюю версию тестировал на продакшене, где показ таких уведомлений у меня отключен.

6 Руслан 19-11-2014 14:15

Конфликтует с вашим плагином попап-монстр

Когда включаешь минифай попап перестает работать

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

7 Александр 20-03-2015 17:34

Точно, popup буксует... иде-то конЬфликт.

..прикидываю что эта ошибка и с футером завязана (если там выводится окно).

Копаюсь.....................................................................

8 Илья Земсков 01-09-2015 10:41

Заметил в результирующем сжатом css неверную обработку относительных ссылок. В частности, при добавлении к относительному адресу картинки была конструкция вида 'домен//application/'. Пока вылечил эти два слеша добавлением в /plugins/rg_minify/classes/minifyStyles.php после строки 486 кода:

$code = str_replace('//application/', '/application/', $code);

Может как-то иначе надо было...

И ещё, если относительная ссылка начинается с двух точек, то добавление полного пути шаблона спереди к этой строчки как-то странно смотрится...

Руслан, как думаешь, с этим можно что-то сделать?

9 Admin 01-09-2015 21:14

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

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

     

  

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)