CLS (Cumulative Layout Shift) - это метрика Google, которая измеряет, насколько сильно элементы страницы сдвигаются во время загрузки. Макет «прыгает», когда браузер не знает заранее размеры картинок, баннеров, шрифтов или виджетов и перерисовывает страницу по мере их подгрузки. Исправляется это резервированием места: каждому подгружаемому элементу заранее задаются размеры, и контент под ним больше не съезжает. Норма CLS - не больше 0,1.
Чем опасен высокий CLS для магазина и сайта услуг
Прыгающий макет - это промахи по кнопкам. Классика: человек целится в «Купить», в этот момент сверху догружается баннер, кнопка уезжает вниз, и палец попадает в «Удалить из корзины» или в рекламу. Посетитель злится и уходит, а вы платите за этот клик рекламному кабинету.
Вторая цена - позиции. CLS входит в тройку метрик Core Web Vitals, которые Google учитывает при ранжировании. При прочих равных стабильная страница обгонит прыгающую. Для Яндекса сдвиги тоже сигнал: поведенческие метрики у дёргающейся страницы хуже.
Почему макет прыгает: 6 типовых причин
- Картинки без width и height - браузер не знает высоту фото, пока не скачает его, и рисует страницу дважды
- Баннеры и слайдеры - подгружаются скриптом после отрисовки и раздвигают контент
- Веб-шрифты - текст сначала рисуется запасным шрифтом, потом перерисовывается фирменным с другой шириной букв
- Виджеты и реклама - чат, рейтинг, видео и рекламные блоки вставляют себя в середину страницы
- Динамический контент - плашки «мы используем cookie», уведомления и всплывающие подсказки, которые толкают макет
- Анимации через свойства top и left - двигают соседние элементы вместо того, чтобы использовать transform
Как найти, что именно сдвигается на странице
Откройте отчёт PageSpeed Insights: в разделе диагностики есть пункт «Избегайте значительных смещений макета» со списком конкретных элементов и вкладом каждого в итоговый CLS. Второй способ - панель разработчика Chrome (F12): вкладка Performance записывает загрузку и подсвечивает сдвиги красным, а режим Layout Shift Regions в настройках Rendering показывает их прямо на странице в реальном времени.
Как исправить CLS: пошаговый план
- Задайте размеры всем изображениямАтрибуты width и height в теге img или aspect-ratio в CSS. Браузер зарезервирует место до загрузки файла - главная причина сдвигов уходит сразу.
- Зарезервируйте место под слайдеры и баннерыКонтейнеру слайдера задаётся фиксированная высота или aspect-ratio. Пока скрипт грузится, на его месте пустой блок нужного размера, а не схлопнутая полоска.
- Успокойте шрифтыПодключите font-display: swap и подберите запасной шрифт с похожей шириной через size-adjust. Ещё лучше - предзагрузка ключевого шрифта через link rel="preload".
- Выделите место виджетамЧат, рейтинги, карты и рекламные блоки вставляйте в контейнеры с минимальной высотой. Виджет догрузится внутрь готовой ячейки и ничего не сдвинет.
- Показывайте плашки поверх, а не враспорCookie-уведомления и подсказки позиционируйте как overlay (position: fixed), чтобы они накладывались на страницу, а не раздвигали её.
- Проверьте результатСнова прогоните страницу через PageSpeed Insights и убедитесь, что лабораторный CLS упал ниже 0,1. Полевые данные подтянутся в течение месяца.
Почините прыгающий макет за пару дней
Найдём все источники сдвигов, зададим размеры картинкам и виджетам, настроим шрифты. Работаем аккуратно: сначала на тестовой копии, потом на боевом сайте.
Сколько стоит исправление CLS
Типовой сайт на 1С-Битрикс приводится к норме за 4-10 часов работы: аудит сдвигов, правки шаблона, проверка на всех разрешениях. В деньгах это ориентировочно 150-400 BYN в зависимости от количества шаблонов страниц. Если вёрстка сыпется не только при загрузке, а вообще ведёт себя непредсказуемо, начните со статьи почему ломается дизайн - причины часто общие.
Как не вернуть сдвиги после следующего обновления
CLS - метрика, которая портится тихо: дизайнер добавил новый баннер, маркетолог подключил виджет, контент-менеджер вставил фото без размеров - и через месяц макет снова прыгает. Поэтому починка без профилактики работает недолго.
Что помогает держать результат. Во-первых, правило в шаблонах: поля для изображений в админке автоматически подставляют размеры, и человеческий фактор исключается. Во-вторых, проверка макета в чек-листе любого релиза: перед выкладкой изменений страница прогоняется через PageSpeed, и рост CLS блокирует публикацию. В-третьих, ежемесячный взгляд в отчёт Core Web Vitals в Search Console: полевые данные покажут деградацию раньше, чем посыплются жалобы. Такой контроль занимает минуты, если он встроен в процесс, - у нас он входит в регламент технической поддержки вместе с мониторингом остальных метрик скорости.
Частые вопросы про CLS
PageSpeed показывает CLS 0, а страница всё равно прыгает. Почему?
Какой CLS считается нормальным для интернет-магазина?
Сдвиги создаёт чат-виджет. Убирать его?
Исправили CLS на сайте - когда Google это заметит?
Итог: CLS чинится не магией, а дисциплиной - у каждого элемента страницы должно быть зарезервированное место. Если разбираться с шаблонами некогда, передайте задачу нам: в рамках доработки сайта проведём аудит сдвигов, исправим вёрстку и покажем отчёт «до и после». Консультация и оценка работ - бесплатно, смета в течение дня.












