5 марта 202511 мин98
Поделиться

Core Web Vitals (CWV) — это три ключевых метрики, которые Google использует для оценки качества пользовательского опыта на сайте. Если ваш сайт медленный, неудобный или «прыгает» при загрузке, это может негативно сказаться на позициях в поисковой выдаче.
Метрики Core Web Vitals включают:
- LCP (Largest Contentful Paint) — время загрузки контента.
- INP (Interaction to Next Paint) — задержка отклика на действие пользователя.
- CLS (Cumulative Layout Shift) — визуальная стабильность страницы.
LCP (Largest Contentful Paint)
Метрика LCP показывает, как быстро загружается самый крупный элемент на странице (обычно это заголовок, большое изображение или видео).Какие значения считаются хорошими?
- ≤ 2.5 сек — отлично.
- 2.5 – 4 сек — средне, нужно улучшать.
- > 4 сек — плохо, нужно срочно оптимизировать.
Что замедляет скорость загрузки?
- Большие изображения без оптимизации.
- Медленный хостинг или сервер.
- Громоздкий JavaScript.
- Отсутствие кеширования.
Как улучшить LCP
Используйте fetchpriority
Браузер загружает ресурсы в порядке приоритета. Чтобы ускорить загрузку ключевого LCP-элемента (например, изображения), можно задать ему fetchpriority=»high». Это увеличит его приоритет в очереди загрузки. Однако, этот метод работает, только если LCP-изображение встроено в HTML и не загружается динамически через JavaScript.Не используйте ленивую загрузку для LCP-элементов
Ленивая загрузка полезна для производительности, но не для LCP-изображений. Если основное изображение страницы загружается только после прокрутки, это ухудшает LCP. Вместо этого используйте <link rel=»preload»> и задайте fetchpriority=»high».Избегайте избыточных подключений к серверу
Если изображение загружается с другого домена, браузер тратит время на DNS-запросы, TCP- и TLS-рукопожатия. Это увеличивает задержку. Чтобы этого избежать:- Загружайте критически важные ресурсы с того же домена.
- Храните сторонние ресурсы на своем сервере.
- Используйте HTTP/2 для мультиплексирования запросов.
- Сократите внешние запросы и используйте кеширование DNS.
Сокращайте цепочки запросов
Когда браузер загружает страницу, он запрашивает различные ресурсы (CSS, JavaScript, изображения, шрифты и т. д.). Иногда эти ресурсы зависят друг от друга и загружаются последовательно. Например: Браузер загружает HTML → Обнаруживает CSS-файл и загружает его → В CSS есть ссылка на шрифты → Шрифты загружаются → Только после этого загружается изображение LCP. Каждое следующее действие ждет окончания предыдущего. Это называется длинной цепочкой запросов, которая замедляет загрузку страницы и ухудшает показатель LCP. Что делать:- Вставляйте критические стили (те, которые нужны для начальной загрузки страницы) прямо в HTML.
- Используйте <link rel=»preload»> для приоритетной загрузки важных ресурсов (шрифтов, изображений, стилей).
- Минимизируйте и объединяйте файлы CSS/JavaScript.
- Оптимизируйте сторонние скрипты (аналитику, виджеты, рекламу), загружая их асинхронно или отложенно.
Используйте подсказки браузеру
103 Early Hints — это HTTP-статус-код, который позволяет серверу раньше времени сообщить браузеру, какие критически важные ресурсы нужно загрузить. Обычно браузер ждет окончательного ответа сервера (200 OK), прежде чем начать загрузку ресурсов. Однако, если сервер сначала отправляет 103 Early Hints, браузер может заранее начать загружать важные ресурсы, пока сервер еще формирует основной ответ.Оптимизируйте изображения
Используйте современные форматы изображений (WebP, AVIF вместо PNG/JPG) — они легче, но сохраняют качество. С осторожностью используйте прогрессивные JPEG, которые сначала отображают размытое изображение и постепенно увеличивают его четкость. Это создает иллюзию скорости, но замедляет LCP, так как браузер засчитывает LCP только после полной загрузки изображения. В критических местах лучше использовать обычные JPEG/WebP.Используйте кеширование и CDN
URL-параметры (например, метки ?utm_source=google&utm_campaign=sale) используются для отслеживания трафика, но они могут негативно влиять на скорость загрузки страницы из-за проблем с кешированием. Представьте, что у вас есть одна и та же страница, с параметрами и без:https://example.com/product https://example.com/product?utm_source=google&utm_campaign=saleС точки зрения пользователя она одна и та же, но сервер (или CDN) может рассматривать эти URL как разные страницы, даже если контент не меняется. Что делать?
- Настройте кеширование на сервере, чтобы он игнорировал параметры запроса.
- Используйте CDN. Большинство CDN позволяют игнорировать UTM-метки при кешировании, чтобы хранилась только одна версию страницы.
- Используйте серверные редиректы. Можно настроить сервер так, чтобы он перенаправлял пользователей на основной URL без параметров, сохраняя параметры для аналитики.
Используйте Speculation Rules API
Это новый механизм в браузерах, разработанный командой Chrome, который ускоряет переходы между страницами за счет предзагрузки (prefetch) или предварительного рендеринга (prerender). Браузер заранее загружает следующую страницу еще до того, как пользователь кликнет по ссылке. Делается это двумя способами через JSON-правила, встроенные в <script>:- Prefetch – загружает ресурсы страницы (HTML, CSS, JS), но не выполняет их до перехода. Помогает ускорить загрузку, но не рендерит контент заранее.
- Prerender – полностью загружает и рендерит страницу в фоновом режиме, чтобы она отобразилась мгновенно при клике.
<script type="speculationrules"> { "prerender": [ { "source": "document", "urls": ["https://example.com/next-page"] } ] } </script>Данный код prerender полностью загружает и рендерит страницу заранее. Важно: предзагрузка не подходит для страниц с динамическим контентом или авторизацией. Например, если prerender загрузит личный кабинет пользователя, он может отображаться не тому человеку, который откроет страницу.
INP (Interaction to Next Paint)
Метрика INP измеряет, насколько быстро сайт реагирует на клик, нажатие или ввод текста пользователем. Например, если он нажимает кнопку «Купить» или «Добавить в корзину».Какие значения считаются хорошими?
- ≤ 200 мс — отлично.
- 200 – 500 мс — средне.
- > 500 мс — плохо.
Что замедляет отклик?
- Долгая обработка JavaScript.
- Много анимаций на странице.
- Громоздкие плагины и сторонние скрипты.
Как улучшить INP
Сократите структуру документа (DOM)
DOM (Document Object Model) — это структура HTML-страницы. Если в ней слишком много элементов, браузеру становится сложнее её обрабатывать, что замедляет рендеринг и снижает отзывчивость.- Используйте контейнер DocumentFragment. Вместо того, чтобы добавлять новые элементы по одному в DOM, используйте фрагменты документа. Это временный контейнер, который позволяет вставлять сразу несколько элементов, тем самым снижая количество перерисовок страницы.
- Упростите CSS-селекторы. Длинные и сложные селекторы замедляют рендеринг, так как браузер вынужден проверять соответствие каждого элемента. Упрощение селекторов ускоряет обработку стилей и отрисовки.
- Применяйте content-visibility: auto. Это свойство позволяет браузеру пропускать рендеринг элементов, которые находятся за пределами экрана, что снижает нагрузку на основной поток, улучшая отзывчивость страницы.
Удалите неиспользуемые плагины и скрипты
Чем больше у вас плагинов, тем больше запросов и скриптов загружается на ваш сайт. Регулярная проверка и удаление ненужных плагинов помогают ускорить работу страницы и уменьшить нагрузку на сервер. Кроме того, не забывайте о минимизации JavaScript и разделении его на модули, что также положительно скажется на производительности.Оптимизируйте количество рекламных блоков
Реклама — важный источник монетизации, но её избыток замедляет сайт, особенно на мобильных устройствах. Если рекламы много, пользователи быстро уходят, и вы теряете больше дохода, чем зарабатываете.CLS (Cumulative Layout Shift)
Одна из самых раздражающих проблем на сайте — неожиданный сдвиг элементов (CLS), который приводит к случайным кликам и ухудшает взаимодействие с контентом. Например, если вы читаете статью, но вдруг текст съезжает из-за подгруженной рекламы.Какие значения считаются хорошими?
- ≤ 0.1 — отлично.
- 0.1 – 0.25 — средне.
- > 0.25 — плохо.
Что вызывает высокий CLS?
- Изображения без заданных размеров.
- Поздняя загрузка шрифтов.
- Динамически подгружаемая реклама.
Как улучшить CLS
Оптимизируйте шрифты
Чтобы минимизировать резкие изменения макета при загрузке осинового шрифта, можно скорректировать параметры резервного шрифта (fallback-font) с помощью font-face. Используйте следующие свойства:- size-adjust — меняет размер запасного шрифта так, чтобы его высота x-height соответствовала основному шрифту, это уменьшает визуальные отличия при их смене.
- ascent-override — задаёт верхнюю границу символов для запасного шрифта, позволяя выровнять его высоту с основным и избежать смещений.
- descent-override — регулирует нижнюю границу символов запасного шрифта, что позволяет ещё больше уменьшить сдвиги макета.
Используйте меньше файлов шрифтов
Возможно, вы не замечали, что при загрузке шрифта вы загружаете файл для каждого стиля. Например, при использовании обычного шрифта для основного текста, жирного для заголовков, полужирного для ссылок и курсивного для цитат, вы загружаете 4 разных файла шрифтов, что составляет 4 разных HTTP-запроса. В Chrome DevTools есть инструмент CSS Overview, который перечисляет все веса шрифтов на вашей странице. Посмотрите ради интереса и при возможности замените их на более легкие. Также не обязательно загружать отдельно жирный, полужирный, курсив — используйте встроенные свойства CSS, чтобы управлять размером и толщиной. Используйте встроенные шрифты там, где это не является решающим фактором, они не так уж плохи, зато отображаются мгновенно.Загружайте шрифты к себе на сервер
Импортировать шрифт гораздо проще, но это также увеличивает время загрузки. Ведь для этого браузер должен установить новое соединение — найти DNS, создать TCP-соединение, согласовать TLS и только потом отобразить шрифт. Плюс сторонний ресурс может быть в этот момент недоступен или тормозить. Использование ресурсов с собственного сервера позволяет значительно сократить время прорисовки страницы.Резервируйте место для загрузки изображений
Ленивая загрузка (lazy loading) увеличивает скорость загрузки страницы, но может вызывать сдвиг контента, если не предусмотреть фиксированные размеры изображений. Посетители часто быстро пролистывают страницу, и если изображение загружается с задержкой, окружающий текст и элементы могут неожиданно сместиться. Как этого избежать?- Указывайте width и height для изображений и видео.
- Используйте CSS-свойство aspect-ratio, чтобы задать пропорции изображения заранее.
- Заранее резервируйте место под рекламные блоки.
Не используйте ленивую загрузку для CSS в верхней части страницы
Некоторые темы разделяют CSS на отдельные файлы для разных секций, загружая их по мере необходимости. В результате браузер воспринимает такие файлы как блокирующие рендеринг, вызывая неожиданные мерцания контента или частично стилизованные элементы. Чтобы этого избежать, встраивайте критически важные стили прямо в HTML.Ограничьте использование CSS-анимаций
Анимации и CSS-переходы могут негативно повлиять на CLS, особенно если они вызывают смещение макета без явного действия пользователя. Например:- Баннеры уведомлений (например, cookie-баннеры), появляющиеся сверху или снизу, часто сдвигают другие элементы.
- Анимации изменения размеров элементов (ширины, высоты, полей, границ) заставляют браузер пересчитывать компоновку.
- Анимации элементов с position: absolute – даже если другие элементы не двигаются, сам пересчет позиции влияет на CLS.
Как проверить показатели Core Web Vitals
Чтобы оценить производительность и скорость загрузки сайта можно использовать несколько инструментов.1. Google PageSpeed Insights
Перейдите на PageSpeed Insights, введите URL страницы и нажмите «Анализировать». В разделе «Основные интернет-показатели» (Core Web Vitals) будут представлены данные о LCP, CLS и INP. Сервис учитывает реальные данные пользователей (если они доступны) и даёт рекомендации по исправлению проблем.2. Google Search Console
В Search Console откройте раздел «Основные интернет-показатели», проверьте отчёт по мобильным и десктопным страницам. Здесь можно увидеть, какие URL требуют оптимизации. В отличие от PageSpeed Insights позволяет отслеживать динамику изменений.3. Lighthouse (Chrome DevTools)
Откройте сайт в браузере Google Chrome, нажмите F12, справа откроется меню разработчика. В верхней части элементов перейдите во вкладку «Lighthouse» и запустите анализ. Можно выбрать проверку для мобильных или десктопных устройств. Сервис работает локально, без необходимости отправки URL, а также даёт детальные рекомендации по улучшению производительности.4. WebPageTest
Перейдите на WebPageTest, введите URL, выберите регион и устройство, запустите тест. В разделе «Core Web Vitals» можно увидеть основные показатели страницы, а также запустить глубокий анализ производительности сайта.5. GTmetrix
Мощный онлайн-инструмент для анализа производительности, включая данные Web Vitals, Lighthouse, показатели реальных пользователей (CrUX) и прочее. Для получения отчета нужно зарегистрироватьсяПодведем итоги
Core Web Vitals — один из ключевых факторов SEO. Если ваш сайт тормозит, дергается или плохо реагирует, пользователи уйдут, а его позиции в Google снизятся. Так что улучшайте показатели не только ради поисковиков, но и ради удобства пользователей!
Поделиться