Largest Contentful Paint измеряет время, необходимое для
отображения самого большого блока содержимого на странице, видимого
пользователю. В отличие от других метрик рендеринга, LCP ориентирован
именно на пользовательский опыт и воспринимаемую скорость загрузки.
Ключевые моменты LCP:
Считается только видимое содержимое, включая изображения, видео и текстовые блоки.
Элемент должен находиться в видимой части экрана
(viewport).
LCP фиксируется при первом появлении наибольшего элемента, а не всех элементов одновременно.
Метрика имеет следующие ориентиры:
Пример использования в Jav * aScript:
import { getLCP } from 'web-vitals';
getLCP(metric => {
console.log('LCP:', metric.value);
});
Эта функция позволяет отслеживать реальное время отображения ключевого контента и передавать данные для анализа.
Cumulative Layout Shift измеряет суммарную
нестабильность макета страницы — насколько элементы неожиданно смещаются
в процессе загрузки и взаимодействия пользователя.
Основные характеристики CLS:
Каждый неожиданный сдвиг вычисляется как произведение доли экрана, которая сдвинулась, на долю видимой области, затронутой сдвигом.
Суммируются только сдвиги без взаимодействия пользователя.
CLS особенно важен для динамического контента, баннеров и рекламы, которые подгружаются после рендера основной страницы.
Оценка CLS:
Пример мониторинга CLS:
import { getCLS } from 'web-vitals';
getCLS(metric => {
console.log('CLS:', metric.value);
});
Эти данные позволяют выявлять элементы, вызывающие раздражающие скачки интерфейса, и оптимизировать их поведение.
Тип записей event объединяет метрики, фиксирующие
время отклика интерфейса на действия пользователя и
взаимодействия с событиями.
Основные метрики:
Пример отслеживания FID:
import { getFID } from 'web-vitals';
getFID(metric => {
console.log('FID:', metric.value);
});
Отслеживание событий позволяет выявлять узкие места в обработке пользовательского ввода, оптимизировать скрипты и повысить отзывчивость интерфейса.
Тип записей paint фиксирует момент, когда
браузер визуализировал первый пиксель содержимого. Это важная
метрика для оценки восприятия скорости загрузки
страницы.
Ключевые особенности:
Пример получения FCP:
import { getFCP } from 'web-vitals';
getFCP(metric => {
console.log('FCP:', metric.value);
});
Использование paint-записей помогает оптимизировать время до первого визуального отклика, особенно при загрузке тяжелых CSS и шрифтов.