Как снизить показатели Core Web Vitals и LCP
Что такое Core Web Vitals?
Core Web Vitals — это три основных показателя производительности, определённых Google для оценки пользовательского опыта: LCP (Largest Contentful Paint — время появления на экране самого большого элемента контента), INP (Interaction to Next Paint — скорость отклика на взаимодействие пользователя) и CLS (Cumulative Layout Shift — степень сдвига макета страницы при загрузке). Эти три показателя измеряются на основе реальных пользовательских данных (field data); то есть они рассчитываются не на основе лабораторных тестов (например, однократной проверки), а на основе данных, собранных в условиях реальных устройств и сетей реальных посетителей.
Эти три показателя отражают разные аспекты пользовательского опыта: LCP дает представление о том, «насколько быстро загружается страница», INP отвечает на вопрос «насколько быстро страница реагирует на взаимодействие», а CLS измеряет, «скачет ли страница на глазах». Если все три показателя не находятся на хорошем уровне, общий пользовательский опыт нельзя считать полностью «хорошим».
В этом руководстве особое внимание уделяется LCP, поскольку это, как правило, показатель, на который легче всего повлиять и который представляет собой наиболее конкретную область для улучшения; крупное изображение или видео в верхней части страницы может в одиночку задержать LCP на несколько секунд.
Почему это важно?
Эти показатели напрямую отражают пользовательский опыт: медленно загружающаяся, с задержкой реагирующая на взаимодействие или постоянно прокручивающаяся страница отталкивает пользователя от сайта. Google использует Core Web Vitals в качестве одного из сигналов ранжирования; влияние этих показателей может быть особенно заметным в мобильном поиске, поскольку мобильные устройства и сети, как правило, имеют более ограниченные ресурсы, чем настольные компьютеры.
Согласно текущим пороговым значениям, чтобы показатель LCP считался «хорошим», он должен быть менее 2,5 секунд, и это значение должно быть достигнуто как минимум у 75 % реальных пользователей. Сайт, превышающий этот порог, даже если он технически работает, попадает в категорию «медленных» с точки зрения пользовательского опыта, и это может негативно повлиять как на коэффициент конверсии, так и на позиции в поисковой выдаче.
Причины низкого показателя LCP могут быть разными для каждого сайта: на одних сайтах виной тому может быть большое несжатое изображение, а на других — медленный отклик сервера (TTFB) или сторонние скрипты, блокирующие рендеринг (например, рекламные сети, инструменты аналитики). Поэтому перед тем, как приступить к оптимизации, важно определить, какой именно элемент отмечен как LCP.
Как это исправить?
- Оптимизируйте изображение, определяющее показатель LCP (как правило, это «геройское» изображение): подходящий размер, современный формат (WebP/AVIF), сжатие.
- Добавьте к изображению LCP
<link rel="preload">, чтобы браузер мог обнаружить его раньше; это обеспечит приоритетную загрузку изображения, а не одновременно с другими ресурсами. - Сократите время отклика сервера (TTFB): кэширование, быстрый хостинг, использование CDN.
- Сократите количество файлов CSS/JS, блокирующих рендеринг, или отложите их загрузку (defer/async); браузер может приостановить прорисовку страницы до тех пор, пока не загрузит и не выполнит эти файлы.
- Уменьшите географическую задержку, распространяя статические ресурсы через CDN; ответ с сервера, расположенного ближе всего к пользователю, сокращает задержку.
Пример
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high">
Плохой пример: <img src="hero.jpg" loading="lazy"> — установка отложенной загрузки (lazy load) для изображения LCP не позволяет браузеру сразу загрузить изображение при загрузке страницы и значительно увеличивает время LCP.
Распространённые ошибки
- Предоставление изображения LCP слишком большого размера без сжатия.
- Объединение всего CSS или JS в один большой файл, что блокирует рендеринг.
- Неправильное применение атрибута
loading="lazy"к изображению LCP (первому изображению, видимому в верхней части экрана без прокрутки, above the fold) — это задерживает LCP, поскольку браузер откладывает загрузку изображения вместо того, чтобы загрузить его сразу. - Игнорировать время отклика сервера и оптимизировать только интерфейс.
- Если показатель LCP в отчете Seoraporu.co превышает 2,5 секунды, сначала необходимо определить, какой элемент был отмечен как LCP, и уделить ему приоритетное внимание; целенаправленное вмешательство более эффективно, чем общий подход «оптимизировать всё».
- Регулярно анализируйте, как сторонние скрипты (реклама, аналитика, виджет чата) влияют на порядок загрузки страницы; со временем они могут накапливаться и постепенно снижать производительность.
- Игнорирование показателя CLS и сосредоточение внимания исключительно на LCP может привести к внезапному смещению контента при загрузке страницы из-за наличия визуальных элементов или рекламных блоков с неопределёнными размерами.