Core Web Vitals: измерение и улучшение веб-производительности
Ваши пользователи ожидают быстрого и плавного опыта. Core Web Vitals (CWV) от Google количественно оценивают этот опыт: Largest Contentful Paint (LCP), First Input Delay (FID) и Cumulative Layout Shift (CLS). Плохие показатели вредят SEO и конверсии. Это руководство покажет вам, как измерять и улучшать каждый показатель с помощью действенных шагов.
Что такое Core Web Vitals?
Core Web Vitals — это три ориентированных на пользователя показателя, которые Google использует в качестве сигналов ранжирования:
- LCP: время, за которое самый крупный элемент контента (изображение, текстовый блок) становится видимым. Хорошо: ≤2,5 с.
- FID: время от первого взаимодействия пользователя (клик, касание) до ответа браузера. Хорошо: ≤100 мс.
- CLS: визуальная стабильность — насколько неожиданно смещается макет страницы. Хорошо: ≤0,1.
Эти показатели отражают реальный пользовательский опыт, а не только лабораторные условия. Их улучшение делает ваш сайт более быстрым и стабильным.
Как измерять Core Web Vitals
Вам нужны как лабораторные, так и полевые данные. Лабораторные инструменты помогают отлаживать; полевые данные (Real User Monitoring) показывают фактическую производительность.
Лабораторные инструменты
- Lighthouse (в Chrome DevTools): запускайте аудиты производительности, доступности и SEO. Он сообщает LCP, CLS и TBT (прокси для FID).
- WebPageTest: расширенное тестирование с раскадровкой и водопадными диаграммами.
- Панель Performance в Chrome DevTools: записывайте и анализируйте производительность во время выполнения.
Полевые инструменты
- Chrome User Experience Report (CrUX): публичный набор данных о метриках реальных пользователей для миллионов сайтов.
- Google Search Console: отчёт Core Web Vitals показывает группы URL, требующие внимания.
- JavaScript-библиотека web-vitals: собирайте метрики реальных пользователей и отправляйте их в вашу аналитику.
Используйте полевые данные для выявления проблемных страниц, а затем лабораторные инструменты для диагностики и исправления.
Улучшение Largest Contentful Paint (LCP)
LCP часто является главное изображение или основной заголовок. Чтобы ускорить его:
- Оптимизируйте изображения: сжимайте, используйте современные форматы (WebP, AVIF) и адаптивные размеры. Инструменты вроде Image Compressor помогут уменьшить размер файла без потери качества.
- Предзагружайте критически важные ресурсы: используйте
<link rel="preload">для главных изображений, шрифтов и ключевого CSS. - Сократите время ответа сервера: используйте кэширование, CDN и оптимизируйте запросы к бэкенду.
- Устраните блокирующие рендеринг ресурсы: отложите некритичный JS и CSS, встройте критический CSS.
- Используйте CDN: доставляйте ресурсы из мест, близких к пользователям.
Пример: предзагрузка вашего LCP-изображения:
<link rel="preload" as="image" href="/hero.webp" imagesrcset="/hero-480.webp 480w, /hero-800.webp 800w" imagesizes="(max-width: 600px) 480px, 800px">
Улучшение First Input Delay (FID)
FID измеряет отзывчивость. Долгая задержка означает, что основной поток занят. Чтобы улучшить:
- Разбивайте длинные задачи: используйте
setTimeoutилиrequestIdleCallback, чтобы уступить основному потоку. - Оптимизируйте JavaScript: разделяйте код, удаляйте неиспользуемый код и откладывайте некритичные скрипты.
- Сократите влияние сторонних скриптов: загружайте аналитику и рекламу асинхронно или после взаимодействия.
- Используйте веб-воркеры для тяжёлых вычислений.
Также учитывайте Interaction to Next Paint (INP), который заменяет FID в марте 2024 года. INP измеряет общую отзывчивость на протяжении всего жизненного цикла страницы. Применяются те же оптимизации.
Улучшение Cumulative Layout Shift (CLS)
CLS возникает, когда элементы неожиданно смещаются. Частые причины: изображения без размеров, реклама, шрифты и динамический контент. Исправления:
- Всегда указывайте ширину и высоту для изображений и видео или используйте CSS
aspect-ratio. - Резервируйте место для рекламы и встраиваемых элементов: используйте заполнители с фиксированным размером.
- Избегайте вставки контента над существующим контентом, если это не ответ на действие пользователя.
- Используйте
font-display: swapи предзагружайте шрифты, чтобы избежать невидимого текста (FOIT) и сдвигов макета. - Анимируйте с помощью transform вместо свойств, вызывающих перекомпоновку.
Пример: задайте соотношение сторон для адаптивных изображений:
img {
aspect-ratio: 16 / 9;
width: 100%;
height: auto;
}
Инструменты и рабочий процесс
Интегрируйте производительность в ваш процесс разработки:
- Запускайте Lighthouse в CI, чтобы ловить регрессии.
- Используйте библиотеку web-vitals для отправки полевых данных в вашу аналитику.
- Следите за CrUX и Search Console для отслеживания тенденций реальных пользователей.
- Расставляйте приоритеты исправлений по влиянию: часто LCP и CLS дают наибольший выигрыш.
Для быстрой оптимизации изображений попробуйте наш Image Compressor, чтобы уменьшить критичные для LCP изображения.
Часто задаваемые вопросы
Каковы текущие пороговые значения для Core Web Vitals?
LCP: хорошо ≤2,5 с, требует улучшения ≤4 с, плохо >4 с. FID: хорошо ≤100 мс, требует улучшения ≤300 мс, плохо >300 мс. CLS: хорошо ≤0,1, требует улучшения ≤0,25, плохо >0,25.
Как часто следует измерять Core Web Vitals?
Непрерывно отслеживайте полевые данные через RUM. Запускайте лабораторные аудиты при каждом значительном изменении кода и как минимум ежемесячно, чтобы ловить регрессии.
Действительно ли улучшение Core Web Vitals влияет на SEO?
Да, Google использует опыт страницы (включая CWV) как сигнал ранжирования. Хотя контент остаётся главным, хорошие CWV могут дать вам преимущество и повысить удовлетворённость пользователей.