sochi-russia: При таком коде как у вас lazyload работать не будет, изображению нужно класс прописывать "lazyload", после выполнения он переводится в "lazyloaded"
Хоть понял что написал? При чем тут название класса? Его хоть как можно назвать, хоть class="myLenivayZagruzkaKartinok", а потом менять или удалять, это не важно.
Сам класс - это селектор элемента на который вешается обработчик js. Какая разница как он называется или на что меняется?
---------- Добавлено 07.02.2020 в 18:51 ----------
donc: Если в коде прописан прямой путь до картинки - будет. Подгруздка чисто джавой -- далеко не факт.
Да, немного не точно описал принцип.
В самом коде в файле путь в src указан прямой. Когда загружается документ, у тех картинок, у которых прописан класс lazy с помощью php+js добавляется атрибут data-src с прямым путем к картинке, а в атрибуте src меняется путь к картинке на 1 пиксельное изображение закодированное в base64.
Это и показывается в исходном коде страницы на сайта в браузере.
После докрутки до изображения (а вернее когда изображение близко к области видимости), срабатывает обработчики и меняет в src 1 пиксельное изображение на прямой путь к картинке и удаляется класс lazy, чтобы обработчик больше не срабатывал.
LEOnidUKG: Нормальное ПС индексируют lazy.
А это утверждение предположение или есть какие-то факты?
LEOnidUKG: Также, можно сделать noscript для картинок, чтобы ПС уж точно их скушали.
_SP_: Что-то я сомневаюсь, что бот вообще что-то там будет прокручивать.
При чем тут прокрутка? Бот смотрит исходный код, а не крутит документ.
_SP_: Это, наверное, можно по фейсбуку итп проверить.
Что именно проверить?
_SP_: Т.е. тут надо бы точно знать, что бот будет исполнять ваш JS (что умеет это вопросов нету), и что он будет прокручивать страницу (к этому большой вопрос).
Дело не js, а в том, что, это конечно мое предположение, поисковый робот сам из атрибута data-src берет значение и вставляет его в src. Если бы исполнялся js, то класс тоже бы удалялся.
_SP_: Уверены, что с гуглом реально нормально работает ? Как-то странно выглядит, если вы из одного места всё меняете, почему только часть изменений попадает в кеш... точно не локально ваши скрипты криво отрабатывают всё это ?
Привел же пример исходного кода изображения - это из HTML проверенной страницы из SearchСonsole. Еще раз повторю, дело не в js, а в том, считают ли роботы поисковиков data-src, или лучше сказать, поддерживают ли они этот атрибут в качестве ссылки на изображение? Видел реализации ленивой загрузки вообще без src, а только с атрибутом data-src.
Прошу при ответах не строить предположения и догадки (я это сам могу делать), а писать факты, может кто проводил тестирование.
При таком коде как у вас lazyload работать не будет, изображению нужно класс прописывать "lazyload", после выполнения он переводится в "lazyloaded"
Хоть понял что написал? При чем тут название класса? Его хоть как можно назвать, хоть class="myLenivayZagruzkaKartinok", а потом менять или удалять, это не важно.
Сам класс - это селектор элемента на который вешается обработчик js. Какая разница как он называется или на что меняется?
---------- Добавлено 07.02.2020 в 18:51 ----------
Если в коде прописан прямой путь до картинки - будет. Подгруздка чисто джавой -- далеко не факт.
Да, немного не точно описал принцип.
В самом коде в файле путь в src указан прямой. Когда загружается документ, у тех картинок, у которых прописан класс lazy с помощью php+js добавляется атрибут data-src с прямым путем к картинке, а в атрибуте src меняется путь к картинке на 1 пиксельное изображение закодированное в base64.
Это и показывается в исходном коде страницы на сайта в браузере.
После докрутки до изображения (а вернее когда изображение близко к области видимости), срабатывает обработчики и меняет в src 1 пиксельное изображение на прямой путь к картинке и удаляется класс lazy, чтобы обработчик больше не срабатывал.
Нормальное ПС индексируют lazy.
А это утверждение предположение или есть какие-то факты?
Также, можно сделать noscript для картинок, чтобы ПС уж точно их скушали.
Это интересно.
То есть под каждым изображением прописывать
хотя немного увеличит код.
Не будет ли для поисковиков считаться спамом?
Эх, скорее бы все браузеры стали поддерживать атрибут loading
Что-то я сомневаюсь, что бот вообще что-то там будет прокручивать.
При чем тут прокрутка? Бот смотрит исходный код, а не крутит документ.
Это, наверное, можно по фейсбуку итп проверить.
Что именно проверить?
Т.е. тут надо бы точно знать, что бот будет исполнять ваш JS (что умеет это вопросов нету), и что он будет прокручивать страницу (к этому большой вопрос).
Дело не js, а в том, что, это конечно мое предположение, поисковый робот сам из атрибута data-src берет значение и вставляет его в src. Если бы исполнялся js, то класс тоже бы удалялся.
Уверены, что с гуглом реально нормально работает ? Как-то странно выглядит, если вы из одного места всё меняете, почему только часть изменений попадает в кеш... точно не локально ваши скрипты криво отрабатывают всё это ?
Привел же пример исходного кода изображения - это из HTML проверенной страницы из SearchСonsole. Еще раз повторю, дело не в js, а в том, считают ли роботы поисковиков data-src, или лучше сказать, поддерживают ли они этот атрибут в качестве ссылки на изображение? Видел реализации ленивой загрузки вообще без src, а только с атрибутом data-src.
Прошу при ответах не строить предположения и догадки (я это сам могу делать), а писать факты, может кто проводил тестирование.