Как реализовать lazy load на сайте WordPress – отложенная загрузка изображений и видео

Lazy Load WordPress

Обилие медиаконтента на сайте заметно ухудшает показатели быстродействия. Исправить ситуацию поможет внедрение технологии Lazy Load в WordPress.

Что такое Lazy Load и для чего эта технология нужна на сайтах?

Одна из главных причин замедления работы WordPress-сайта — большое количество ресурсов, которые загружаются вместе со страницей. Это могут быть файлы стилей, шрифтов, скриптов, картинки и другой media-контент.

Такой подход приводит к ряду негативных последствий:
Очень медленная загрузка. Пользователь ждет, пока его браузер загрузит кучу тяжелых файлов, и страница полностью отрендерится.
Высокий процент отказов. Этот показатель отражает количество посетителей, которые покидают сайт в первые секунды после захода.
Снижение позиций в поисковых системах. Низкая производительность и высокий процент отказов — сигнал для поисковиков о плохом качестве сайта.

Технология Lazy Load, название которой переводится как «ленивая загрузка», позволяет на какое-то время отложить подключение к ресурсам при запуске страницы. Когда посетитель прокрутит сайт до определенного элемента, например, картинки или видео, нужный для его отображения контент подгрузится автоматически.

Использование отложенного запуска на сайтах WordPress дает следующие преимущества:
Улучшение быстродействия. При таком подходе подгружаются только те ресурсы, которые необходимы для отображения видимой зоны экрана. За счет этого происходит экономия времени отрисовки страницы.
Уменьшение нагрузки на сервер. При загрузке контента по мере необходимости происходит снижение количества запросов к серверу. Это позволит сэкономить на серверных мощностях, если у вас сайт с большим количеством картинок и видеороликов.
Рост позиций в поисковиках. Яндекс и Google отдают предпочтение быстрым сайтам, поэтому внедрение отложенного запуска медиаконтента положительно влияет на SEO-оптимизацию.
Экономия мобильного трафика. Пользователи мобильного интернета будут вам благодарны, если начнете использовать эту опцию на своем веб-сайте. Они смогут просматривать только те картинки и видео, которые им интересны, и экономить трафик.

Когда стоит использовать Lazy Load для изображений и роликов на WordPress?

Рекомендую внедрять технологию отложенного запуска на любом сайте. Особенно это важно, если:

Вы любите добавлять много картинок и видеороликов в свои посты на WordPress.

Ваш сайт размещен на одном из стартовых тарифов хостинга с низкими показателями производительности сервера.

Большинство ваших посетителей заходит на сайт с мобильных телефонов.

Быстродействие сайта низкое, а скорость загрузки страниц по данным PageSpeed Insights больше 5 секунд.

У всех конкурентов в вашей нише сайты открываются намного быстрее.

Лучшие плагины с функцией Lazy Load для WordPress

Приведу список хороших актуальных WordPress-плагинов для реализации ленивой загрузки медиаконтента на сайтах.

a3 Lazy Load: простой метод улучшить производительность WordPress

Lazy Load для улучшения производительности

A3 Lazy Load — бесплатный плагин WordPress, позволяющий реализовать на сайте отложенный запуск медиаконтента. Для активации этой функции после установки модуля нужно зайти в его настройки и включить соответствующий пункт.

После этого вы получите:
Отложенную загрузку всех картинок внутри записей, страниц и виджетов.
Возможность применить данную опцию для анонсов постов.
Lazy Load для видеороликов, вставленных как по прямой ссылке, так и через iframe и виджеты.
2 анимированных эффекта для ленивой загрузки.
Возможность исключить отдельные элементы из отложенной загрузки.

LazyLoad Plugin: ленивая загрузка WordPress для iframe, картинок и видеороликов

Отложенная загрузка на WP

LazyLoad Plugin — бесплатный плагин от разработчика WP Rocket, который не только добавляет отложенный запуск контента. В дополнение к этому он заменяет айфрейм YouTube на превью-картинку. Это еще больше ускоряет загрузку WordPress-страниц.

Для своей работы расширение добавляет скрипт, который весит менее 10KB, и не использует тяжелые библиотеки JS, например, jQuery.

Решение позволяет:
Отключить Lazy Load на определенных страницах.
Отменить опцию для некоторых картинок.
Включить «отложку» для фоновых изображений.

OmniVideo: лучшее решение для применения Lazy Load к видеороликам


Расширение OmniVideo

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

OmniVideo заменяет все способы стандартного вывода видеороликов на WordPress собственным блоком, который легко подстраивается под любой размер экрана.

Когда вы вставляете ролик с YouTube или других сервисов вручную через iframe, скорость загрузки страницы резко падает. Это происходит из-за того, что видеохостинг сразу грузит все необходимые для запуска видео ресурсы. OmniVideo применяет опцию Lazy Load и тем самым задерживает подключение ресурсов до того момента, пока посетитель не начнет просмотр видео.

Перечислю все возможности OmniVideo от WPShop для вставки видео:
Поддержка популярных видеохостингов. Плагин работает с RuTube, ВК, ОК, Дзен, Mail.ru, YouTube, Vimeo и другими популярными платформами, включая как российские, так и иностранные.
Один блок с вкладками под разные видеоплатформы. Это та самая киллер-фича, ради которой стоит приобрести плагин. Сейчас многие владельцы российских сайтов WordPress столкнулись с ограничениями на использование иностранных сервисов, из-за которых резко стали зависать видеоролики. Плагин OmniVideo позволяет разместить один и тот же ролик на нескольких платформах и предложить пользователю выбор, через какой сервис ему удобнее будет смотреть.
Стилизация блока. Вы можете выбрать стиль блока, который лучше всего подходит под дизайн сайта. Всего предлагается выбор из 7 различных стилей. Также в настройках можно поменять заголовки, иконки и порядок вывода вкладок.
Своя обложка для видео. Если вам не понравится какой-либо постер, который загрузится вместе с видеороликом с платформы, вы сможете поменять его на свой вариант.
Вывод через шорткод или блок Гутенберг. Если пользуетесь классическим редактором, вставлять блок OmniVideo вы сможете с помощью шорткода. Для тех, кто предпочитает визуальный редактор Вордпресс, есть специальный блок.
Маскировка ссылок на источники. Настройки плагина позволяют прятать внешние ссылки на платформы, откуда вы вставляете ролики. Это нужно для улучшения SEO-показателей сайта WordPress.
Массовая замена старых ссылок YouTube. Если на сайте до установки плагина было много роликов, вставленных через iframe или по ссылке, с помощью этой опции вы можете автоматически заменить их блоками OmniVideo.

Видео-обзор OmniVideo

Еще подробнее ознакомиться с плагином можно в нашем обзоре OmniVideo.

Плагин OmniVideo бьет все рекорды по продажам, поскольку аналогов просто нет. Забирайте со скидкой, которая действует для читателей этого сайта.

Скидка на OmniVideo

Loading Page with Loading Screen: экран предварительной загрузки и Lazy Load WordPress

Плагин для загрузки страниц

В бесплатной версии плагина Loading Page with Loading Screen доступен лишь базовый функционал — установка и настройка экрана предварительной загрузки на WordPress.

Опцией Lazy Load для картинок могут воспользоваться только пользователи премиум-версии.

Настройки отложенной загрузки включают:

  • Установку изображения по умолчанию. Эта картинка будет показываться в качестве плейсхолдера, пока загружается нужное изображение.
  • Отключение опции на определенных страницах WordPress. Вы можете запретить отложенную загрузку в местах, где возможен конфликт скриптов.

Lazy Load for Videos: кликабельные превью вместо роликов YouTube и Vimeo

Отложенная загрузка видео

Lazy Load for Videos — бесплатный плагин для движка WordPress. Работает только с роликами, загруженными через YouTube или Vimeo. Заменяет стандартный плеер миниатюркой предварительного просмотра.

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

Плагин также предоставляет дополнительные опции:
Отображение заголовка видео на картинке превью.
Возможность вставить свою рекламу в начало или в конец видео.
Отключение аннотаций, например, приглашения подписаться на канал.
Добавление пользовательских стилей CSS и многое другое.

Как добавить Lazy Load в WordPress программно

Включение небольшого скрипта в файл functions.php WordPress-темплейта добавит на ваш сайт ленивую загрузку для картинок и видео:

add_filter( 'save_post', 'add_lazy_load', 10, 3 );
function add_lazy_load( $post_id, $post, $update ) {
    if ( wp_is_post_revision( $post_id ) ) {
        return;
    }

    if ( ! class_exists( 'DOMDocument', false ) ) {
        return;
    }

    remove_action( 'save_post', 'add_lazy_load' );

    $post_status = get_post_status( $post_id );
    if ( $post_status != 'draft' ) {
        $document = new DOMDocument();
        $document->loadHTML( mb_convert_encoding( $post->post_content, 'HTML-ENTITIES', 'UTF-8' ) );

        $images = $document->getElementsByTagName( 'img' );
        foreach ( $images as $image ) {
            if ( !$image->getAttribute( 'loading' ) || $image->getAttribute( 'loading' ) != 'lazy' ) {
                $image->setAttribute( 'loading', 'lazy' );
            }
        }

        $iframes = $document->getElementsByTagName( 'iframe' );
        foreach ( $iframes as $iframe ) {
            if ( !$iframe->getAttribute( 'loading' ) || $iframe->getAttribute( 'loading' ) != 'lazy' ) {
                $iframe->setAttribute( 'loading', 'lazy' );
            }
        }

        $html = $document->saveHTML();
        wp_update_post( array(
            "ID"           => $post_id,
            "post_content" => html_entity_decode( $html ),
        ) );
    }

    add_action( 'save_post', 'add_lazy_load', 10, 3 );
}

После вставки этого кода при создании новых постов или страниц к картинкам и тегам iframe будет применяться функция Lazy Load.

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

Опция отложенной загрузки решает только половину проблем с замедлением страниц из-за видео. Чтобы ролики на вашем сайте WordPress не зависали и не портили производительность, рекомендую установить плагин OmniVideo.

OmniVideo со скидкой

Пожалуйста, оцените материал:

Специализируюсь на разработке и оптимизации уникальных веб-решений для клиентов различных отраслей. Имею большой опыт работы с WordPress, которым активно делюсь с читателями.
Получай полезные материалы удобным способом!
Добавить комментарий

×
-20%
Рождественский
апгрейд начинается *
Воспользоваться скидкой сейчас ⋙
* на темы и плагины WordPress