Как стать автором
Обновить

Magento 2: Настройки frontend оптимизации

CMSMagento


В этой статье мы рассмотрим какие настройки и инструменты по оптимизации есть в Magento 2.

Версия Magento на момент написания статьи — 2.3.4

Производительность веб-сайта — очень важный аспект как и для поисковой системы (более быстрые сайты поднимаются в выдаче выше, чем медленные), так и для посетителей (медленный и тормозящий ресурс врядли будет обладать большой конверсией). В области e-commerce это особо важно.

Давайте посмотрим, что же может предложить нам Magento 2 «из коробки»:

  1. Настройки кеширования
  2. Настройки JavaScript
  3. Настройки CSS
  4. Настройки изображений


Настройки кеширования


Stores — Configuration — System — Full Page Cache

На выбор предлагается 2 опции: Built-in cache и Varnish cache



Built-in cache — встроенный кеш, Varnish cache — это HTTP ускоритель предназначенный для обслуживания динамических веб-сайтов, и сайтов имеющих API.

Опция varnish помечена как recommended, т.к. varnish cache гораздо производительнее встроенного built-in. По этому крайне важно не забыть включить и настроить varnish на сервере, и включить его в Magento.

Настройки JavaScript


Доступны только в developer моде

Stores — Configuration — Developer- JavaScript Settings




(1) Merge JavaScript Files — объединяет все JS файлы в один.

Без включенной опции Enable JavaScript Bundling «склеится» не так много файлов, в основном RequireJs конфиги.

Все остальные JS-файлы будут загружены по-требованию через RequireJs

(2) Enable JavaScript Bundling — включение JavaScript бандлинга.

При включении этой опции все JS-файлы буду объединены в «бандлы», согласно настройкам в файле view.xml



В view.xml настраивается размер каждого банда + исключения из него. Более подробно о view.xml Вы можете почитать в другой нашей статье.

Вот как это будет выглядеть во вкладке Network в Chrome Developer Tools (без JS-минификации):



Если же Вы включите опцию «Merge JavaScript Files», то на выходе вы получится 1 JS-файл вместо нескольких бандлов

В Magento также присутствует Advanced JavaScript Bundling, этот материал мы вынесли в отдельную статью.

(3) Minify JavaScript Bundling — минификация JavaScript файлов.

Минифицирует JavaScript файлы удаляя пробелы, переносы строк и пр., тем самым итоговый вес сокращается

Работает только в production моде.
Добавляет к файлу .min:



Будьте очень внимательны при настройке JS-бандлинга в view.xml, не забывайте дописывать .min в js-файлах исключения.



(4) Moove JS Code To The Bootom Of The Page — Перенос подключения JS-файлов из «хидера» в «футер»

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

Настройки CSS


Доступны только в developer моде

Stores — Configuration — Developer- CSS Settings




(1) Merge CSS Files — объединяет все css файлы в «один» (за исключением print.css)

Однако, после включения опции Вы можете заметить следующее:



Почему 2 CSS-файла? Все достаточно просто, в Magento как правило базово присутствует 2 css-файла: styles-m.css (базовые, мобильные стили) и styles-l.css (десктопные стили)



Таким образом и получается 2 файла. В файл для базовых, мобильных стилей «мержатся» такие файлы, как calenadar.css, которые подключены как css «напрямую», и не содержат в себе media-аттрибутов, то есть общие и для десктопа и для мобильной версий стили.

По этому, будьте внимательны при подключении каких-либо css-файлов. Если внутри подразумевается использование media-аттрибутов, то лучше все сделать через less, таким образом вы оптимизируете этот скрипт.

(2) Minify CSS Files — минификация css файлов, удаляются пробелы, переносы строк и пр., тем самым сокращается итоговый вес файла

Так же, как и у JavaScript merge к файлу добавляется .min



(3) Use CSS Critical Path — использовать «критический» css.

Помогает избежать блокирующего рендеринга со стороны CSS.

Настройки изображений


Stores — Configuration — System — Images Upload Configuration




В этой секции мы можем настроить максимальные размеры изображения, а так же качество.

По у молчанию качество установлено в 80, как правило, это оптимальная настройка.

На этом — все, вот так вот выглядит настройка оптимизации средствами Magento2.
Теги:Magento 2Magento 2.0разработка темы для Magento 2Magento 2 frontendоптимизация
Хабы: CMS Magento
Рейтинг 0
Просмотры1K

Похожие публикации

Frontend-разработчик
19 июня 202160 000 ₽GeekBrains
Python для работы с данными
25 июня 202131 500 ₽Нетология
Аналитика для руководителей
28 июня 202154 000 ₽Нетология
Разработка приложений на Kotlin
7 июля 202124 900 ₽Нетология

Лучшие публикации за сутки