В последних версиях WordPress автозагрузка (lazy loading) изображений включена по умолчанию для улучшения производительности сайта. Это значит, что изображения загружаются только тогда, когда пользователь прокручивает страницу до них. В большинстве случаев это полезно, но иногда может вызывать проблемы с отображением или влиять на пользовательский опыт, например, когда изображения не загружаются своевременно или возникают конфликты с кастомными скриптами и плагинами.
Что такое автовыделение и автозагрузка изображений в WordPress
Автовыделение (lazy loading) — это механизм отложенной загрузки изображений, который позволяет существенно сократить время первоначальной загрузки страницы. В WordPress он реализован через добавление атрибута loading="lazy" к тегам изображений и iframe.
Автозагрузка уменьшает нагрузку на сервер и экономит трафик пользователей, но в некоторых сценариях может приводить к непредвиденным эффектам, например:
- Изображения могут не появляться при первом рендере страницы.
- Проблемы с SEO, если поисковые боты не индексируют отложенный контент.
- Конфликты с плагинами, которые управляют визуализацией или анимацией изображений.
Как отключить автовыделение изображений стандартными средствами WordPress
Для отключения lazy loading в WordPress можно воспользоваться фильтром wplessons_disable_lazy_loading (собственный префикс для примера) или стандартным wp_lazy_loading_enabled.
Самый простой способ — добавить следующий код в файл functions.php вашей темы или в файл пользовательского плагина:
function wplessons_disable_lazy_loading($default, $image, $context) {
return false; // Отключаем lazy loading для всех изображений
}
add_filter('wp_lazy_loading_enabled', 'wplessons_disable_lazy_loading', 10, 3);В этом коде мы полностью отключаем автозагрузку для всех изображений на сайте.
Отключение lazy loading для отдельных изображений
Если нужно отключить lazy loading только для определённых изображений, например, логотипа или изображений в шапке, можно использовать проверку в фильтре:
function wplessons_disable_lazy_loading_for_logo($default, $image, $context) {
if ($context === 'logo') {
return false; // Отключаем lazy loading только для логотипа
}
return $default;
}
add_filter('wp_lazy_loading_enabled', 'wplessons_disable_lazy_loading_for_logo', 10, 3);Контекст logo зависит от того, как ваше изображение добавлено в тему, возможно, потребуется отладить для конкретного кейса.
Отключение автозагрузки через плагины
Если вы предпочитаете не трогать код, есть плагины, которые позволяют управлять lazy loading:
- Clearfy Pro — в этой популярной оптимизационной сборке есть опция отключения lazy loading одним кликом. Подробнее на wpshop.ru.
- Disable Lazy Load — бесплатный плагин из репозитория WordPress, который сразу отключает автозагрузку.
Как отключить автозагрузку для iframe и видео
WordPress по умолчанию также добавляет lazy loading к iframe, например, встраиваемым видео. Чтобы отключить её, используйте тот же фильтр wp_lazy_loading_enabled и проверяйте контекст:
function wplessons_disable_lazy_loading_for_iframe($default, $element, $context) {
if ($context === 'iframe') {
return false; // Отключаем lazy loading для iframe
}
return $default;
}
add_filter('wp_lazy_loading_enabled', 'wplessons_disable_lazy_loading_for_iframe', 10, 3);Если у вас есть плагин OmniVideo для расширенного управления видео, обратите внимание, что он может иметь свои настройки lazy loading. В этом случае отключение в WordPress нужно согласовывать с настройками плагина.
Альтернативные способы контроля загрузки изображений
Вместо полного отключения lazy loading можно настроить более тонкий контроль:
- Удалять
loading="lazy"только с критичных изображений через фильтрwp_lazy_loading_enabled. - Использовать JavaScript для управления загрузкой и отображением изображений.
- Комбинировать lazy loading с плагинами кэширования и оптимизации, например, Clearfy Pro, чтобы избежать конфликтов.
Заключение по отключению автозагрузки изображений
Отключение lazy loading в WordPress — простая задача, если знать правильные фильтры и методы. В большинстве случаев лучше настраивать исключения, а не отключать функцию полностью, чтобы сохранить преимущества скорости загрузки.
Если вы используете плагины от WPSHOP.RU, обратите внимание на их встроенные настройки, которые часто позволяют гибко управлять этим процессом без правки кода.