Dependency Minification: плагин для автоматической конкатенации и минификации скриптов и стилевых таблиц

Дата публикации:Август 20, 2014

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

tiny

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

Dependency Minification – плагин, который позволяет вам автоматически объединять и сжимать скрипты, а также стилевые таблицы. Это реинкарнация популярного плагина Optimize Scripts от команды X-Team, который в настоящее время официально удален.

Dependency Minification получает скрипты и стилевые таблицы, которые были добавлены через wp_enqueue_script и wp_enqueue_style, автоматически объединяя их и сжимая в логические группы с помощью WP-Cron. Когда вы впервые установите плагин и посетите его страницу настроек, вы увидите уведомление:

There are no minified dependencies yet. Try browsing the site.

После перехода во фронтэнд (что позволяет активировать WP-Cron) и посещения страницы настроек, вы заметите, что процесс минификации и конкатенации ресурсов начался:

dependency-minification-settings

Как вам узнать, что плагин справился с задачей? Наряду с информацией на странице настроек плагина, вы можете просмотреть исходный код страниц вашего сайта. Сжатые и объединенные зависимости будут представлены в коде с «/_minify/» в пути – например, следующим образом:

<script type='text/javascript' src='/_minify/wp_favico_js,wp_favicon_js,previewloader,pinterestRSSjs,yumprint-recipe-post,flexslider.df2e3e1be0c951f4cf3ea0932200f96c.314e77c0b7be97ba8913570dcc5ada67.js'></script>

Наведение курсора мыши на любую группу зависимостей на странице настроек позволяет увидеть три опции:

script-options

  • Expire – сделать элемент просроченным, чтобы корректно его регенерировать
  • Purge  — убрать пункт из кэша (удаляет немедленно, зачастую не рекомендуется)
  • View Minified – просмотреть сжатые зависимости в новом окне

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

  • Конечная точка для запросов сжатых ресурсов — /_minified, ее можно настраивать
  • Зависимости, хранящиеся на других доменах, исключаются по умолчанию, однако это поведение может быть изменено с помощью фильтрации опции default_exclude_remote_dependencies через dependency_minification_options, либо на индивидуальной основе через фильтр, упомянутый выше.
  • Просроченные сжатые скрипты и стилевые таблицы остаются до тех пор, пока не будут заменены новыми; это позволяет гарантировать то, что полностраничные кэши, которые ссылаются на просроченные сжатые ресурсы, не будут возвращать ошибку 404.
  • Относительные пути в стилевых таблицах (к примеру, для фоновых изображений) будут преобразованы в абсолютные, чтобы не было ошибки 404.

Суперадминистраторам WordPress будет полезно знать о том, что Dependency Minification совместим с мультисайтами. Если вы хотите использовать плагин в сети мультисайтов, инструкции по его установке говорят о том, что для начала нужно активировать плагин Proper Network Activation.

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

Источник: wptavern.com

Поделиться

2 комментария

  1. Дуо says:

    Плагин обновлялся год назад… что-то разработчики никуда не торопятся :)
    Все жду плагина, который сможет перебирать стили, оставляя только необходимые правила (что-то наподобии Critical Path CSS Generator), запихивать их инлайн в голову странички. Все жду… :)

  2. В кеширующий плагин WP Total Cache уже включены функции минификации html, CSS, js. Я правда не пользуюсь этим.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.