Core Web Vitals: измерение и улучшение веб-производительности
Вы создали быстрый сайт, но пользователи всё ещё жалуются на медлительность. Или, возможно, ваши позиции в SEO упали после обновления Google. Виновником могут быть Core Web Vitals — метрики Google для оценки пользовательского опыта. В этом руководстве вы узнаете, что это такое, как их точно измерять и какие практические шаги помогут улучшить каждую из них.
Что такое Core Web Vitals?
Core Web Vitals — это три конкретные метрики, которые количественно оценивают ключевые аспекты пользовательского опыта:
- Largest Contentful Paint (LCP): измеряет производительность загрузки. Он отмечает время, когда самый крупный элемент контента (изображение, видео или текстовый блок) становится видимым. Стремитесь к LCP менее 2,5 секунд.
- First Input Delay (FID): измеряет интерактивность. Он фиксирует время от первого взаимодействия пользователя (например, клика по ссылке) до ответа браузера. Стремитесь к FID менее 100 миллисекунд.
- Cumulative Layout Shift (CLS): измеряет визуальную стабильность. Он количественно оценивает неожиданные сдвиги макета во время загрузки. Стремитесь к CLS менее 0,1.
Эти метрики являются частью сигналов page experience от Google и напрямую влияют на SEO. Но что важнее, они отражают реальное недовольство пользователей — медленную загрузку, неотзывчивые клики и прыгающий контент.
Как измерять Core Web Vitals
Нельзя улучшить то, что не измеряешь. Существует два основных подхода: лабораторные данные (синтетическое тестирование) и полевые данные (мониторинг реальных пользователей). Используйте оба для полной картины.
Лабораторные инструменты
- Lighthouse: встроен в Chrome DevTools (F12 → вкладка Lighthouse). Он проверяет производительность и выдаёт оценки для LCP, FID (как TBT) и CLS. Запускайте его в режиме инкогнито, чтобы расширения не искажали результаты.
- WebPageTest: продвинутый инструмент для детального анализа waterfall-диаграмм и тестирования из разных локаций.
- PageSpeed Insights: объединяет лабораторные и полевые данные. Он показывает реальные данные CrUX, если они доступны.
Полевые инструменты
- Chrome User Experience Report (CrUX): публичный набор данных о метриках реальных пользователей для миллионов сайтов. Доступен через PageSpeed Insights или BigQuery.
- Google Search Console: отчёт Core Web Vitals показывает группы URL, требующие внимания, на основе полевых данных.
- JavaScript-библиотека web-vitals: добавьте на свой сайт, чтобы собирать собственные полевые данные и отправлять их в аналитику.
// Пример: использование библиотеки web-vitals
import {onLCP, onFID, onCLS} from 'web-vitals';
function sendToAnalytics(metric) {
// Замените на вашу конечную точку аналитики
console.log(metric.name, metric.value);
}
onLCP(sendToAnalytics);
onFID(sendToAnalytics);
onCLS(sendToAnalytics);
Улучшение Largest Contentful Paint (LCP)
LCP часто является самой сложной метрикой. На него влияют время ответа сервера, загрузка ресурсов и рендеринг на стороне клиента. Выполните следующие шаги:
- Оптимизируйте ответ сервера: используйте кэширование (CDN, серверный кэш), улучшите хостинг и сократите время обработки на бэкенде.
- Расставьте приоритеты для критических ресурсов: предзагружайте LCP-изображение или шрифт. Используйте
<link rel="preload">для ключевых ресурсов. - Сжимайте изображения: используйте современные форматы (WebP, AVIF) и сжимайте изображения без потери качества. Такие инструменты, как Image Compressor, могут помочь.
- Устраните блокирующие рендеринг ресурсы: отложите некритичный CSS и JavaScript. Встройте критический CSS.
- Используйте CDN: распространяйте контент по всему миру, чтобы снизить задержку.
Улучшение First Input Delay (FID)
FID измеряет отзывчивость. Высокий FID означает, что основной поток занят, когда пользователь пытается взаимодействовать. Чтобы улучшить:
- Разбивайте длинные задачи: разделяйте JavaScript на более мелкие части с помощью
setTimeoutилиrequestIdleCallback. - Минимизируйте работу основного потока: удалите неиспользуемый JavaScript, отложите некритичные скрипты и используйте разделение кода.
- Оптимизируйте обработчики событий: избегайте тяжёлой синхронной работы в слушателях событий.
- Используйте веб-воркеры: переносите дорогостоящие вычисления в фоновый поток.
Примечание: в марте 2024 года FID заменяется на Interaction to Next Paint (INP). Принципы остаются похожими — держите основной поток свободным.
Улучшение Cumulative Layout Shift (CLS)
CLS измеряет неожиданные сдвиги макета. Распространённые причины включают изображения без размеров, рекламу, встраиваемые элементы и веб-шрифты. Исправьте их следующим образом:
- Всегда указывайте атрибуты width и height для изображений и видео: это резервирует место и предотвращает сдвиги.
- Резервируйте место для рекламы и встраиваемых элементов: используйте CSS
aspect-ratioили контейнеры фиксированного размера. - Избегайте вставки контента над существующим контентом: если это не ответ на действие пользователя.
- Используйте
font-display: swapи предзагрузку шрифтов: минимизируйте сдвиги при подмене шрифтов.
Инструменты и рабочий процесс для непрерывного мониторинга
Производительность — это не разовое исправление. Настройте мониторинг, чтобы ловить регрессии:
- Добавьте библиотеку web-vitals для отправки метрик в вашу аналитическую платформу.
- Используйте Lighthouse CI в вашем пайплайне, чтобы сборки завершались ошибкой, если оценки падают ниже пороговых значений.
- Регулярно проверяйте отчёт Core Web Vitals в Search Console.
Для быстрых проверок во время разработки используйте вкладку Lighthouse в Chrome DevTools. Для более глубокого анализа попробуйте WebPageTest.
FAQ
Какой показатель LCP считается хорошим?
Хороший LCP — 2,5 секунды или меньше. Показатели от 2,5 до 4 секунд требуют улучшения, а выше 4 секунд — плохие.
Как часто нужно измерять Core Web Vitals?
Измеряйте после значительных изменений и непрерывно с помощью полевых данных. Лабораторные тесты отлично подходят для отладки; полевые данные отражают реальный пользовательский опыт.
Действительно ли улучшение Core Web Vitals влияет на SEO?
Да, Google использует page experience как сигнал ранжирования, но релевантность контента остаётся главной. Хорошие Core Web Vitals также повышают вовлечённость пользователей и конверсию.
Готовы оптимизировать изображения для лучшего LCP? Попробуйте наш бесплатный Image Compressor, чтобы уменьшить размер файлов без потери качества.