First Contentful Paint (FCP) — это метрика, которая измеряет время, прошедшее с момента начала загрузки страницы до появления первого визуального контента, который может быть текстом, изображением, SVG или другим элементом DOM. FCP является критически важным показателем пользовательского опыта, поскольку именно визуальная обратная связь формирует у пользователя ощущение быстродействия сайта.
Web Vitals делит показатели FCP на три категории:
Хороший (Good): FCP ≤ 1,8 секунды В этом диапазоне пользователь получает быстрый визуальный отклик, что способствует высокой удовлетворённости и снижению показателя отказов.
Нуждается в улучшении (Needs Improvement): 1,8 < FCP ≤ 3 секунд Страница отображает первый контент, но заметная задержка может вызывать лёгкое раздражение или недовольство у пользователя.
Плохой (Poor): FCP > 3 секунд Пользователь ждёт появления контента слишком долго, что критически сказывается на UX и конверсии.
Эти пороговые значения основываются на исследованиях Google, учитывающих поведение пользователей на различных устройствах и сетевых условиях.
В JavaScript для измерения FCP используется библиотека Web
Vitals. Основной метод — функция
getFCP(callback):
import { getFCP } from 'web-vitals';
getFCP(metric => {
console.log(metric.name); // "FCP"
console.log(metric.value); // время в миллисекундах
console.log(metric.delta); // изменение с предыдущего значения
console.log(metric.id); // уникальный идентификатор метрики
});
Параметры объекта metric:
"FCP".Оптимизация критического CSS
.Уменьшение времени ответа сервера (TTFB)
Ленивая загрузка неважных ресурсов
Предзагрузка критического контента
для шрифтов и крупных
изображений первого экрана.Минимизация блокирующего JavaScript
FCP можно собирать как для реальных пользователей (RUM, Real User Monitoring), так и в лабораторных условиях (Lighthouse, PageSpeed Insights):
Метрика FCP тесно связана с другими Web Vitals: LCP (Largest Contentful Paint), CLS (Cumulative Layout Shift) и FID (First Input Delay), поэтому её улучшение способствует общей производительности и стабильности страницы.