Ленивая загрузка сторонних ресурсов с фасадами

Сторонние ресурсы часто используются для показа рекламы или видео и интеграции с социальными сетями. По умолчанию сторонние ресурсы загружаются сразу после загрузки страницы, но это может неоправданно замедлить загрузку страницы. Если сторонний контент не является критическим, затраты на производительность можно снизить за счет его отложенной загрузки .

В ходе этого аудита выявляются сторонние встраивания, которые можно лениво загружать при взаимодействии. В этом случае фасад используется вместо стороннего контента до тех пор, пока пользователь не взаимодействует с ним.

Пример загрузки встроенного плеера YouTube с фасадом. Фасад весит 3 КБ и загружается на взаимодействие плеер весом 540 КБ.
Загрузка встроенного плеера YouTube с фасадом.

Как Lighthouse обнаруживает сторонние встраивания с возможностью отсрочки

Lighthouse ищет сторонние продукты, которые можно отложить, например виджеты социальных кнопок или встроенные видео (например, встроенный проигрыватель YouTube).

Данные об отложенной продукции и доступных фасадах хранятся в стороннем веб-сайте .

Аудит завершается неудачно, если страница загружает ресурсы, принадлежащие одному из этих сторонних встраиваний.

Сторонний аудит фасада Lighthouse с выделением встроенного плеера Vimeo и живого чата Drift.
Сторонняя проверка фасада маяка.

Как отстранить третьих лиц с помощью фасада

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

  1. При загрузке: добавьте фасад на страницу.

  2. При наведении курсора мыши: фасад предварительно подключается к сторонним ресурсам.

  3. При нажатии: фасад заменяется продуктом стороннего производителя.

В общем, встраивание видео, виджеты социальных кнопок и виджеты чата могут использовать шаблон фасада. В списке ниже представлены наши рекомендации по фасадам с открытым исходным кодом. При выборе фасада учитывайте баланс между размером и набором функций. Вы также можете использовать ленивый загрузчик iframe, например vb/lazyframe .

Встроенный проигрыватель YouTube

Встроенный проигрыватель Vimeo

Живой чат (Интерком, Дрифт, Help Scout, Facebook Messenger)

Пишем свой фасад

Вы можете создать собственное решение для фасада , в котором используется шаблон взаимодействия, описанный выше. Фасад должен быть значительно меньше по сравнению с отложенным сторонним продуктом и включать только достаточно кода, чтобы имитировать внешний вид продукта.

Если вы хотите, чтобы ваше решение было включено в список выше, ознакомьтесь с процессом подачи заявок .

Ресурсы

Исходный код для отложенной загрузки сторонних ресурсов с аудитом фасадов .