ГлавнаяБлогCore Web Vitals

Core Web Vitals: LCP, INP, CLS и как их улучшить

10 июля 20269 минСкорость

Ты открываешь сайт, а он тормозит: картинка догружается через две секунды, кнопка не нажимается, текст прыгает под пальцем. Core Web Vitals — это три метрики, которыми Google измеряет ровно эту боль живого пользователя. Я 11 лет вожусь с SEO и скоростью, и за это время Vitals из «гиковской темы» превратились в то, что реально двигает позиции и конверсию. Разберу по-человечески: что за метрики, какие цифры считаются нормой, чем мерить и что крутить, чтобы стало быстро.

Коротко
  • Core Web Vitals — три метрики Google про реальный опыт: скорость загрузки (LCP), отзывчивость на клики (INP) и стабильность вёрстки (CLS).
  • Хорошие пороги: LCP ≤ 2,5 с, INP ≤ 200 мс, CLS ≤ 0,1. Оценивают по 75-му перцентилю живых пользователей.
  • INP с марта 2024 заменил старую метрику FID и меряет отзывчивость жёстче.
  • Проверять двумя типами данных: полевые (CrUX, реальные люди) и лабораторные (тест в вакууме). Инструменты — PageSpeed Insights, отчёт в Search Console, наш on-page аудит.
  • Для Google Vitals — часть сигналов Page Experience и фактор ранжирования. Для Яндекса влияют косвенно через скорость и поведенческие. Мобайл важнее десктопа.

Что такое Core Web Vitals простыми словами

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

Разложу на бытовом языке:

  • LCP — как быстро появляется главное. Ты кликнул на статью, и вопрос один: когда я увижу заголовок и большую картинку, а не белый экран.
  • INP — как быстро сайт отвечает на твои действия. Нажал кнопку меню — оно открылось сразу или подвисло на полсекунды.
  • CLS — насколько вёрстка стоит на месте. Ты целишься в ссылку, а сверху догрузился баннер, всё уехало вниз, и палец попал не туда.

Ключевой нюанс: Vitals считают по живым людям, которые реально заходили на сайт из Chrome, а не по одному твоему тесту с быстрого ноутбука. Google берёт 75-й перцентиль — значит, у трёх из четырёх посетителей должно быть «хорошо», чтобы метрика зачлась зелёной. Один быстрый заход ничего не доказывает.

LCPзагрузка
≤2,5с хорошо · до 4с улучшить · >4с плохо
INPотклик
≤200мс хорошо · до 500мс улучшить · >500мс плохо
CLSстабильность
≤0,1 хорошо · до 0,25 улучшить · >0,25 плохо
Пороги по 75-му перцентилю реальных пользователей (CrUX).

LCP — за сколько прогружается главный экран

LCP (Largest Contentful Paint) отвечает на вопрос: за сколько секунд отрисовался самый крупный видимый элемент в первом экране. Обычно это большая картинка, обложка статьи или крупный блок заголовка.

Пороги:

  • ≤ 2,5 с — хорошо;
  • 2,5–4 с — надо поработать;
  • > 4 с — плохо.

Почему именно самый большой элемент. Google логично рассудил: пользователь считает страницу «загрузившейся», когда увидел основной контент. Мелкие иконки и футер его в этот момент не волнуют. Метрика ловит именно момент, когда экран стал осмысленным.

Типичные убийцы LCP — медленный сервер, тяжёлые несжатые изображения, шрифты, которые блокируют отрисовку, и куча render-blocking скриптов в шапке. Всё это откладывает тот самый миг, когда человек видит смысл.

INP — насколько быстро сайт отвечает на клики

INP (Interaction to Next Paint) меряет отзывчивость: ты что-то нажал, и через сколько миллисекунд экран отреагировал видимым изменением. Метрика смотрит на все взаимодействия за визит и берёт практически худшее — ловит самый противный лаг, а не средний по больнице.

Пороги:

  • ≤ 200 мс — хорошо;
  • 200–500 мс — надо поработать;
  • > 500 мс — плохо.

Важная веха: в марте 2024 INP официально заменил старую метрику FID (First Input Delay). FID мерил только задержку до начала обработки первого клика и был слишком добрым — почти у всех был зелёным. INP смотрит на весь цикл отклика и на все действия за сессию, поэтому честнее показывает, где интерфейс тормозит.

Главный виновник плохого INP — тяжёлый JavaScript. Браузер выполняет скрипт одним длинным куском, поток занят, и пока он считает, твой клик стоит в очереди. Отсюда ощущение «нажал — и ничего».

CLS — прыгает ли вёрстка под пальцем

CLS (Cumulative Layout Shift) — про стабильность. Метрика суммирует, насколько элементы скакали по экрану во время загрузки без твоего участия. Это безразмерное число: чем меньше, тем спокойнее страница стоит на месте.

Пороги:

  • ≤ 0,1 — хорошо;
  • 0,1–0,25 — надо поработать;
  • > 0,25 — плохо.

Классический сценарий: ты читаешь текст, сверху догружается картинка без заданных размеров, контент резко уезжает вниз, ты теряешь строку. Или целишься в «Купить», а в последний момент подгрузился рекламный блок и сдвинул кнопку — палец попадает в чужую ссылку. CLS ловит ровно эту боль дёргающейся вёрстки.

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

Как проверить Core Web Vitals

Первое, что надо усвоить: есть два типа данных, и путать их дорого.

Полевые данные (field, CrUX) — статистика реальных пользователей Chrome за последние 28 дней. Именно её Google учитывает для ранжирования. Живая, но инерционная: правку увидишь только когда накопится новый трафик.

Лабораторные данные (lab) — один прогон в контролируемой среде с эмуляцией среднего телефона и сети. Быстро, воспроизводимо, удобно для отладки. Но это симуляция, и она может расходиться с тем, что видят твои настоящие посетители.

Правило простое: полевые данные говорят, есть ли проблема у людей; лабораторные помогают её чинить и проверять гипотезы.

Чем мерить:

  • PageSpeed Insights — показывает и полевые (если по URL хватает данных CrUX), и лабораторные. Главный рабочий инструмент: даёт оценки по трём метрикам и список конкретных рекомендаций.
  • Google Search Console, отчёт Core Web Vitals — единственное место, где видно ситуацию по всему сайту сразу. Группирует страницы в «плохо / нужно улучшить / хорошо» отдельно для мобильных и десктопа. С него и начинай. Как читать GSC — в отдельном разборе.
  • Наш on-page аудит — быстрый способ прогнать URL и увидеть узкие места без копания в отчётах.
  • DevTools в Chrome (вкладка Performance и Lighthouse) — для глубокой отладки INP и поиска длинных задач в коде.

Начинай сверху вниз: Search Console показывает, где горит по всему сайту, PageSpeed разбирает конкретный URL, DevTools добивает точечно.

1
Замерил
PageSpeed и CrUX, поле на мобайле
2
Нашёл худшую
какая из LCP, INP, CLS в красной зоне
3
Чиню причину
картинки, скрипты, резерв места под медиа
4
Перезамер
лаба сразу, поле копится ~28 дней
Один круг диагностики: от замера до проверки, что стало быстрее.
загрузка, секунды
с
отклик, мс
мс
сдвиги макета, 0–1
Введи свои значения из PageSpeed Insights или CrUX — подсвечу зону по каждой метрике. Пороги — по 75-му перцентилю.

Как улучшить LCP

Цель — чтобы главный элемент экрана появился быстрее. Работаем по цепочке от сервера до картинки.

  • Ускорь ответ сервера. Тормозящий бэкенд или дешёвый хостинг откладывают вообще всё. Включи кэширование, оптимизируй запросы к базе, подумай про более быстрый тариф.
  • Поставь CDN. Если сервер физически далеко от пользователя, каждый байт идёт дольше. CDN раздаёт статику с ближайшей точки и заметно срезает задержку.
  • Оптимизируй картинки. Чаще всего LCP-элемент — это изображение. Сжимай, отдавай в современных форматах (WebP, AVIF), задавай правильный размер под контейнер. Не грузи «фотку 4000 пикселей», если в макете она 800.
  • Не ленись грузить главную картинку. Первому изображению экрана поставь приоритет загрузки и убери с него ленивую подгрузку — иначе браузер притормозит именно то, что меряет LCP.
  • Разберись со шрифтами. Подключай их с font-display, чтобы текст не ждал загрузки шрифта, и предзагружай критичные файлы. Убери из шапки скрипты и стили, которые блокируют отрисовку.

Как улучшить INP

INP лечится разгрузкой главного потока. Пока браузер жуёт JavaScript, он не может отвечать на клики, поэтому задача — не занимать поток надолго.

  • Убери лишний JavaScript. Аудит скриптов — самое доходное действие. Половина сторонних виджетов, старых счётчиков и чат-ботов висит зря и жрёт отзывчивость. Что не нужно — выкидывай.
  • Разбивай длинные задачи. Одна операция, которая считается 300 мс, намертво блокирует отклик. Дели её на короткие куски и отдавай браузеру паузы, чтобы он успевал обработать клик между ними.
  • Откладывай некритичное. Аналитику, баннеры, всё, что не нужно в первую секунду, грузи отложенно и после того, как страница стала интерактивной.
  • Не тащи тяжёлые библиотеки ради мелочи. Огромный фреймворк ради одного слайдера — частая причина лагов на мобильных, где процессор слабее.
  • Следи за сторонними тегами. Менеджеры тегов и рекламные сети умеют в одиночку убить INP. Проверяй каждого нового «жильца» через DevTools.

Как улучшить CLS

CLS чинится дисциплиной: всему, что подгружается, надо заранее зарезервировать место.

  • Задавай размеры картинкам и видео. Пропиши width и height (или aspect-ratio), чтобы браузер выделил место под элемент до его загрузки и ничего не прыгало.
  • Бронируй место под динамику. Реклама, эмбеды, виджеты — под них держи контейнер фиксированной высоты. Пусть лучше пустует секунду, чем толкает контент.
  • Никогда не вставляй блоки над видимым контентом. Плашки «подпишись», уведомления и баннеры, которые внезапно появляются сверху, сдвигают всё вниз. Резервируй под них слот или показывай так, чтобы не двигать остальное.
  • Приручи шрифты. При подмене системного шрифта на кастомный текст меняет метрики и толкает соседние элементы. Подбирай запасной шрифт близким по размеру и предзагружай основной.
Сжал картинки и отдаю в WebP или AVIF. Никаких «фоток 4000 пикселей» там, где в макете 800.
LCP-картинку граблю сразу. Приоритет загрузки главному изображению экрана и убрать с него ленивую подгрузку.
Отложил тяжёлые скрипты. Аналитику, баннеры, чат-боты гружу после того, как страница стала интерактивной.
Разбил длинные JS-задачи. Дроблю операции на короткие куски и отдаю браузеру паузы, чтобы он успевал обработать клик — так лечится INP.
Зарезервировал размеры под медиа. width и height (или aspect-ratio) картинкам, контейнер фиксированной высоты рекламе и виджетам — вёрстка не прыгает, CLS в норме.
Убрал лишние шрифты. Оставил нужные начертания, подключил через font-display и предзагрузил критичные файлы.
Замерил на мобайле по 75-му перцентилю. Проверяю в первую очередь телефон: слабее процессор и сеть, там метрики валятся первыми.
Все семь галочек — и три метрики поедут в зелёную зону.
Чек-лист ускорения под CWV. Прогресс сохраняется в браузере.

Влияет ли Core Web Vitals на ранжирование

Коротко: для Google — да, напрямую и официально. Vitals входят в набор сигналов Page Experience. Google не раз повторял: при прочих равных страница с лучшим пользовательским опытом получит преимущество. Это фактор-усилитель — он не вытащит слабый по смыслу материал в топ, но между двумя одинаково релевантными страницами быстрая победит.

Здесь важно не переоценить вес. Релевантность и качество контента остаются главными. Vitals работают как тонкая настройка: заметно там, где конкуренты равны по содержанию, и почти незаметно, если твой материал объективно слабее. Про то, что вообще двигает выдачу, — в разборе факторов ранжирования.

Для Яндекса прямого фактора «Core Web Vitals» нет — это метрика Google. Но влияние идёт косвенно и вполне ощутимо. Яндекс любит быстрые сайты и учитывает скорость, а ещё сильно опирается на поведенческие сигналы. Тормозящая страница с прыгающей вёрсткой отпугивает людей: они уходят, не дочитав, растёт процент отказов, падает глубина просмотра. Ускоряя сайт под Vitals, ты одновременно улучшаешь поведенческие — и в Яндексе тоже. Как разгонять скорость — в статье про скорость загрузки сайта.

Отдельно про мобайл: он важнее десктопа. Google работает по mobile-first индексации, и для большинства тематик именно мобильная версия определяет позиции. Проверяй Vitals в первую очередь на телефонах: там слабее процессор, хуже сеть, и та же страница, что летает на десктопе, легко проваливается по INP и LCP на смартфоне. В Search Console мобильный и десктопный отчёты разделены — начинай с мобильного.

Проверь себя
Три вопроса, на которых чаще всего срезаются. Ответь, не подглядывая.

Частые вопросы

Чем INP отличается от старого FID?
FID мерил только задержку до начала обработки самого первого клика и был слишком мягким — почти у всех сайтов он был зелёным. INP, который заменил его в марте 2024, смотрит на все взаимодействия за визит и на полный цикл отклика, а не только на первое касание. Порог хорошего значения — до 200 мс. Метрика честнее показывает реальные лаги интерфейса.
Какие значения Core Web Vitals считаются хорошими?
LCP до 2,5 секунды, INP до 200 миллисекунд, CLS до 0,1. Оценка идёт по 75-му перцентилю: у трёх из четырёх реальных посетителей метрика должна укладываться в «хорошо», чтобы Google засчитал её зелёной.
Почему PageSpeed Insights и Search Console показывают разные цифры?
Они смотрят на разные данные. Search Console и полевой блок PageSpeed опираются на статистику живых пользователей Chrome за 28 дней (CrUX). Лабораторная оценка PageSpeed — это один прогон в симуляции среднего телефона. Симуляция и реальные люди почти всегда расходятся. Для ранжирования Google учитывает полевые данные.
Как быстро обновляются метрики после правок?
Лабораторные цифры в PageSpeed меняются сразу после деплоя. Полевые данные и отчёт в Search Console инерционны: они считаются по скользящему окну в 28 дней, поэтому эффект от изменений проявится постепенно, за несколько недель накопления нового трафика.
Обязательно ли иметь все три метрики зелёными?
Для статуса «хорошо» по URL нужно, чтобы все три метрики уложились в свои пороги. Но это не тумблер «топ или ничего»: Vitals — усиливающий сигнал, а не главный фактор. Полезнее вытащить самую проблемную метрику из красной зоны, чем гнаться за идеальными нулями по всем трём.
Что важнее для Vitals — мобильная версия или десктоп?
Мобильная. Google индексирует по mobile-first, и для большинства тематик позиции определяет именно мобильная версия. Плюс на телефонах слабее железо и сеть, поэтому проблемы с INP и LCP там вылезают первыми. Проверяй и оптимизируй в первую очередь мобайл.
Влияют ли Core Web Vitals на ранжирование в Яндексе?
Прямого фактора с таким названием у Яндекса нет — это метрика Google. Но влияние идёт косвенно: Яндекс учитывает скорость сайта и сильно опирается на поведенческие. Быстрая стабильная страница удерживает людей, снижает отказы и повышает глубину просмотра, а это Яндекс ценит. Так что оптимизация под Vitals помогает и здесь.

Главное

Если коротко

Core Web Vitals — три метрики Google про реальный пользовательский опыт: скорость главного экрана (LCP ≤ 2,5 с), отзывчивость на клики (INP ≤ 200 мс) и стабильность вёрстки (CLS ≤ 0,1). Оценивают по живым людям из Chrome, поэтому смотри полевые данные в Search Console, а чини через PageSpeed и DevTools. LCP лечат сервером и картинками, INP — разгрузкой JavaScript, CLS — размерами и резервом места. Для Google это фактор ранжирования, для Яндекса — косвенно через скорость и поведенческие, и мобайл важнее десктопа.

Сайт проседает по скорости и Core Web Vitals? Обсудим на брифе — покажу узкие места и что чинить в первую очередь.

Больше разборов в Telegram — «Digital-трафик»

Читать дальше

Все статьи
Ссылка скопирована