Как отключить отложенную загрузку изображений на отдельных страницах в GeneratePress

В GeneratePress чаще всего не сам lazy load проблема, а его применение не там, где нужно. На обычных статьях отложенная загрузка помогает, но на главной, лендингах, страницах с первым крупным баннером или в шаблонах с важным изображением выше первого экрана она может давать заметную задержку визуального появления контента. В итоге картинка есть в HTML, но браузер откладывает её загрузку, и это уже мешает и пользователю, и метрикам.

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

Когда lazy load действительно мешает

Проверять нужно не по ощущениям, а по факту. Если изображение находится в первом экране, но в DevTools видно, что у него стоит loading="lazy", браузер может отложить запрос. Это особенно заметно на:

  • главной странице с большим hero-изображением;
  • лендингах с баннером и CTA в верхней части;
  • страницах услуг, где первый экран строится вокруг одной ключевой иллюстрации;
  • шаблонах, где изображение участвует в LCP;
  • страницах, где lazy load конфликтует с слайдером или анимацией появления блока.

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

Диагностика: кто именно добавляет lazy load

В GeneratePress и в WordPress в целом lazy load может появляться из нескольких мест. Перед правкой надо понять источник, иначе вы отключите не то и получите эффект «ничего не изменилось».

Проверьте HTML страницы

Откройте страницу в браузере и посмотрите исходный код или элементы в DevTools. Ищите:

  • loading="lazy" у <img>;
  • fetchpriority="high" у изображения первого экрана, если оно уже оптимизировано;
  • классы или атрибуты, которые добавляет плагин оптимизации;
  • не только изображения, но и iframe, если на странице есть видео.

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

Сравните поведение на разных шаблонах

Откройте проблемную страницу и обычную запись. Если на записи lazy load есть, а на лендинге его нужно убрать, значит решение должно быть условным. Это типичный случай для GeneratePress: тема сама по себе не мешает, но её гибкая структура часто используется вместе с плагинами, которые включают одинаковую оптимизацию для всех страниц.

Как отключить lazy load точечно через код

Если lazy load добавляет WordPress, самый прямой путь — фильтр wp_img_tag_add_loading_attr. Он позволяет вернуть false для конкретных страниц или конкретных изображений. Это безопаснее, чем править HTML вручную, потому что логика остаётся в коде темы или в мини-плагине.

<?php
add_filter( 'wp_img_tag_add_loading_attr', function( $value, $image, $context ) {
    if ( is_page( array( 12, 34 ) ) ) {
        return false;
    }

    return $value;
}, 10, 3 );

В этом примере lazy load отключается только на страницах с ID 12 и 34. Если у вас лендинг на отдельном шаблоне, можно заменить is_page() на проверку шаблона:

<?php
add_filter( 'wp_img_tag_add_loading_attr', function( $value, $image, $context ) {
    if ( is_page_template( 'templates/landing.php' ) ) {
        return false;
    }

    return $value;
}, 10, 3 );

Если нужно убрать lazy load только у первого изображения на странице, логика будет сложнее: придётся отслеживать контекст вывода. На практике проще отключать его для конкретного шаблона или для конкретного блока, который отвечает за первый экран.

Если lazy load добавляет не WordPress, а плагин

Тогда фильтр выше не поможет. У большинства плагинов оптимизации есть собственные исключения. Обычно это:

  • исключение по URL страницы;
  • исключение по CSS-классу изображения;
  • исключение по имени файла;
  • отключение lazy load для первых N изображений.

Здесь важно не смешивать два механизма сразу. Если WordPress уже добавляет loading="lazy", а плагин ещё и переписывает изображения, вы можете получить дублирующую логику. Сначала отключите один источник, потом проверьте второй.

Сравнение подходов: плагин, код, компромисс

ПодходКогда подходитМинус
Настройка в плагине оптимизацииЕсли lazy load добавляет кеш-плагин и у него есть исключенияЗависит от конкретного плагина и его интерфейса
Фильтр в кодеЕсли нужно отключить lazy load на шаблоне, странице или по условиюНужен доступ к functions.php или мини-плагину
Полное отключениеЕсли lazy load ломает критичный шаблон и нет времени на точечную настройкуТеряется польза на длинных страницах

Пошаговое решение для GeneratePress

Если у вас тема GeneratePress и проблема проявляется только на части страниц, действуйте так:

  1. Определите, кто добавляет loading="lazy": WordPress, плагин кеша или сторонний оптимизатор.
  2. Проверьте, на каких шаблонах lazy load мешает: главная, лендинг, страница услуги, статья.
  3. Если источник — WordPress, добавьте фильтр wp_img_tag_add_loading_attr и ограничьте его условием is_page() или is_page_template().
  4. Если источник — плагин, добавьте исключение в его настройках.
  5. После правки очистите кеш страницы, кеш плагина и кеш CDN, если он есть.

Для удобства можно вынести условие в отдельную функцию, чтобы потом расширить список страниц без переписывания фильтра:

<?php
function gp_disable_lazyload_on_selected_pages( $value, $image, $context ) {
    if ( is_page( array( 12, 34, 56 ) ) ) {
        return false;
    }

    return $value;
}
add_filter( 'wp_img_tag_add_loading_attr', 'gp_disable_lazyload_on_selected_pages', 10, 3 );

Как проверить, что решение сработало

Проверка должна быть технической, а не визуальной «на глаз».

  • Откройте страницу в режиме инкогнито, чтобы исключить влияние расширений браузера.
  • Посмотрите HTML первого изображения: атрибут loading="lazy" должен исчезнуть там, где вы его отключали.
  • Вкладка Network в DevTools должна показать ранний запрос к изображению первого экрана.
  • Если вы используете Lighthouse или PageSpeed Insights, проверьте, не изменился ли LCP в нужную сторону именно на проблемной странице.
  • Очистите весь кеш и проверьте страницу повторно после обновления.

Если атрибут исчез, но картинка всё равно подгружается поздно, значит задержку создаёт не lazy load, а другой фактор: тяжёлый файл, блокирующий CSS, JS-рендер или внешний CDN.

Частые ошибки и как их исправить

Отключили lazy load глобально вместо точечного исключения

Это частая реакция, когда первая проверка показывает задержку изображения. В результате вы убираете полезную оптимизацию со всего сайта. Исправление простое: верните lazy load и ограничьте отключение только нужными страницами или шаблонами.

Проверили не тот источник

WordPress может уже не добавлять loading="lazy", а его добавляет плагин оптимизации. Тогда фильтр в теме не даст результата. Смотрите исходный HTML и настройки активных плагинов, прежде чем править код.

Не очистили кеш

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

Отключили lazy load у всех изображений на шаблоне

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

Что учесть в GeneratePress, чтобы не сломать производительность

GeneratePress обычно используют именно за аккуратную структуру и минимальный лишний код. Поэтому любые исключения по оптимизации должны быть узкими. Если вы уже чистите сайт от дублей и лишних мета-тегов, не добавляйте сюда ещё и широкое отключение всех механизмов загрузки изображений.

Практически это означает три вещи:

  • не правьте шаблоны темы напрямую, если можно обойтись фильтром;
  • не отключайте lazy load на всём сайте ради одной страницы;
  • проверяйте результат после каждого изменения, а не пачкой.

Если вам нужен более широкий набор инструментов для чистки технических дублей и оптимизации WordPress, можно посмотреть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но и там логика та же: сначала понять источник проблемы, потом отключать только лишнее.

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

Как отключить отложенную загрузку изображений на отдельных страницах в GeneratePress
08.09.2026
Как отключить пагинацию архивов в GeneratePress без потери индексации
23.08.2026
Как отключить лишние изображения srcset на страницах без картинок в GeneratePress
26.08.2026
Как отключить встроенную XML-карту сайта в GeneratePress и отдать индексацию своему sitemap
29.08.2026
Как убрать дублирующиеся H1 и Title на страницах архивов в GeneratePress
13.08.2026