Web Vitals — это набор метрик, предназначенных для измерения
пользовательского опыта на веб-странице. Одной из ключевых возможностей
библиотеки является автоматическая оценка производительности
страниц на основе этих метрик. Поле rating играет
критическую роль в систематизации и интерпретации данных.
ratingПоле rating используется для классификации значения
метрики по заранее определённой шкале. Оно позволяет:
Примеры метрик, для которых применяется rating:
Библиотека Web Vitals возвращает объект с полями:
{
name: 'LCP',
value: 2450,
delta: 0,
id: 'v1-1234567890',
rating: 'good'
}
Здесь:
name — название метрики.value — числовое значение метрики в миллисекундах или
безразмерное (для CLS).delta — изменение значения относительно предыдущего
измерения.id — уникальный идентификатор измерения.rating — автоматическая категоризация
('good', 'needs-improvement',
'poor').ratingАвтоматическая оценка метрики основана на пороговых значениях, рекомендованных Google. Пример для LCP:
| Rating | LCP (мс) |
|---|---|
| good | ≤ 2500 |
| needs-improvement | 2501–4000 |
| poor | > 4000 |
Для CLS:
| Rating | CLS |
|---|---|
| good | ≤ 0.1 |
| needs-improvement | 0.1–0.25 |
| poor | > 0.25 |
Для FID:
| Rating | FID (мс) |
|---|---|
| good | ≤ 100 |
| needs-improvement | 101–300 |
| poor | > 300 |
Эта шкала позволяет автоматически интерпретировать пользовательский опыт без необходимости ручной настройки.
rating через API Web VitalsДля интеграции Web Vitals в проект используется функция
getLCP, getFID, getCLS и другие.
Пример:
import { getLCP, getFID, getCLS } from 'web-vitals';
getLCP(metric => {
console.log(metric.value); // числовое значение LCP
console.log(metric.rating); // автоматическая оценка: good, needs-improvement, poor
});
getCLS(metric => {
if (metric.rating === 'poor') {
console.warn('Проблемы с визуальной стабильностью страницы');
}
});
Библиотека автоматически вычисляет rating на основе
значения метрики и возвращает его вместе с числовым результатом.
В текущей версии Web Vitals нет необходимости вручную присваивать рейтинг, но возможно:
delta — отслеживание
динамики изменений и обновление rating при превышении
порогов.Пример кастомного присвоения rating для LCP:
function customRatingLCP(value) {
if (value <= 2000) return 'excellent';
if (value <= 3500) return 'average';
return 'poor';
}
Затем можно использовать функцию при обработке результатов:
getLCP(metric => {
metric.rating = customRatingLCP(metric.value);
console.log(metric);
});
ratingrating 'poor'
на сервер аналитики.rating для удобного отображения данных.Поле rating позволяет не только интерпретировать текущие
метрики, но и:
delta помогает определить тренд изменения метрики и
динамически корректировать rating.id обеспечивает возможность связывать показатели с
конкретными событиями и пользователями.value остаётся основой для любых дальнейших вычислений
и кастомных рейтингов.Использование поля rating обеспечивает
стандартизированную и автоматическую классификацию показателей Web
Vitals, что критически важно для масштабной аналитики и оптимизации
веб-проектов.