Оптимизация изображений и медиа

Ускорьте WordPress с помощью отложенной загрузки изображений и видео (плагин не нужен)

Ленивая загрузка изображений и видео в WordPress без плагинов

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

Что такое ленивая загрузка?

Ленивая загрузка — это метод повышения производительности, при котором медиа-ресурсы, такие как изображения и видео, загружаются только тогда, когда они собираются попасть в область просмотра пользователя (т. е. стать видимыми на экране). Это уменьшает количество HTTP-запросов при начальной загрузке страницы, делая сайт быстрее и легче.

Почему отложенная загрузка имеет решающее значение для производительности WordPress

  • Уменьшает начальный вес страницы: Страницы загружаются быстрее, поскольку заранее запрашивается меньше ресурсов.
  • Экономит пропускную способность: Невидимые медиафайлы не загружаются без необходимости.
  • Улучшает основные веб-показатели: Ленивая загрузка улучшает такие показатели, как отрисовка самого большого содержимого (LCP).
  • Улучшение SEO и пользовательского опыта: Скорость — фактор ранжирования. Более быстрый сайт поддерживает вовлеченность пользователей.

Как реализовать собственную отложенную загрузку изображений

Начиная с WordPress 5.5, встроенная отложенная загрузка автоматически добавляется к тегам изображений с помощью loading="lazy" Атрибут. Вы можете убедиться, что это работает правильно с минимальными корректировками:

<img src="your-image.jpg" alt="description" loading="lazy" width="600" height="400">

Лучшая практика: Всегда указывайте width и height чтобы избежать смещений макета (важно для оценки CLS).

Как принудительно включить отложенную загрузку для всех изображений (необязательно)

Если некоторые темы или плагины пропускают добавление loading="lazy", вы можете принудительно выполнить это с помощью простого фрагмента JavaScript:

<script> document.addEventListener("DOMContentLoaded", function() { document.querySelectorAll('img:not([loading])').forEach(function(img) { img.setAttribute("loading", "lazy"); }); }); </script>

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

ЧИТАТЬ  Почему переход с JPEG на WebP может резко повысить производительность вашего WordPress

Ленивая загрузка видео без плагинов

Видео тяжелые. Вставки с YouTube или Vimeo загружают несколько внешних скриптов. Чтобы лениво загружать их без плагинов, замените iframe на кликабельный предварительный просмотр изображения и загружайте видео только после взаимодействия.

Пример: Ленивая загрузка видео YouTube

<div class="youtube-lazy" data-id="VIDEO_ID"> <img src="https://img.youtube.com/vi/VIDEO_ID/hqdefault.jpg" alt="YouTube preview" loading="lazy"> <div class="play-button"></div> </div> <script> document.addEventListener("DOMContentLoaded", function() { document.querySelectorAll(".youtube-lazy").forEach(function(el) { el.addEventListener("click", function() { let iframe = document.createElement("iframe"); iframe.setAttribute("src", "https://www.youtube.com/embed/" + el.dataset.id + "?autoplay=1"); iframe.setAttribute("frameborder", "0"); iframe.setAttribute("allowfullscreen", "1"); el.innerHTML = ""; el.appendChild(iframe); }); }); }); </script>

Заменять VIDEO_ID с реальным идентификатором видео YouTube.

Полезный стиль (необязательно)

Добавьте немного базового CSS, чтобы все выглядело красиво:

.youtube-lazy { position: relative; cursor: pointer; max-width: 100%; aspect-ratio: 16/9; background: #000; } .youtube-lazy img { width: 100%; height: auto; } .play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 60px; height: 60px; background: url('play-icon.svg') center center no-repeat; background-size: contain; }

Почему бы не использовать плагин?

Плагины удобны, но часто поставляются с дополнительными скриптами, стилями или раздутыми. Ручная ленивая загрузка дает вам:

  • Больше контроля над тем, что загружается
  • Отсутствие влияния сторонних функций на производительность
  • Более чистый вывод на переднем плане

Когда вам следует рассмотреть вариант использования плагина

Если у вас большой веб-сайт с частой загрузкой медиафайлов или у вас есть участники, не знакомые с кодом, рассмотрите эти оптимизированные плагины для отложенной загрузки:

  • Кэш LiteSpeed (если ваш сервер поддерживает это)
  • FlyingPress
  • Perfmatters (премиум)

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

Последние советы

  • Используйте браузер DevTools для проверки loading="lazy" применяется
  • Протестируйте свой сайт с помощью Google PageSpeed Insights
  • Отслеживайте улучшения LCP после включения отложенной загрузки
ЧИТАТЬ  Как оптимизировать изображения для повышения производительности сайта WordPress

Нужна помощь экспертов по улучшению скорости WordPress без громоздких плагинов? Попробуйте бесплатный ручной аудит на SpeedWP Pro — мы оптимизируем из ядра.