Яндекс.Метрика
Москва, Волгоградский пр-т,
43к3, оф. 301
Пишите 24/7, мы онлайн
+7 (495) 128-00-14
последнее обновление: 16.12.2025

Определение: Lazy Load (ленивая загрузка) — это подход, когда тяжёлые ресурсы (чаще всего изображения, видео или части JavaScript) загружаются не сразу, а только когда они действительно нужны: например, когда пользователь докрутил страницу до нужного блока. Это снижает вес первой загрузки и делает сайт быстрее “на старте”.

Зачем это нужно

  • Ускорять первую загрузку страницы: не тянуть сразу всё, что находится “ниже первого экрана”.
  • Экономить трафик пользователя: ресурсы загружаются только при необходимости.
  • Снижать нагрузку на сервер/CDN: меньше одновременных запросов при заходе на страницу.
  • Улучшать пользовательский опыт: страница становится быстрее интерактивной.
  • Помогать метрикам производительности (в том числе LCP/INP), когда оптимизируется критический путь загрузки.
  • Делать большие страницы (каталоги, ленты) более “лёгкими” и управляемыми.

Пример

Пример кода:

// Находим все изображения с ленивой загрузкой
const images = document.querySelectorAll('img[data-src]');

// Когда картинка близко к экрану — подставляем реальный src
const io = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (!entry.isIntersecting) return;
const img = entry.target;
img.src = img.dataset.src;
io.unobserve(img);
});
});

images.forEach((img) => io.observe(img));

Скриншот

DevTools вкладка Network, где видно что изображения ниже первого экрана начинают загружаться только после прокрутки страницы

Подпись к скриншоту: DevTools “Network”: показать, что изображения “ниже первого экрана” подгружаются только после скролла

Частые ошибки

  • Ставить Lazy Load на изображения первого экрана: это может ухудшить LCP и визуальную скорость.
  • Не задавать размеры изображений (width/height или через CSS), из-за чего появляется “прыжок” верстки (CLS).
  • Не показывать плейсхолдер/скелетон, из-за чего пользователь видит пустые зоны и думает, что сайт сломан.
  • Подгружать слишком поздно: пользователь докрутил, а контент ещё не появился.
  • Забывать про фолбэк: не везде уместны сложные скрипты, иногда достаточно стандартного loading="lazy".

Связанные термины

Наши услуги