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

Ленивая загрузка картинок без вреда для индексации

Продолжаем тему изображений разбором приёма, который одновременно ускоряет сайт и создаёт риски для индексации.

Что такое ленивая загрузка

Идея проста: изображения, которые пока не видны на экране, не загружаются, пока пользователь не приблизится к ним при прокрутке. Так первая загрузка страницы быстрее, а лишние данные не тратятся. Риск в том, что часть решений скрывает изображения от поискового робота.

Где применять, а где нет

Изображения страницыПервый экрангрузить сразуНиже первого экраналенивая загрузкаФон в CSSотдельная логика
Изображения страницыПервый экрангрузить сразуНиже первого экраналенивая загрузкаФон в CSSотдельная логика
Как распределить изображения по способам загрузки
  • Первый экран и главное изображение — не откладывать: иначе ухудшится LCP.
  • Изображения ниже первого экрана — хороший кандидат для отложенной загрузки.
  • Изображения внутри вкладок и скрытых блоков — загружаются при их открытии.

Нативный способ

Самое простое и безопасное решение — встроенный атрибут браузера. Он не требует скриптов, а изображение остаётся обычным элементом с настоящим адресом в коде.

<img src="/img/sofa.webp" width="800" height="600"
     alt="Диван «Альфа»" loading="lazy">

Риски скриптовых решений

Что может помешать индексации ленивых изображений
РешениеРиск для индексацииКак исправить
Адрес изображения только в атрибуте data-srcБез выполнения скриптов робот не видит адресИспользовать нативный атрибут loading
Загрузка только по событию прокруткиРобот не прокручивает страницуИспользовать наблюдение за появлением элемента в видимой области
Загрузка только после кликаРобот не выполняет кликиНе скрывать так изображения, важные для поиска
Ленивая загрузка для главного изображенияУхудшается LCPИсключить главное изображение из отложенной загрузки

Как проверить

  1. Откройте исходный код страницы и убедитесь, что у каждого изображения есть настоящий адрес.
  2. Проверьте страницу инструментом, показывающим, как её видит робот: изображения ниже первого экрана должны появляться.
  3. Убедитесь, что размеры заданы — иначе ленивая загрузка вызовет смещения макета, см. статью про CLS.

Итог: нативный атрибут — оптимальный выбор. Он ускоряет страницу и не скрывает изображения от робота. Общие приёмы подготовки картинок — в статье про оптимизацию изображений.

Что ещё можно отложить

Что откладывать, а что нельзя
ЭлементПодходит для отложенной загрузкиЗамечание
Изображения ниже первого экранаДаИспользовать нативный атрибут
Встроенные видео и картыДаЗагружать при появлении в видимой области или по клику по обложке
Скрипты виджетов и чатовДаПодключать после основной загрузки страницы
Главное изображение первого экранаНетВлияет на LCP
Основной текст страницыНетДолжен быть в HTML сразу

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

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

Можно ли откладывать загрузку главного изображения?

Нет: для изображения на первом экране это ухудшает LCP, поэтому его нужно загружать сразу.

Какой способ ленивой загрузки безопаснее для индексации?

Нативный атрибут loading="lazy": изображение остаётся обычным элементом с настоящим адресом, который видит робот.

Почему опасна загрузка изображений только по событию прокрутки?

Робот не прокручивает страницу, поэтому такие изображения могут остаться вне индекса.

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

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

4 мин чтения

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

Читаемые скрипты и стили удобны разработчику, но браузеру они не нужны. Минификация убирает лишнее и делает файлы легче.

Читать статью →