Требования к порогу хороших метрик для всего сайта

Core Web Vitals — это набор показателей, которые отражают качество пользовательского опыта на сайте. Основными метриками являются Largest Contentful Paint (LCP), First Input Delay (FID) и Cumulative Layout Shift (CLS). Каждая из этих метрик имеет рекомендуемый порог, который считается «хорошим» для стабильного и приятного взаимодействия с сайтом.

Largest Contentful Paint (LCP)

LCP измеряет время, необходимое для загрузки самого большого видимого элемента на странице. Это ключевой индикатор восприятия скорости загрузки пользователем.

  • Хороший порог: ≤ 2,5 секунд
  • Порог удовлетворительного состояния: 2,5–4,0 секунд
  • Порог плохого состояния: > 4 секунд

LCP зависит от скорости загрузки ресурсов (изображений, видео, блоков текста) и рендеринга на странице. Для оптимизации рекомендуется:

  • Минимизировать время ответа сервера.
  • Использовать современные форматы изображений (WebP, AVIF).
  • Предварительно загружать ключевые шрифты и критический CSS.
  • Откладывать ненужные JavaScript-скрипты, влияющие на рендеринг.

First Input Delay (FID)

FID измеряет задержку между первым взаимодействием пользователя с сайтом (клик, тап, клавиатура) и моментом, когда браузер начинает обработку этого события.

  • Хороший порог: ≤ 100 мс
  • Порог удовлетворительного состояния: 100–300 мс
  • Порог плохого состояния: > 300 мс

Основная причина высокого FID — блокирующий основной поток JavaScript. Для снижения задержки:

  • Разделять тяжелые скрипты на чанки (code-splitting).
  • Использовать requestIdleCallback и setTimeout для отложенного выполнения не критичных задач.
  • Сокращать объем и сложность синхронного JavaScript.

Cumulative Layout Shift (CLS)

CLS отражает стабильность визуального контента при загрузке страницы. Любое смещение элементов во время загрузки ухудшает пользовательский опыт.

  • Хороший порог: ≤ 0,1
  • Порог удовлетворительного состояния: 0,1–0,25
  • Порог плохого состояния: > 0,25

Причины сдвигов могут быть разными:

  • Изображения без указания размеров (width и height).
  • Динамическое добавление контента без резервирования пространства.
  • Шрифты, которые влияют на размеры блоков при подгрузке.

Для минимизации CLS следует:

  • Задавать фиксированные размеры для медиа-контента и блоков.
  • Использовать font-display: swap для ускоренной подгрузки шрифтов.
  • Контролировать вставку динамических рекламных блоков и виджетов.

Пороговые значения для всего сайта

Web Vitals анализируют пороговые значения для 75% пользователей сайта, а не для отдельных страниц. Это значит, что сайт считается оптимизированным, если минимум 75% сессий демонстрируют показатели, соответствующие «хорошим» метрикам:

  • LCP ≤ 2,5 с
  • FID ≤ 100 мс
  • CLS ≤ 0,1

Для мониторинга всего сайта применяется сбор метрик через JavaScript API Web Vitals или инструменты аналитики (Google PageSpeed Insights, Chrome UX Report). Сбор данных в реальном времени позволяет выявлять страницы, которые не соответствуют порогам, и локализовать узкие места производительности.

Применение Web Vitals в коде

Для получения метрик на страницах сайта используется библиотека web-vitals:

import { getLCP, getFID, getCLS } from 'web-vitals';

getLCP(console.log);
getFID(console.log);
getCLS(console.log);

Каждое из этих вызовов возвращает объект с данными метрики, включая значение, идентификатор сессии и время замера. На основании этих данных строятся отчеты, позволяющие:

  • Определять страницы с плохими показателями.
  • Настраивать приоритет загрузки критических ресурсов.
  • Отслеживать динамику улучшений после оптимизации.

Учет пользовательской сегментации

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

  • Десктоп / мобильные устройства
  • Разные географические регионы
  • Сети с различной скоростью (3G, 4G, Wi-Fi)

Эта сегментация позволяет корректно интерпретировать данные и применять оптимизацию там, где она принесет максимальный эффект.

Выводы по порогам для сайта

Чтобы сайт соответствовал современным требованиям производительности и UX:

  • Необходимо поддерживать LCP ≤ 2,5 с для 75% пользователей.
  • FID должен оставаться ≤ 100 мс для основных взаимодействий.
  • CLS необходимо держать ≤ 0,1 для всех визуальных элементов.

Соблюдение этих порогов напрямую влияет на удержание пользователей, скорость взаимодействия и позиции в поисковой выдаче, так как Google использует Core Web Vitals в ранжировании страниц.