WordPress с версии 5.5 по умолчанию включает функцию ленивой загрузки изображений (lazy loading), которая позволяет ускорить загрузку страниц за счёт загрузки картинок только при прокрутке пользователя до них. Однако в некоторых случаях автозагрузка изображений может приводить к проблемам с отображением или конфликтовать с другими плагинами и скриптами, а также влиять на SEO и аналитику. В этой статье разберём, как правильно отключить автозагрузку изображений в WordPress, какие есть нюансы, и приведём примеры кода для решения этих задач.
Что такое автозагрузка изображений (lazy loading) в WordPress и зачем её отключать
Lazy loading — это техника, при которой изображения на странице загружаются не сразу при открытии, а по мере скролла пользователя. Стандартно WordPress автоматически добавляет атрибут loading="lazy" к тегам <img>. Это помогает экономить трафик и ускорять первичную загрузку страниц.
Однако бывают ситуации, когда автозагрузка нежелательна:
- При использовании кастомных скриптов или плагинов, которые сами управляют загрузкой изображений.
- Если ленивые изображения влияют на корректность SEO-аналитики, например, снижают точность фиксации просмотров.
- В случае проблем с отображением картинок в некоторых браузерах или нестандартных темах.
- Если необходимо оптимизировать конкретные страницы без lazy loading, например, главную страницу с важным «above the fold» контентом.
В таких случаях отключение или тонкая настройка автозагрузки будет полезной.
Как отключить автозагрузку изображений через functions.php
Самый простой способ полностью отключить lazy loading — удалить добавление атрибута loading="lazy" в WordPress. Для этого в файл functions.php вашей темы (или в плагин для сайта) добавьте следующий код:
function wpteam_disable_lazy_loading($default) {
return false; // отключаем lazy loading
}
add_filter('wp_lazy_loading_enabled', 'wpteam_disable_lazy_loading');
Данный фильтр wp_lazy_loading_enabled управляет включением lazy loading. Возврат false полностью его отключит.
Этот метод удобен, если хотите глобально убрать lazy loading без использования сторонних плагинов.
Отключение lazy loading только для определённых типов изображений
Иногда нужно отключить автозагрузку только для миниатюр постов или изображений в галерее. Для этого можно использовать более сложный подход с фильтром, который проверяет контекст:
function wpteam_conditional_disable_lazy_loading($default, $image, $context) {
// Отключаем lazy loading только для миниатюр постов
if ($context === 'the_post_thumbnail') {
return false;
}
return $default;
}
add_filter('wp_lazy_loading_enabled', 'wpteam_conditional_disable_lazy_loading', 10, 3);
Здесь фильтр получает параметр $context, который позволяет точечно отключать lazy loading для конкретных случаев.
Использование плагинов для гибкой настройки lazy loading
Если нужен более продвинутый контроль за автозагрузкой изображений, можно использовать плагины. Например:
- Disable Lazy Loading — простой плагин для полного отключения lazy loading.
- Clearfy Pro — многофункциональный плагин оптимизации, который позволяет тонко настраивать lazy loading, отключать на отдельных страницах и компонентах.
- WPRemark — плагин для управления рендерингом контента, в том числе параметрами загрузки изображений.
Плагины хороши, если не хотите заниматься кодом и хотите быстро получить удобный интерфейс настроек.
Как проверить, что автозагрузка изображений отключена
После отключения lazy loading необходимо проверить, что атрибут loading="lazy" не добавляется к тегам <img>. Для этого:
- Откройте страницу сайта в браузере.
- Кликните правой кнопкой по изображению и выберите «Просмотреть код».
- Проверьте, есть ли у тега
<img>атрибутloading="lazy".
Если атрибут отсутствует, значит отключение прошло успешно.
Также проверьте скорость загрузки страницы с помощью инструментов типа PageSpeed Insights — отключение lazy loading может влиять на показатели, особенно «First Contentful Paint».
Заключение
Автозагрузка изображений — полезная функция в WordPress, но в некоторых случаях её нужно отключать или настраивать индивидуально. С помощью фильтра wp_lazy_loading_enabled можно быстро и просто убрать lazy loading полностью или выборочно. Для сложных сценариев подойдут плагины Clearfy Pro и другие инструменты, позволяющие гибко управлять загрузкой изображений.
Используйте приведённые методы и проверяйте результат в браузере, чтобы оптимально настроить загрузку изображений под нужды вашего сайта и добиться баланса между скоростью и функциональностью.