Заявка
Mobile · CWV

FCP

First Contentful Paint · Первая отрисовка контента

FCP (First Contentful Paint) — это время от начала загрузки страницы до появления первого элемента контента: текста, картинки или значка. Показывает, как быстро пользователь видит, что сайт начал грузиться.

FCP (First Contentful Paint) — это отметка времени, когда браузер отрисовывает на экране первый фрагмент содержимого: строку текста, картинку, SVG или фоновое изображение с непустым содержимым. Отсчёт идёт от команды на переход по адресу. Что это значит на практике: пользователь перестаёт смотреть на белый экран и получает первый сигнал, что страница живая.

Метрика входит в лабораторный набор Lighthouse и отражает скорость первичного рендеринга. Порог из документации Google: FCP ≤ 1.8 с — зона Хорошо, 1.8–3.0 с — Требует улучшения, свыше 3.0 с — Плохо. Замеряется в PageSpeed Insights, Lighthouse и через JavaScript-интерфейс Paint Timing API.

§ 01Что показывает

Время первой отрисовки контента фиксирует переход от пустого вьюпорта к первому видимому элементу DOM. В отличие от LCP, которое ждёт самый крупный блок, эта метрика срабатывает на любом первом непустом пикселе — даже на одном заголовке. <canvas> без содержимого и белый фон отрисовкой не считаются. Показатель скорости отрисовки отвечает на вопрос пользователя: сайт вообще грузится или завис?

§ 02Как измерить

Лабораторный замер даёт Lighthouse и вкладка Performance в DevTools — прогон в контролируемой среде без реальных пользователей. Полевые данные собирает CrUX и отчёт Core Web Vitals в Search Console по 75-му перцентилю живого трафика. В коде момент первой отрисовки достаёт PerformanceObserver с типом paint и записью first-contentful-paint. PageSpeed Insights показывает обе цифры рядом — лабораторную и полевую.

Кейс e-commerce

FCP 3.1→1.4 c — Интернет-магазин косметики на Shopify вынес критический CSS инлайном и отложил сторонние скрипты через defer. FCP упал с 3.1 до 1.4 с за 5 недель. Замер через PSI и CrUX-75th, показатель отказов снизился на 11%.

Кейс медиа

FCP 2.8→1.2 c — Новостной портал на WordPress подключил шрифты через font-display:swap и preconnect к CDN, убрав блокировку рендера. FCP сократился с 2.8 до 1.2 с за 4 недели. Динамика по GA4 и Lighthouse, глубина просмотра выросла на 9%.

§ 03Что искажает замер

Блокирующий рендеринг CSS и синхронный JavaScript в <head> сдвигают показатель вправо: браузер не рисует ничего, пока не построит CSSOM. Медленный ответ сервера — высокий TTFB — переносит старт отрисовки целиком. Кастомные шрифты с font-display: block прячут текст до загрузки файла. Редиректы, тяжёлые сторонние скрипты и отсутствие кеширования тоже завышают время до первого контента.

§ 04Что делать с плохим значением

Сократить критический CSS и вынести его инлайном, а остальное грузить асинхронно — первый шаг при значении выше 3 секунд. Для скриптов работают атрибуты defer и async, чтобы не блокировать построение страницы. Шрифты переводят на font-display: swap и подключают preconnect к домену CDN. Снижение TTFB через кеш и CDN ускоряет фцп напрямую. Проверять результат удобно повторным прогоном в Lighthouse.

Частые ошибки
01
Приравнивание FCP к полной загрузке страницы. FCP фиксирует лишь первый отрисованный пиксель контента, но команда считает, что после него страница готова. В итоге основной контент грузится ещё секунды, а реальное восприятие скорости и поведенческие метрики страдают. Как правильно: Разделяйте метрики: FCP для первой отрисовки, LCP для главного контента. Оптимизируйте обе, а не одну.
02
Блокировка рендеринга тяжёлым CSS и шрифтами. Браузер не рисует ни пикселя, пока не загрузит весь render-blocking CSS и веб-шрифты без font-display. FCP уползает за 3 секунды, пользователь видит белый экран и уходит — конверсия и трафик падают. Как правильно: Внедрите critical CSS в head, остальное грузите асинхронно. Добавьте font-display: swap для шрифтов.
03
Замер FCP только в PageSpeed Insights на десктопе. Синтетический прогон показывает 1,2 секунды, а реальные мобильные пользователи на 4G получают 3,5. Google для Core Web Vitals берёт поле из CrUX за 28 дней — по нему и ранжирует, оценка занижается. Как правильно: Сравнивайте field data из CrUX и Search Console, а не лабораторный прогон. Цельтесь в FCP до 1,8 секунды у 75% сессий.
Часто спрашивают

Частые вопросы про FCP (First Contentful Paint)

First Contentful Paint простыми словами — что это?

+

Первая отрисовка контента — это время от начала загрузки страницы до появления первого видимого элемента: текста, картинки или значка. Момент первой отрисовки показывает, как быстро пользователь понимает, что сайт начал грузиться. Замеряется в секундах через Lighthouse или PageSpeed Insights.

До 1,8 секунды — это хороший результат по методике Google. Диапазон 1,8-3,0 секунды считается средним, всё что дольше 3 секунд — плохим. Пороги привязаны к 75-му перцентилю реальных визитов, а не к одному лабораторному замеру.

Начните с замера в PageSpeed Insights, чтобы увидеть текущее значение. Дальше сокращают время ответа сервера (TTFB), убирают блокирующий CSS и JS из <head>, подключают критический CSS инлайном. По опыту GUSAROV, эти три шага ускоряют отрисовку контента заметнее всего.

ФЦП фиксирует появление первого любого элемента на экране, а LCP — момент отрисовки самого крупного блока: главной картинки или заголовка. Первая метрика показывает начало прорисовки, вторая — когда основной контент почти готов. LCP входит в Core Web Vitals, а этот замер скорости — вспомогательный.

Да, следить стоит с первых недель запуска. Медленная первая отрисовка повышает отказы: по данным Google, задержка загрузки с 1 до 3 секунд увеличивает вероятность ухода примерно на 32%. Молодому проекту дешевле заложить скорость сразу, чем переделывать вёрстку потом.

Не нашли ответ?

Спросите Андрея Гусарова — отвечаю в течение 1-2 рабочих дней.

Нажимая, вы соглашаетесь с обработкой данных.