Core Web Vitals — это набор показателей, которые отражают качество пользовательского опыта на сайте. Основными метриками являются Largest Contentful Paint (LCP), First Input Delay (FID) и Cumulative Layout Shift (CLS). Каждая из этих метрик имеет рекомендуемый порог, который считается «хорошим» для стабильного и приятного взаимодействия с сайтом.
LCP измеряет время, необходимое для загрузки самого большого видимого элемента на странице. Это ключевой индикатор восприятия скорости загрузки пользователем.
LCP зависит от скорости загрузки ресурсов (изображений, видео, блоков текста) и рендеринга на странице. Для оптимизации рекомендуется:
FID измеряет задержку между первым взаимодействием пользователя с сайтом (клик, тап, клавиатура) и моментом, когда браузер начинает обработку этого события.
Основная причина высокого FID — блокирующий основной поток JavaScript. Для снижения задержки:
requestIdleCallback и
setTimeout для отложенного выполнения не критичных
задач.CLS отражает стабильность визуального контента при загрузке страницы. Любое смещение элементов во время загрузки ухудшает пользовательский опыт.
Причины сдвигов могут быть разными:
width и
height).Для минимизации CLS следует:
font-display: swap для ускоренной
подгрузки шрифтов.Web Vitals анализируют пороговые значения для 75% пользователей сайта, а не для отдельных страниц. Это значит, что сайт считается оптимизированным, если минимум 75% сессий демонстрируют показатели, соответствующие «хорошим» метрикам:
Для мониторинга всего сайта применяется сбор метрик через JavaScript API Web Vitals или инструменты аналитики (Google PageSpeed Insights, Chrome UX Report). Сбор данных в реальном времени позволяет выявлять страницы, которые не соответствуют порогам, и локализовать узкие места производительности.
Для получения метрик на страницах сайта используется библиотека
web-vitals:
import { getLCP, getFID, getCLS } from 'web-vitals';
getLCP(console.log);
getFID(console.log);
getCLS(console.log);
Каждое из этих вызовов возвращает объект с данными метрики, включая значение, идентификатор сессии и время замера. На основании этих данных строятся отчеты, позволяющие:
Важно понимать, что пороговые значения должны оцениваться с учетом различных устройств и сетевых условий. Для мобильных пользователей допустимые колебания выше, чем для десктопа, поэтому мониторинг часто ведется по отдельным сегментам:
Эта сегментация позволяет корректно интерпретировать данные и применять оптимизацию там, где она принесет максимальный эффект.
Чтобы сайт соответствовал современным требованиям производительности и UX:
Соблюдение этих порогов напрямую влияет на удержание пользователей, скорость взаимодействия и позиции в поисковой выдаче, так как Google использует Core Web Vitals в ранжировании страниц.