☰
ELEMENTOR / PRACTICE

Как оптимизировать LCP для hero-изображения в Elementor

Как оптимизировать LCP для hero-изображения в Elementor

Hero-изображение — это крупная картинка в верхней части страницы, которую пользователь видит сразу после открытия. Именно она часто становится самым большим видимым элементом и определяет показатель Largest Contentful Paint, или LCP.

Если браузер начинает загружать hero-картинку с задержкой, получает слишком большой файл или ждёт CSS для background-изображения, страница может казаться медленной даже при хорошем хостинге. Ниже приведён практический алгоритм оптимизации LCP для страниц, созданных в Elementor.

Что такое LCP и почему важно hero-изображение

LCP показывает, сколько времени браузеру требуется, чтобы отобразить самый большой видимый элемент в первом экране. Им может быть заголовок, текстовый блок, видео или изображение. На страницах с большим баннером именно hero-изображение чаще всего становится таким элементом.

На скорость LCP влияет не только размер файла. Браузеру нужно найти ресурс в HTML или CSS, установить соединение с сервером, загрузить файл, декодировать его и отрисовать на экране. Поэтому важно одновременно оптимизировать изображение, способ его подключения и порядок загрузки.

Проверить результат можно в PageSpeed Insights, Lighthouse или Chrome DevTools. Анализируйте не только общий балл, но и диагностику LCP: какой элемент определён как LCP, когда началась его загрузка и не тратится ли время на ожидание сервера или блокирующего CSS.

  • Если LCP-элементом является hero-изображение, сосредоточьте оптимизацию именно на нём.
  • Если LCP-элементом является заголовок или текст, проблема может быть связана с веб-шрифтом, CSS или ответом сервера, а не с картинкой.
  • Проверяйте страницу на мобильном устройстве или в мобильной эмуляции: там большие файлы сильнее влияют на результат.

Используйте Image вместо background-изображения

Если это позволяет дизайн, добавьте главную картинку через виджет Image в Elementor, а не в качестве background для секции или контейнера. Изображение в HTML проще обнаружить во время построения страницы, а браузер может применить к нему стандартные атрибуты srcset и sizes для адаптивной загрузки.

Background-изображение обычно подключается через CSS. Сначала браузер должен загрузить и обработать таблицу стилей, а уже затем найти ресурс. Это может отложить начало загрузки hero-файла, особенно если CSS большой, объединён или частично генерируется плагинами оптимизации.

Заменить background на Image удаётся не всегда. Например, фон может быть нужен для наложения текста, декоративного кадрирования или сложной композиции. В таком случае используйте оптимизированный CSS background, но отдельно проверьте, является ли он LCP-элементом и нельзя ли построить этот блок с помощью обычного изображения и object-fit.

  • Для изображения в виджете Image сохраняйте правильное соотношение сторон и настраивайте его отображение через стили.
  • Не создавайте дубликаты: если hero уже выводится как Image, не подключайте ту же картинку ещё и как background.
  • После изменения структуры очистите кеш Elementor, кеш страницы и CDN, если они используются.

Подготовьте правильный файл для первого экрана

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

WebP подходит для большинства фотографий и графики. AVIF часто позволяет получить ещё меньший размер, но его следует проверить в конкретной браузерной и серверной среде. WordPress и Elementor могут генерировать или использовать адаптивные варианты, однако после загрузки нужно убедиться, что страница действительно отдаёт нужный формат, а не тяжёлый оригинал.

Сжатие не должно ухудшать восприятие главного изображения. Для hero важны детали, текстура и читаемость объектов, поэтому проверяйте не только размер файла, но и качество на реальном экране.

  • Обрежьте лишние области, которые не видны в макете.
  • Экспортируйте фотографию в WebP или AVIF, если этот формат корректно поддерживается вашей системой.
  • Проверьте, что в HTML используются srcset и sizes, а не только один большой URL.
  • Укажите width и height или используйте корректные атрибуты размера, чтобы снизить риск смещения макета.

Настройте приоритет загрузки hero-изображения

Для изображения, которое видно сразу и которое является LCP-элементом, обычно не следует откладывать загрузку. В Elementor это можно сделать через расширенные атрибуты виджета Image. В поле Custom Attributes добавьте отдельные пары атрибутов в формате, который использует ваша версия Elementor: loading|eager и fetchpriority|high.

loading="eager" сообщает браузеру, что к этому изображению не следует применять отложенную загрузку. fetchpriority="high" указывает, что ресурс важен и его желательно загружать с более высоким приоритетом. Эти атрибуты не заменяют оптимизацию файла: большой JPEG останется медленным даже при высоком приоритете.

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

  • Используйте eager и high только для главного изображения, которое действительно видно в первом экране.
  • Не добавляйте эти атрибуты ко всем изображениям: браузер получит слишком много ресурсов с высоким приоритетом и потеряет преимущество правильного порядка загрузки.
  • Не используйте loading="lazy" для hero-изображения, если оно является LCP-элементом.
  • Если hero расположен ниже первого экрана, ему не нужен высокий приоритет только потому, что это крупное изображение.
<img src="hero.webp" alt="Опис зображення" width="1600" height="900" loading="eager" fetchpriority="high">

Оставьте lazy loading для изображений ниже первого экрана

Изображения в секциях ниже первого экрана не должны конкурировать с hero за пропускную способность и ресурсы браузера. Для них lazy loading обычно является правильным выбором: файл начинает загружаться ближе к моменту, когда пользователь прокручивает страницу до соответствующего блока.

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

Верхний блок может содержать несколько картинок: логотип, иконки, декоративные элементы и hero. Не каждой из них нужен высокий приоритет. Определите один основной ресурс, а небольшие декоративные файлы оставьте с более низким приоритетом.

  • Используйте eager/high для hero только тогда, когда он сразу виден.
  • Для изображений в галереях, отзывах и нижних секциях используйте lazy loading.
  • Не добавляйте lazy loading к небольшому логотипу или иконке без необходимости, но и не повышайте их приоритет вместо hero.
  • После оптимизации проверьте сетевые запросы в DevTools: критические ресурсы первого экрана должны загружаться в первую очередь.

Как найти причину медленного LCP

Если после оптимизации картинки LCP остаётся медленным, разделите проблему на этапы. В Lighthouse или PageSpeed Insights изучите breakdown LCP: ожидание ответа сервера, задержку обнаружения ресурса, время загрузки и время отображения. Это помогает понять, нужно ли работать с сервером, HTML, CSS или самим файлом.

Проверьте вкладку Network в Chrome DevTools. Найдите URL hero-изображения, его фактический формат, размер, время начала запроса и наличие кеша. Если запрос начинается только после загрузки большого CSS, это признак проблемы с подключением через background или блокирующими стилями. Если файл начинает загружаться рано, но долго передаётся, требуется дополнительное сжатие или более быстрый сервер.

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

  • Проверяйте мобильную и десктопную версии отдельно.
  • Сравнивайте результат с кешем и без кеша.
  • Убедитесь, что CDN отдаёт оптимизированный формат, а не резервный оригинал.
  • После каждого изменения меняйте только один фактор, чтобы понять его влияние.

Типичные ошибки при оптимизации hero

Самая распространённая ошибка — добавить fetchpriority="high" ко всем изображениям на странице. Это не ускоряет каждую картинку, а создаёт конкуренцию за сетевые ресурсы. Другая типичная проблема — использовать eager для большого баннера, но оставить файл в исходном формате и размере.

Не следует без проверки добавлять preload для hero. Предварительная загрузка может быть полезна в сложных случаях, но неправильный URL, неподходящий формат или дублирование запроса создадут лишнюю нагрузку. Сначала настройте HTML-изображение, его размер и приоритет, а затем оцените необходимость дополнительных подсказок браузеру.

Также не путайте LCP с CLS. Атрибуты width и height не делают файл быстрее, но помогают зарезервировать под него место и уменьшить смещение контента во время загрузки.

  • Не используйте оригинальную фотографию размером в несколько мегабайт без адаптивных вариантов.
  • Не оставляйте lazy loading для hero, если именно он определяет LCP.
  • Не оптимизируйте только оценку Lighthouse — проверяйте фактическую разметку и сетевые запросы.
  • Не удаляйте alt: он важен для доступности, хотя напрямую не ускоряет LCP.

Частые вопросы

Нужно ли всегда использовать loading="eager" для первого изображения?

Нет. Eager подходит для изображения, которое видно в первом экране и часто является LCP-элементом. Для баннера ниже первого экрана лучше оставить стандартное поведение или использовать lazy loading.

Ускорит ли fetchpriority="high" загрузку большого изображения?

Атрибут может помочь браузеру раньше выбрать важный ресурс, но не уменьшает его размер. Сжатие, правильный формат, адаптивная ширина и быстрый ответ сервера по-прежнему необходимы.

Что лучше для LCP в Elementor: Image или background?

В большинстве случаев для главного контентного изображения удобнее виджет Image, поскольку браузер раньше видит ресурс в HTML и может использовать srcset. Background можно оставить, если этого требует дизайн, но его необходимо отдельно протестировать.

Почему LCP не улучшился после перехода на WebP?

Возможно, страница всё ещё отдаёт старый формат, загружает слишком большой файл, применяет lazy loading или слишком поздно обнаруживает background-изображение. Проверьте фактические URL, формат, размер и время начала запроса в DevTools.

Вывод

Для быстрого LCP в Elementor начните с правильной структуры: используйте виджет Image для hero, подготовьте файл подходящего размера в формате WebP или AVIF и убедитесь, что доступны адаптивные варианты.

Для главной картинки можно добавить loading|eager и fetchpriority|high, но только если она действительно видна в первом экране. Для всех изображений ниже оставьте lazy loading. Итоговый результат оценивайте по фактическому LCP-элементу, HTML и сетевым запросам, а не только по настройкам Elementor.

← Все материалы Elementor