Core Web Vitals — три метрики, которыми поисковики измеряют не «скорость» вообще, а конкретные ощущения посетителя: быстро ли видно содержимое, отвечает ли страница на клики и не прыгает ли вёрстка под руками.
LCP — насколько быстро видно главное
Время до отрисовки самого крупного элемента первого экрана. Чаще всего его портит тяжёлая картинка в шапке без современного формата и заданных размеров, реже — шрифты и сторонние скрипты, которые грузятся раньше контента.
INP — насколько быстро страница отвечает
Задержка между действием пользователя и видимой реакцией интерфейса. Главный источник проблем — избыточный JavaScript: аналитика, виджеты чатов, карты и слайдеры, которые выполняются в тот же момент, когда человек пытается нажать кнопку.
CLS — насколько сильно скачет вёрстка
Смещение блоков после начала загрузки. Обычно это изображения и рекламные вставки без зарезервированного места и шрифты, которые подменяются на лету.
Что мы делаем на своей стороне
Отдаём статические страницы, а не собираем их на каждый запрос.
Конвертируем изображения в WebP и всегда указываем размеры.
Встраиваем критический CSS и откладываем всё, что не нужно на первом экране.
Подключаем сторонние скрипты после интерактивности, а не до неё.
Метрики стоит смотреть на реальных пользователях, а не только в лабораторном тесте: разница между результатом на ноутбуке разработчика и на телефоне посетителя обычно и есть настоящая проблема.