Как Lazy Load убивает ваши сайты и что с этим делать

Одним из важных факторов ранжирования в Google является скорость загрузки страниц сайта, которую измеряют с помощью теста PageSpeed Insight (PSI). Мы в WP Booster давно занимаемся оптимизацией сайтов на WordPress под требования Google PageSpeed и к нам периодически обращаются за консультациями.

Просматривая чужие сайты, мы видим, что вебмастера, в погоне за “зелёненькими” цифрами, устанавливают плагины, которые улучшают показатели в тесте PSI, но при этом нарушают индексацию изображений. Типичный случай - установка одного из плагинов для отложенной загрузки (Lazy Load) изображений.

Как Lazy Load нарушает индексацию изображений

Если на странице много картинок, то установка плагина отложенной загрузки может значительно увеличить баллы. Проблема в том, что все эти плагины подставляют в атрибут src тега <img> заглушку типа placeholder.svg. И только после прокручивания страницы скрипт подставляет в src ссылку на нужное изображение. Но бот Google не умеет прокручивать страницу! В итоге вместо картинок бот “видит” на странице примерно следующее:

<img src=”placeholder.svg”> <img src=”placeholder.svg”> <img src=”placeholder.svg”> <img src=”placeholder.svg”> <img src=”placeholder.svg”>

вместо:

<img src=”notebook.jpg”> <img src=”smartphone.jpg”> <img src=”televizor.jpg”> <img src=”stiralka.jpg”> <img src=”fen.jpg”>

Владельцы интернет-магазинов и статейных сайтов стараются, делают картинки, фотографируют товары, добавляют их на сайт, но Google о них никогда не узнает, потому что в погоне за баллами PSI они напрочь убили индексацию изображений установкой неправильного Lazy Load.

Вы подумаете что я нагнетаю и проблемы нет? Давайте проанализируем типичные сайты.

Пациент 1. Сантехника-Тут.Ру

Как Lazy Load убивает ваши сайты и что с этим делать

Не прокручивая страницу жмём ctrl+U и смотрим исходный код:

Как Lazy Load убивает ваши сайты и что с этим делать

Вместо ссылок на изображения в src стоят заглушки preloadbox.png! Хотите узнать как они выглядят? А вот так:

Как Lazy Load убивает ваши сайты и что с этим делать

Именно их “увидит” бот Google вместо изображений унитаза, смесителя и кухонной мойки.

То же самое на внутренних страницах:

Как Lazy Load убивает ваши сайты и что с этим делать

Пациент 2. Связной

Как Lazy Load убивает ваши сайты и что с этим делать

Смотрим исходный код:

Как Lazy Load убивает ваши сайты и что с этим делать

У “Связного” не то что заглушки, даже атрибута src нет!

Пациент 3. Мастер ремонта

Как Lazy Load убивает ваши сайты и что с этим делать

Смотрим исходный код:

Как Lazy Load убивает ваши сайты и что с этим делать

Опять нет атрибута src!

Проверим индексацию картинок на этой странице через оператор site:https://mastera-remonta.com/remont-novostrojka/chistovoj-remont/remont-2-k-kvartiry/ на вкладке Картинки:

Как Lazy Load убивает ваши сайты и что с этим делать

На момент проверки на данной странице проиндексировано всего 15 изображений. Хотя в слайдерах и вкладках 49 изображений. И это без учёта фотографий сотрудников (которые в принципе и не должны ранжироваться на этой странице). То есть из-за Lazy Load проиндексировалось менее 50% изображений в этом конкретном примере.

Пациент 4. Santechsklad.com.ua

Как Lazy Load убивает ваши сайты и что с этим делать

Опять открываем исходный код:

Как Lazy Load убивает ваши сайты и что с этим делать

Судя по всему это Bitrix и в src мы видим заглушку ajax-loader.gif. Тем же способом, что и выше проверяем индексацию картинок. Кроме логотипа не проиндексировалось ни одной картинки!

Как Lazy Load убивает ваши сайты и что с этим делать

Единственное, что хоть как-то спасает эти сайты - наличие микроразметки и sitemap.xml, благодаря которым можно сообщить поисковым системам о наличии этих изображений.

Как видите, это не единичный случай. Так что, прямо сейчас проверьте свои сайты, не используете ли Вы неправильный Lazy Load и тем самым “улучшаете” ранжирование сайта в Google.

Как сделать “правильный” Lazy Load?

Так как мы занимаемся в основном оптимизацией сайтов на WordPress, то буду приводить примеры для этой CMS, хотя данная проблема касается сайтов на Bitrix, Opencart и т.д. …..

Для начала грустная новость - в репозитории WordPress нет ни одного плагина, который реализует правильный Lazy Load. Неважно что Вы поставите: Lazy Load от Smush, Lazy Load от WP Rocket или a3 Lazy Load - они все подставляют в src заглушки. Из всех скриптов отложенной загрузки только 2-3 реализуют её правильно.

Но Вы можете сделать сами правильную отложенную загрузку. Для этого нужно, чтобы в атрибуте src всегда была ссылка на изображение, а заглушка подставлялась в атрибут srcset.

Вот так должно быть до прокручивания страницы:

<img src="/full-img.jpg" alt="" srcset="placeholder.svg" sizes="(max-width: 680px) 100vw, 680px" data-srcset=" /full-img-300x169.jpg 300w, /full-img-768x432.jpg 768w, /full-img.jpg 1200w">

Вот так после прокручивания страницы:

<img src="/full-img.jpg" alt="" srcset="/full-img.jpg" sizes="(max-width: 680px) 100vw, 680px" data-srcset=" /full-img-300x169.jpg 300w, /full-img-768x432.jpg 768w, /full-img.jpg 1200w">

В этом видео специалист по техническому SEO под ником Demi Murych объясняет, как правильно сделать Lazy Load .

смотреть с 8 минуты 44 сек

Скрипт рекомендованный в видео для правильного Lazy Load:

Плагин для WordPress, реализующий “правильный” Lazy Load

Если у Вас нет навыков программирования и разработки, то для WordPress Вы можете установить платный плагин True Image & Lazy Load.

Как Lazy Load убивает ваши сайты и что с этим делать

Возможности плагина:

  • Правильный Lazy Load — отложенная загрузка изображений на JS, которая не нарушает их индексации.
  • Добавление к изображениям атрибута decoding=”async” (асинхронная загрузка изображений).
  • Добавление ко всем изображениям микроразметки https://schema.org/ImageObject.
  • Добавление к логотипу сайта микроразметки https://schema.org/Organization.
  • И многое другое …..

Мы всегда готовы ответить на Ваши вопросы и бесплатно проконсультировать по оптимизации Ваших сайтов. Пишите в Telegram чат WP Boost.

3737
227 комментариев

1. >Но бот Google не умеет прокручивать страницу!
Я оооооочень сильно в этом сомневаюсь, учитывая Pupperteer (https://pptr.dev/) и так далее
2. Я больше доверяю ребятам из гугла: https://web.dev/lazy-loading-images/, чем бородатому мужику из Воронежа на фоне ковров: https://prnt.sc/v4s49n

18
Ответить

1. Почитайте про фазы индексирования гугла для начала и поймете, что на первых стадиях идет работа сначала с голым HTML, без браузера
2. Вы читаете официальные мануалы, но не понимаете как оно работает, а бородатый мужик из Воронежа читает и экспериментально подтверждает каждое свое слово, в его видео есть все ссылки, чтобы провести данные эксперименты самостоятельно. Как только вы сделаете лично хоть один из его экспериментов - можно будет поговорить дальше. Спасибо

16
Ответить

Павел а Вы в курсе, что во втором пункте ребята "из Гугла" пишут похожий подход, что и Евгений описал, указав в src заглушку, а в data-src или srcset ссылку на изображения?

5
Ответить

Аналогично

1
Ответить

Комментарий недоступен

Ответить

Раздутая проблема.
Сами по себе картинки редко когда реально влияют на ранжирование. Это раз.
А два - ну составьте сайтмап по картинкам и скормите гуглоботу. Зачем огород городить?

8
Ответить

Про то что картинки не влияют на ранжирование - устаревшая информация. Ознакомтесь https://www.youtube.com/watch?v=F6KGcb6trXc
Да сайтмап и микроразметка  частично решит проблему, но не полностью

2
Ответить