Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Транслит для загранпаспорта ГОСТ 7.79 ISO 9 Блог Вопросы и ответы Создать URL
Практика

Минификация CSS и JavaScript

Завершим первую десятку статей о скорости приёмом, который применяется почти на каждом сайте, — минификацией стилей и скриптов.

Что делает минификация

Минификация удаляет из кода всё, что нужно человеку, но не нужно браузеру: пробелы, переносы строк, комментарии. Для JavaScript дополнительно сокращаются имена локальных переменных. Поведение кода не меняется, а размер файла уменьшается.

/* до */
.button {
    color: #ffffff;
    background: #0a58ca;
}

/* после */
.button{color:#fff;background:#0a58ca}

От исходного кода до пользователя

Исходный кодчитаемыйМинификацияСжатиеgzip или brotliМеньшебайт по сети
Исходный кодчитаемыйМинификацияСжатиеgzip или brotliМеньшебайт по сети
Минификация и сжатие работают вместе

Минификация и сжатие — не одно и то же

Три приёма уменьшения веса
ПриёмЧто делаетГде выполняется
МинификацияУдаляет лишнее из самого кодаНа этапе сборки проекта
Сжатие ответовУпаковывает файл перед отправкойНа сервере, см. сжатие и скорость обхода
Удаление неиспользуемого кодаУбирает функции и стили, которые нигде не применяютсяСборка и аудит кода

Приёмы дополняют друг друга: сначала минификация, затем сжатие на сервере — результаты складываются.

Как включить

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

Что ещё уменьшает вес и ускоряет

  1. Удаляйте неиспользуемые стили и скрипты, оставшиеся от прежних решений.
  2. Разделяйте код на части и подгружайте лишь то, что нужно странице.
  3. Подключайте второстепенные скрипты с отложенной или асинхронной загрузкой, чтобы они не блокировали показ страницы.
  4. Проверяйте, какие сторонние библиотеки подключены: часто они весят больше собственного кода.

Как проверить результат

Откройте вкладку сети в инструментах разработчика и посмотрите размеры файлов: передаваемый размер должен быть заметно меньше исходного. Запустите анализ страницы — он подскажет, остались ли неминифицированные ресурсы. Влияние размера скриптов на отзывчивость разобрано в статье про INP.

Важно: не минифицируйте вручную и без резервной копии исходников. Хранить нужно читаемую версию, а минифицированную создавать при сборке автоматически.

Что подлежит минификации

Что минифицировать и что ожидать
РесурсМинифицироватьЗамечание
CSSДаУдаляются пробелы, комментарии, сокращаются значения
JavaScriptДаДополнительно сокращаются имена переменных
HTMLПо желаниюВыигрыш обычно меньше, чем для скриптов и стилей
JSON и SVGДаПомогает для больших файлов данных и графики

Типичные ошибки

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

Частые вопросы

Что убирает минификация?

Пробелы, переносы строк и комментарии, а для JavaScript ещё и сокращает имена локальных переменных, не меняя поведение кода.

Чем минификация отличается от сжатия gzip или brotli?

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

Как хранить код при использовании минификации?

Хранить читаемые исходники, а минифицированную версию создавать автоматически при сборке.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также