BrandEvo

Скорость и Core Web Vitals

CLS практически: убираем «прыжки» вёрстки

Когда страница на ваших глазах «дёргается» и кнопка уезжает из-под пальца — это плохой CLS. Метрика входит в Core Web Vitals и влияет и на конверсию, и на ранжирование. Разбираем, откуда берутся прыжки и как их убрать без переделки сайта.

CLSСДВИГИ ВЁРСТКИCORE WEB VITALSWIDTH HEIGHTШРИФТЫ0.1CLSСДВИГИ ВЁРСТКИCORE WEB VITALSWIDTH HEIGHTШРИФТЫ0.1
cls практически

CLS — самая «бытовая» метрика Core Web Vitals: её эффект видно невооружённым глазом. Пользователь жмёт «Добавить в корзину», а под пальцем вдруг оказывается «Удалить аккаунт» — потому что баннер сверху подгрузился и сдвинул контент. CLS считает такие происшествия и оценивает в долях единицы.

01Что такое CLS и какой считается «зелёным»

CLS (Cumulative Layout Shift) — сумма неожиданных смещений элементов на странице за время сессии. Учитываются только те сдвиги, которые произошли БЕЗ действия пользователя. Если человек сам нажал кнопку и контент развернулся — это нормально и в CLS не идёт.

Пороги Google:

  • До 0,1 — хорошо.
  • 0,1–0,25 — требует улучшения.
  • Больше 0,25 — плохо.

Метрика входит в Core Web Vitals и косвенно влияет на позиции в поиске. Общий разбор всех трёх — в статье Core Web Vitals: как пройти проверку скорости сайта.

02Откуда берутся прыжки

В девяти случаях из десяти причины — стандартные.

Картинки без размеров

В вёрстке у img нет width и height. Браузер сначала отрисовывает текст, потом догружает картинку и резервирует под неё место — текст съезжает вниз.

Реклама и баннеры

Блок «Реклама» подгружается асинхронно. Пока его нет, контента нет; когда он появляется — всё ниже улетает вниз.

Шрифты

Сначала текст рисуется системным шрифтом, потом подгружается ваш кастомный — и вся типографика «прыгает». Особенно заметно на заголовках.

Динамические виджеты

Чат, форма подписки, плашка cookie, плашка «акция» появляются сверху или внутри контента и сдвигают всё, что было ниже.

Поздний JS

Скрипт «привет, я акция» вставляет себя сверху уже после первой отрисовки страницы. CLS уезжает в красную зону.

03Как починить картинки

Главное правило: у любой картинки и видео в разметке всегда заданы атрибуты width и height. Это нужно даже если размер потом переопределяется через CSS — браузер использует соотношение сторон для резервирования места.

  • В HTML: <img src=”…” width=”800″ height=”450″>.
  • В CSS обычно достаточно img { max-width: 100%; height: auto; }.
  • Для адаптивных картинок используйте picture с srcset и теми же width/height.
  • Lazy-loading — да, но только для картинок ниже первого экрана.

Картинки в первом экране лучше вообще не лениться: задайте им явные размеры и грузите сразу — это одновременно лечит CLS и LCP.

04Шрифты и FOUT

Прыжок шрифтов называется FOUT (Flash of Unstyled Text). Чтобы свести его к минимуму:

  • Подключайте шрифты с font-display: swap — текст показывается сразу системным.
  • Используйте подсказку preload для основных весов шрифта.
  • Подбирайте системный fallback с близкими метриками. В современных браузерах доступны свойства size-adjust, ascent-override и descent-override — они выравнивают высоты строк системного и кастомного шрифтов.
  • Не подгружайте 6 весов одного шрифта, если реально нужно 2.

Чем ближе fallback к финальному шрифту по ширине и высоте — тем меньше CLS при подмене.

05Реклама, баннеры и плашки

Любой контент, который появляется уже после первой отрисовки страницы, должен занимать заранее зарезервированное место.

  • Для рекламных блоков задавайте min-height по типичному размеру баннера.
  • Cookie-плашки лучше показывать снизу фиксированной позицией, а не вставлять сверху страницы.
  • Поп-апы и виджеты с задержкой — overlay поверх контента, а не «втиснутый» в поток.
  • Сообщения вида «новый комментарий» лучше отрисовывать сверху как уведомления, не сдвигая основной контент.

Этот же подход напрямую помогает и с метрикой INP практически: меньше сдвигов — меньше перерисовок — быстрее отклик.

06WordPress и CLS

На WP-сайтах CLS чаще всего портят три вещи.

  • Тяжёлые слайдеры на главной с асинхронной инициализацией. Первый кадр без слайдера, потом «бах» — большой блок встаёт на место.
  • Виджеты «недавние записи / похожие товары», которые подгружаются с задержкой.
  • Старые темы, где у картинок нет атрибутов width и height в шаблонах.

План правок: проверить шаблоны, добавить размеры картинок, заменить «прыгающий» слайдер на более лёгкий вариант, перенести второстепенные виджеты в подвал. Подробнее о работе с WP — в статье как ускорить сайт на WordPress.

07Что и чем измерять

Для CLS особенно важны полевые данные — лабораторные тесты не всегда видят сдвиги, которые случаются в реальном использовании.

  • PageSpeed Insights — показывает CLS и для теста, и для реальных пользователей (если хватает данных CrUX).
  • Web Vitals в Яндекс.Метрике — реальные значения CLS по страницам.
  • Layout Shift Highlight в Chrome DevTools — подсвечивает сдвиги прямо на странице.
  • Lighthouse в Chrome — даёт подсказки, какие именно элементы виноваты.

Если CLS «зелёный» на ПК, но «красный» на мобильных — это нормальная ситуация: на мобильных больше плашек, тяжелее шрифты и больше тяжёлых картинок. Лечится теми же правками, начинать стоит с мобильной версии.

// Как это работает в BrandEvo

CLS в подписке

В рамках подписки мы регулярно снимаем Core Web Vitals и точечно правим «прыгающие» места: картинки, шрифты, баннеры. Без переписывания сайта целиком — просто как часть обычной работы.

Официальная документация по теме — Справка Яндекс.Вебмастера.

Хотите сайт без прыжков и тормозов?

Оставьте заявку — снимем Core Web Vitals, найдём «прыгающие» элементы и предложим план правок в рамках подписки.


Частые вопросы

Подходит ли подписка BrandEvo моему бизнесу?

Подписка работает для малого и среднего бизнеса в России. Тариф «Старт» — 200 000 ₽/год для услуг и небольших проектов, «E-commerce» — 400 000 ₽/год для интернет-магазинов. Подробное сравнение — на странице тарифов.

Что входит в подписку маркетинга?

Полный цикл: SEO, контекстная реклама, контент-маркетинг, email-рассылки, дизайн, веб-аналитика и разработка под задачу. Не отдельные услуги, а одна команда под результат.

Можно ли начать, если у меня ещё нет сайта?

Да. Если сайта нет — в первый месяц делаем посадочную страницу или лендинг. Если есть — проводим аудит и улучшаем. Создание и поддержка сайта входят в подписку.

Смотреть тарифы →
Карта блога — все статьи