Как правильно применять атрибут loading="lazy" для оптимизации LCP

Нативная отложенная загрузка изображений на уровне браузера появилась в Chrome 2019 году с введением атрибута loading="lazy". Позже в 2020 году эта функция была добавлена в ядро WordPress версии 5.5. Но в WordPress этот атрибут добавлялся ко всем изображениям, без учета того, отображается ли изображение выше или ниже сгиба (ниже первого экрана, above-the-fold content). Контроль над отключением этого атрибута для определенных изображений был переложен на разработчиков тем и шаблонов.

Как атрибут loading="lazy" влияет на Large Contentful Paint

К сожалению базовая реализация ленивой загрузки WordPress имеет недостатки, что приводит к ухудшению показателя Large Contentful Paint (LCP). Так как сейчас показатель LCP один из самых важных в метриках PageSpeed — необходимо уделять его оптимизации пристальное внимание.

Некоторые плагины для отложенной загрузки изображений позволяют избирательно добавлять атрибуты для изображений на странице. Таким же образом работает и наш плагин для оптимизации изображений True Image & Lazy Load.

Сейчас WordPress по-умолчанию добавляет атрибут loading к изображениям:

  • в содержимом поста
  • в отрывках сообщений (excerpt)
  • в текстовых виджетах
  • к аватарам
  • ко всем изображениям, которые добавляются с помощью wp_get_attachment_image ()
  • Отключение ленивой загрузки первого изображения в тексте статьи привело к среднему улучшению LCP на 7%.
  • Отключение ленивой загрузки первых двух изображений в тексте статьи привело к среднему улучшению LCP на 5%. Пропуск первых двух изображений контента дает худшие результаты, чем пропуск только первого, то есть лучше отключить ленивую загрузку только для первого изображения контента.
  • В обоих случаях показатели LCP лучше, по сравнению с результатами с полностью отключенной ленивой загрузкой. Таким образом полное отключение отложенной загрузки не является решением проблемы.
Правильное использование атрибута loading="lazy" wp-booster.com
Правильное использование атрибута loading="lazy" wp-booster.com

Как отключить автоматическое добавление атрибута loading="lazy" в WordPress?

Как и говорилось выше, полностью отключать добавление атрибута loading="lazy" нецелесообразно. Удалять атрибут у изображения есть смысл только если оно попадает на первый экран. Но если Вы всё-таки решили отключить его полностью, то добавьте в свой файл function.php:

add_filter( 'wp_lazy_loading_enabled', '__return_false') ;

У каких изображений нужно отключить автоматическое добавление атрибута loading="lazy"? В стандартных темах WordPress это:

  • логотип (если используется)
  • первое изображение статьи (Post Thumbnail), если оно реализовано через тег <img>
  • первые изображения в тексте статьи (если они попадают в первый экран)
  • на главной странице, на странице архивов и категорий — все изображения которые попадают в первый экран

К сожалению, возможности текстового редактора на сайте vc.ru не позволяют размещать большие фрагменты кода, поэтому более подробно про исправление ситуации с атрибутом loading="lazy" и примерами кода для WordPress читайте в нашей статье Как правильно применять атрибут loading="lazy" для оптимизации LCP.

2
6 комментариев