Ускорение загрузки. Ленивая загрузка изображений и не грузить то, чего не видно

Pgreb добавил(а) 4 года назад
Реализована

Скорость загрузки с точки зрения гугл отвратительная. Все остальные доработки не имеют смысла. 90% мобильного трафика. Много сливается и с рекламы и с сео. В сео вообще индексация гугл ужасна.

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

Если страница грузится быстро значит трафик выше и больше ваших клиентов не обратят внимание на отсутствие стрелочек или каких-то свойств.

Удобство работы и загрузку сейчас нужно смотреть на мобилках

Ответы (3)

фото
1

1. Добавить возможность указывать дополнительный класс к блоку, по которому будет опледеляться к какому изображению принменять lazy. Либо указывать класс блока, в котором искать тег img и уже к нему применять lazy.

2. Добавить прелоадеры на выбор, либо возможность загрузить свой.

3. Для lazy делать реализацию с thumbnails.

фото
3

coming soon

фото
3

Вообще можете реализовать в проекте по дефолту поддержку нового тега

loading="lazy"
, который скоро интегрируют в Chrome. Скоро они интегрируют по-умолчанию в браузер нативную поддержку lazyload:

https://web.dev/native-lazy-loading

фото
1

это на PageSpeed как-то должно повлиять? у нас почему-то "Максимальная потенциальная задержка FID" негативно увеличилась с 200 до 5200 для мобильных и с 40 до 1400 для ПК после обновления на 1.6.2

фото
1

В будущем, когда поддержка данного функционала в Chrome будет реализована, прим добавлении этого атрибута в код будет автоматически применяться, что положительно повлияет на скорость загрузки страницы.

фото
1

Не работает для картинок баннеров, по товарам вроде все ок, проверьте пожалуйста..

фото
1

Какая-то странная реализация, по мне так лучше было новый тег использовать как писал Алексей. С заделом на будущее, а не плодить js скрипты опять.. Да и не всегда корректно появляются картинки, особенно на мобильных можно страницу полностью прокрутить прежде чем что-то появится из картинок.

фото
1

И еще момент, если активировать LazyLoad то в микроразметке разваливается картинка http://prntscr.com/p676xl

фото
1

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

Про микроразметку признаем. При включении лейзилоад все src картинок заменяются на картинки в 1 пиксель (описано через base64).

Баг в том, что в микроразметку попадает картинка в 1 пиксель, а не оригинал.

Нужно иначе описать микроразметку или добавить к картинке атрибут отмены лейзилоад для неё. Исправим. Спасибо

фото
2

Алексей, а что с интергацией thumbnails? В текущей реализации при медленном коннекте, в том числе и на мобайле, блоки прыгают при прогрузке изображений. Т.е. не успевает простичываться высота блоков, в которых находятся изображения. У меня на ряде машин такие проблемы были, когда тестил вашу реализацию lazy.

Интеграция совсем не сложная, но смогла бы намного улучшить отбражение изображений:

https://webdesign-master.ru/blog/tools/2019-05-30-lazy-load.html


Пример реализации на Яндек0ad5681444e0c07fa88d51b4b7bd29a4с.Маркет:

фото
1

Не знаю, как у других, но я, к сожалению, только сейчас заметил, к каким еще ужасным последствиям приводит LazyLoad - при переходе на товар с торговым предложением, открывается не картинка ТП, а первая картинка (не Детальная, а из поля Картинки) основного товара, т.е. вот так

2ebaf8af7da4d2a1ebc83170fb4e44ac

на демо сайте Некста видимо LazyLoad отключен. У кого-нибудь есть такой нюанс?

фото
1

На демо-сайте некста LazyLoad включен https://screencast.com/t/y9mevihD5

Обратитесь к нам в ТП

фото
1

Попробовал. Перестает грузиться логотип, картинки товаров в категории, тизеры и т.п.

В такой реализации пользоваться не возможно.

Проявляется и на мобилке и на десктопе

фото
1

Бесплатное решение по гайдлайнам гугл работает шустро - https://marketplace.1c-bitrix.ru/solutions/brainforce.lazyload/#tab-rating-link

Может стоит и к вам такое привязать?

фото
1

Здравствуйте.

Если технически осуществимо, можно привязать lazyload ещё и к смайлам от отзывов. Уж их точно загружать сразу смысла особого нет:

http://joxi.ru/Vm6oNKlC4MDYY2

фото
1

да просто сделайте заглушки в src используя base64 с размерами картинок которые потом подгрузятся с data-src на их место

фото
1

Благодарю за совет.

Но проблема актуальна для всех, кто использует штатный функционал отзывов. Поэтому, на мой взгляд, правильнее решать ее на уровне шаблона. Идею высказал, дальше "ход" за разработчиками )

---

Также, в дополнение к теме "ленивой загрузки невидимых элементов" - было бы здорово иметь возможность прописывать этот атрибут другим элементам (по аналогии с тем же <div class="swipeignore">).

Живой пример: есть идея встроить во вкладку "Дополнительно" подгрузку виджета транспортной компании (в нашем случае - СДЭК). И так, чтобы расчет происходил именно для выбранного региона/города.

Реализовали на тестовом домене. (кстати, кому актуально и интересно, примерно так: #REGION_TAG_BEFORE# #REGION_NAME# #REGION_TAG_AFTER#). Виджет работает, города меняются, карта рисуется, всё красиво, но...

...стали сравнивать загрузку карточки товара с и без виджета - результат печальный, 4,5 сек против 7,2 сек (!)

http://joxi.ru/52alwXEiEOWGwm

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

--

С уважением, Дмитрий К.

фото
1

Здравствуйте, Дмитрий! Спасибо за обратную связь. В решении ленивая загрузка распространяется только на картинки. К сожалению, LazyLoad не распространяется на информацию, карты и изображения, которые сделаны фоном (через background), например, фоновое изображение в баннере.

фото
фото
1

Здравствуйте, уважаемые пользователи! Если у вас появились новые идеи, пожалуйста, зарегистрируйте их отдельно, чтобы посетители сервиса могли поддержать вас голосом или комментарием. А мы могли понять, насколько важен этот функционал другим пользователям.

Комментировать
 
Прикрепить файлы