Отложенная загрузка (Lazy Loading)

Что такое отложенная загрузка (Lazy Loading)?

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

Применение ленивой загрузки для 30 изображений на странице каталога в среднем снижает объём данных, передаваемых при начальной загрузке, на 65–75 % и уменьшает Largest Contentful Paint (LCP) на 0,8–1,2 секунды — это индустриальный стандарт 2026 года, без которого невозможно стабильно проходить Core Web Vitals на мобильных устройствах.

Как это работает?

Браузер или JavaScript-библиотека отслеживает позицию элемента относительно окна просмотра с помощью Intersection Observer API.

Ресурс получает заполнитель (плейсхолдер), а его реальный URL записывается в атрибут data-src вместо src.

Как только элемент оказывается на заданном расстоянии от границы вьюпорта (обычно 500–1000 пикселей), скрипт подменяет атрибут, инициируя загрузку и декодирование изображения или iframe.

WordPress с версии 5.5 реализует это нативно через атрибут loading=»lazy», который поддерживается всеми современными браузерами без JavaScript.

Метрики и стандарты

  • Сокращение начального трафика: страница с 50 изображениями без ленивой загрузки передаёт в среднем 8–12 МБ данных при открытии. С активированным Lazy Loading начальный объём падает до 2–3 МБ, что является эталоном для прохождения мобильных тестов PageSpeed.
  • Влияние наLCP: для достижения оценки «хорошо» (<2,5 с) Largest Contentful Paint обязательно исключается из отложенной загрузки изображение-кандидат на LCP, иначе его загрузка откладывается и метрика деградирует на 0,5–1,5 с.
  • Требование к размерам изображений: стандартом является обязательное указание атрибутов width и height у всех <img> с loading=»lazy». Без них браузер не может зарезервировать пространство, что вызывает Cumulative Layout Shift (CLS) и блокирует ленивую загрузку во многих реализациях.
  • Доля охвата: в корректно настроенной системе более 90 % внеэкранных изображений и iframe должны быть обёрнуты в механизм ленивой загрузки. Меньший охват считается упущенной оптимизацией.

Почему это важно для бизнеса?

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

С точки зрения SEO, прохождение Core Web Vitals является официальным сигналом ранжирования Google, и без ленивой загрузки изображений достичь целевых порогов LCP и TBT практически невозможно, что вытесняет сайт из топа конкурентных запросов.

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

Пример применения

Новостной портал публиковал материалы с 40–60 фотографиями в галереях. Начальная загрузка страницы требовала 15 МБ трафика, а показатель LCP достигал 4,2 секунды, что приводило к оттоку 55 % мобильных посетителей.

После активации нативного loading=»lazy» для всех изображений, кроме первого в теле статьи, начальный объём сократился до 3,5 МБ, а LCP упал до 2,3 секунды. За месяц отказы на мобильных снизились на 15 %, а органический трафик из новостных блоков вырос на 22 %.

Как это реализуется в WordPress?

С версии 5.5 WordPress автоматически добавляет атрибут loading=»lazy» ко всем изображениям и iframe, имеющим явно заданные width и height. Для этого не требуется установка дополнительных плагинов.

Для исключения первых изображений (чтобы не замедлить LCP) или для поддержки фоновых изображений применяют плагины: WP Rocket, Lazy Load by WP Rocket, Autoptimize или Smush. Они позволяют настроить порог отступа, классы исключений и ленивую загрузку видео.

При кастомной разработке отключают нативный атрибут через фильтр wp_lazy_loading_enabled и внедряют ручную систему на основе Intersection Observer, подменяя src из data-src. Важно резервировать размеры через атрибуты или CSS, чтобы предотвратить CLS.

Контроль эффективности ведётся в Google PageSpeed Insights: параметр «Отложите загрузку скрытых изображений» должен перейти в зелёную зону, а LCP — опуститься ниже 2,5 секунд.

Связанные понятия

  • Largest Contentful Paint (LCP) — метрика Core Web Vitals, измеряющая время рендеринга самого крупного видимого элемента; отложенная загрузка должна исключать этот элемент.
  • Intersection Observer API — встроенный в браузеры механизм асинхронного отслеживания пересечения элементов с окном просмотра, на котором базируется ленивая загрузка.
  • Атрибутloadinglazy« — HTML-атрибут, внедрённый в WordPress 5, который даёт браузеру нативную команду отложить загрузку изображения или iframe.
  • Предварительная загрузка (Preload) — противоположная техника принудительной ранней загрузки критических ресурсов, используемая совместно с Lazy Loading для баланса производительности.
  • Cumulative Layout Shift (CLS) — метрика стабильности макета, которая ухудшается, если для лениво загружаемых элементов не заданы фиксированные размеры.