Core Web Vitals: измерение и улучшение веб-производительности
Вы создали быстрый сайт, но пользователи всё ещё жалуются на медленную загрузку или подтормаживающие взаимодействия. Поисковые системы также могут понизить ваш рейтинг из-за плохих Core Web Vitals. Эти метрики — Largest Contentful Paint (LCP), First Input Delay (FID) и Cumulative Layout Shift (CLS) — напрямую влияют на пользовательский опыт и SEO. В этом руководстве мы покажем, как измерять и улучшать их с помощью практических шагов.
Что такое Core Web Vitals?
Core Web Vitals — это набор метрик, определённых Google для количественной оценки ключевых аспектов пользовательского опыта: загрузки, интерактивности и визуальной стабильности. К ним относятся:
- Largest Contentful Paint (LCP): измеряет производительность загрузки. Он должен происходить в течение 2,5 секунд после начала загрузки страницы.
- First Input Delay (FID): измеряет интерактивность. Он должен быть менее 100 миллисекунд.
- Cumulative Layout Shift (CLS): измеряет визуальную стабильность. Он должен быть менее 0,1.
Эти метрики являются частью сигналов Page Experience от Google и могут влиять на ваши позиции в поиске.
Как измерять Core Web Vitals
Вы можете измерять Core Web Vitals в лаборатории (синтетическое тестирование) или в полевых условиях (мониторинг реальных пользователей). Оба подхода имеют своё место.
Лабораторные инструменты
- Lighthouse: встроен в Chrome DevTools, проводит аудит производительности и предоставляет оценки для LCP, CLS и общего времени блокировки (TBT, косвенный показатель FID).
- PageSpeed Insights: объединяет лабораторные и полевые данные из Chrome User Experience Report (CrUX).
- WebPageTest: предлагает расширенное тестирование с настраиваемыми локациями и устройствами.
Полевые инструменты
- Chrome User Experience Report (CrUX): предоставляет агрегированные данные реальных пользователей для миллионов сайтов.
- Библиотека web-vitals: JavaScript-библиотека для сбора метрик от реальных пользователей и отправки в вашу аналитику.
- Search Console: показывает статус Core Web Vitals для вашего сайта на основе данных CrUX.
Начните с лабораторных инструментов для отладки, затем проверьте с помощью полевых данных, чтобы убедиться в реальной производительности.
Улучшение Largest Contentful Paint (LCP)
LCP измеряет, когда самый крупный элемент контента (часто главное изображение или заголовок) становится видимым. Чтобы улучшить LCP:
- Оптимизируйте изображения: сжимайте изображения, используйте современные форматы, такие как WebP или AVIF, и предоставляйте адаптивные изображения с помощью
srcset. - Предзагружайте критически важные ресурсы: используйте
<link rel="preload">для ключевых изображений, шрифтов и таблиц стилей. - Сократите время ответа сервера: используйте CDN, включите кэширование и оптимизируйте производительность бэкенда.
- Устраните блокирующие рендеринг ресурсы: встройте критический CSS, отложите некритический JavaScript и избегайте больших CSS-файлов.
- Используйте сеть доставки контента (CDN): отдавайте ресурсы из мест, более близких к пользователям.
Для оптимизации изображений попробуйте наш Image Compressor, чтобы уменьшить размер файлов без потери качества.
Улучшение First Input Delay (FID)
FID измеряет время от первого взаимодействия пользователя с вашей страницей до момента, когда браузер может ответить. Чтобы улучшить FID:
- Минимизируйте выполнение JavaScript: разбивайте длинные задачи, используйте разделение кода и откладывайте некритические скрипты.
- Оптимизируйте сторонние скрипты: загружайте их асинхронно или откладывайте до после критического контента.
- Используйте веб-воркер: переносите тяжёлые вычисления в рабочий поток.
- Сократите работу основного потока: избегайте больших синхронных скриптов и чрезмерного размера DOM.
Такие инструменты, как метрика TBT в Lighthouse, помогут выявить длинные задачи.
Улучшение Cumulative Layout Shift (CLS)
CLS измеряет неожиданные сдвиги макета во время загрузки страницы. Чтобы улучшить CLS:
- Всегда указывайте атрибуты width и height для изображений и видео: это резервирует место и предотвращает сдвиги.
- Резервируйте место для рекламы и встраиваемых элементов: используйте CSS
aspect-ratioили фиксированные размеры. - Избегайте вставки контента над существующим контентом: кроме случаев, когда это ответ на действие пользователя.
- Используйте CSS-трансформации для анимаций: вместо свойств, вызывающих перекомпоновку.
- Предзагружайте шрифты: используйте
font-display: swapи предзагрузку, чтобы избежать сдвигов из-за невидимого текста.
Сравнение пороговых значений Core Web Vitals
| Метрика | Хорошо | Требует улучшения | Плохо |
|---|---|---|---|
| LCP | ≤ 2,5 с | 2,5 с – 4,0 с | > 4,0 с |
| FID | ≤ 100 мс | 100 мс – 300 мс | > 300 мс |
| CLS | ≤ 0,1 | 0,1 – 0,25 | > 0,25 |
Практический рабочий процесс оптимизации
Следуйте этому пошаговому подходу для улучшения Core Web Vitals:
- Измерьте: запустите Lighthouse и проверьте Search Console на наличие полевых данных.
- Определите проблемы: сосредоточьтесь на метрике с наихудшим показателем.
- Примените исправления: используйте советы выше для LCP, FID или CLS.
- Проверьте снова: повторно запустите аудиты, чтобы подтвердить улучшения.
- Мониторьте: используйте библиотеку web-vitals для отслеживания метрик реальных пользователей с течением времени.
Помните, что производительность — это постоянный процесс. Регулярно проводите аудит сайта по мере добавления функций.
FAQ
Что такое Core Web Vitals?
Core Web Vitals — это три метрики: LCP, FID и CLS, которые измеряют загрузку, интерактивность и визуальную стабильность. Они используются Google в качестве сигналов ранжирования.
Как часто нужно проверять Core Web Vitals?
Проверяйте после серьёзных изменений и как минимум ежемесячно. Используйте как лабораторные, так и полевые данные, чтобы ловить регрессии.
Можно ли улучшить Core Web Vitals без разработчика?
Некоторые исправления, например сжатие изображений и добавление размеров к изображениям, могут выполнить контент-редакторы. Другие могут потребовать помощи разработчика.
Готовы оптимизировать изображения для лучшего LCP? Попробуйте наш бесплатный Image Compressor, чтобы уменьшить размер файлов и ускорить сайт.