Wiki · Техническая оптимизация
CLS (Cumulative Layout Shift)
CLS (Cumulative Layout Shift, совокупное смещение макета) – это метрика Core Web Vitals, которая показывает, насколько сильно элементы страницы неожиданно сдвигаются, пока человек с ней работает. Хорошим Google считает значение 0,1 и ниже.
Знакомая ситуация: вы читаете статью с телефона, и вдруг текст уезжает вниз, потому что сверху загрузился баннер. Или целитесь в кнопку «Оформить заказ», а под палец в последний момент подъезжает «Удалить из корзины». Именно такие сдвиги и считает CLS. Чем их больше и чем они крупнее, тем выше значение метрики и тем хуже.
Какие значения считаются хорошими
| CLS | Оценка Google |
|---|---|
| 0,1 и меньше | Хорошо |
| от 0,1 до 0,25 | Требует улучшения |
| больше 0,25 | Плохо |
Оценивают не одно открытие страницы, а 75-й процентиль по реальным посетителям, отдельно для мобильных и компьютеров. То есть у трёх посетителей из четырёх сдвиги должны укладываться в норму. CLS входит в набор Core Web Vitals вместе с LCP и INP.

Как считается CLS
Каждый сдвиг получает оценку по формуле: доля экрана, которую задел сдвиг, умноженная на расстояние сдвига в долях экрана. Пример на условных данных: блок занимает половину экрана и съезжает вниз на четверть высоты. Вместе со своим новым положением он задевает три четверти экрана, значит, первый множитель 0,75, второй 0,25, а оценка сдвига 0,1875. Один такой сдвиг уже выводит страницу из зелёной зоны.
Сдвиги, которые идут друг за другом с паузой меньше секунды, объединяются в «окно» длиной не больше пяти секунд. CLS страницы равен самому тяжёлому окну за всё время, пока страница открыта. Не учитываются сдвиги в течение 500 мс после клика или нажатия клавиши: если человек раскрыл блок кнопкой, он этого ждёт. Анимации через CSS-свойство transform тоже не считаются сдвигами.
Откуда берутся сдвиги и как их убрать
| Причина | Что происходит | Как исправить |
|---|---|---|
| Картинки и видео без размеров | Браузер не знает высоту, пока файл не загрузится | Указать width и height или aspect-ratio |
| Реклама, виджеты, баннеры | Блок появляется позже и раздвигает соседей | Заранее задать место через min-height |
| Веб-шрифты | Запасной шрифт меняется на основной, строки перестраиваются | Подобрать запасной шрифт по метрикам, загрузить основной раньше |
| Плашки сверху страницы | Плашка про cookies или приложение сдвигает весь контент вниз | Показывать поверх страницы или внизу экрана |
| Анимации через top и left | Каждый кадр анимации пересчитывает раскладку | Анимировать через transform |
Одна из самых частых причин: картинки без размеров. Лечится она двумя атрибутами:
<img src='/upload/sofa.jpg' width='800' height='600' alt='Угловой диван'>
/* или в CSS для адаптивного блока */
.banner { aspect-ratio: 16 / 9; }
Браузер сразу резервирует нужную высоту, и текст под картинкой остаётся на месте.

Как измерить CLS
Данные бывают двух видов, и путать их нельзя. Полевые данные собираются у реальных посетителей Chrome, лабораторные получают в тестовом прогоне.
- PageSpeed Insights показывает оба вида: полевые данные сверху, если у страницы хватает трафика, и лабораторный прогон Lighthouse ниже.
- Отчёт об основных интернет-показателях в Google Search Console группирует страницы сайта с плохим CLS.
- В Chrome DevTools на вкладке Performance видно, какой именно элемент сдвинулся и когда.
Lighthouse меряет только загрузку, а реальные посетители ещё прокручивают страницу, открывают блоки, ждут ленивую подгрузку. Поэтому полевой CLS часто выше лабораторного. Если лаборатория показывает ноль, а Search Console жалуется, ищите сдвиги после загрузки: при прокрутке и подгрузке товаров.

Плашка «Купить в рассрочку» сдвигает цену в карточке товара
В Search Console у интернет-магазина появилась группа из нескольких сотен карточек товаров с CLS около 0,3 на мобильных. На компьютерах всё зелёное. Открываем одну карточку в Chrome DevTools в режиме телефона и записываем загрузку с прокруткой. Видно, что после загрузки над ценой появляется плашка «Купить в рассрочку», которую подгружает скрипт банка. Цена и кнопка покупки уезжают вниз на высоту плашки.
Решение простое: оставить под плашку место заранее, задав блоку минимальную высоту, или вывести её ниже кнопки. После правки проверяем лабораторный результат сразу, а полевые данные в Search Console обновятся примерно через месяц.
Насколько CLS важен для SEO
Core Web Vitals входят в сигналы удобства страницы, которые учитывает Google. Но это не главный фактор: страница с отличным CLS и слабым ответом на запрос не обгонит полезную страницу с посредственной вёрсткой. Исправлять сдвиги стоит прежде всего ради людей: они реже промахиваются мимо кнопок и реже уходят с раздражением. Про общую картину скорости читайте в статье Скорость сайта.
Почему CLS не уходит из красной зоны после правок
- Проверять только главную. Сдвиги чаще живут в карточках товаров и статьях с баннерами.
- Смотреть только на лабораторный результат и считать, что всё в порядке.
- Резервировать место под рекламу, которая потом показывается другого размера.
CLS и другие показатели Core Web Vitals проверяем на техническом аудите сайта, а исправления входят в работы по SEO-продвижению.
Как найти, исправить и проверить сдвиги на странице
Какой CLS нужен, чтобы страница прошла оценку Google?
0,1 и ниже, причём не в одном тесте, а у 75% реальных визитов. Мобильные и компьютеры Google оценивает по отдельности, так что зелёный CLS на десктопе ничего не говорит о телефонах.
Почему PageSpeed Insights показывает CLS 0, а Search Console жалуется на сдвиги?
Lighthouse в PageSpeed Insights видит только загрузку страницы в тестовом прогоне. Search Console берёт данные реальных посетителей Chrome за всё время на странице, включая прокрутку, раскрытие блоков и догрузку товаров. Если лаборатория чистая, а полевые данные красные, ищите сдвиги, которые случаются уже после загрузки.
Где увидеть, какой именно блок прыгает на странице?
В Chrome DevTools на вкладке Performance. Включите запись, обновите страницу и прокрутите её: сдвиги появятся отметками на шкале, а по клику на отметку DevTools подсветит элемент, который уехал. Мобильные проблемы ловите в режиме телефона, на широком экране они часто не повторяются.
Из-за чего CLS вырос после включения ленивой загрузки картинок?
Скорее всего, у картинок нет размеров. Пока файл не пришёл, браузер не оставляет под него места, а при прокрутке картинка загружается и раздвигает текст. Сдвиги во время скролла поблажки не получают и попадают в полевой CLS. Лечится так же, как с обычными картинками: width и height у тега или aspect-ratio у контейнера.
Почему раскрытие блока по клику не портит CLS, а подгрузка при прокрутке портит?
Сдвиг в течение полсекунды после клика, касания или нажатия клавиши Google считает ожидаемым: человек сам раскрыл блок. Прокрутка такой поблажки не даёт, поэтому догружающиеся товары, плашки и баннеры при скролле учитываются целиком.
Как зарезервировать место под баннер, если его размер заранее неизвестен?
Задайте контейнеру min-height под самый вероятный размер объявления, а надёжнее под самый крупный. Если пришёл баннер поменьше, останется пустая полоса, но страница не дёрнется. Рекламу, которая может вовсе не показаться, лучше не ставить в верхнюю часть первого экрана.
Как убрать скачок текста при загрузке веб-шрифта?
Сначала браузер рисует текст запасным шрифтом, а когда приходит основной, буквы меняют ширину и строки переносятся по-новому. Помогают два шага: запасной шрифт, близкий по метрикам к основному, и ранняя загрузка файла основного шрифта.
Через сколько Search Console покажет, что CLS исправлен?
Примерно через месяц. Отчёт строится по полевым данным за последние 28 дней, и визиты со старыми сдвигами уходят из него постепенно. Лабораторный результат в PageSpeed Insights проверяйте сразу после правки, а в Search Console запустите проверку исправления и дождитесь её итога.
Что важнее для позиций в Google: CLS или содержание страницы?
Содержание. Google учитывает Core Web Vitals среди сигналов удобства, но страница, которая хуже отвечает на запрос, не обгонит полезную только за счёт стабильной вёрстки. Чинить CLS стоит ради посетителей: они реже промахиваются и случайно жмут «Удалить из корзины» вместо оформления заказа.
Документация Google и web.dev
Остались вопросы по теме «CLS (Cumulative Layout Shift)»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ПимкинВедущий SEO-специалистНад статьёй работали
Услуги
Услуги по теме
Кейсы
Кейсы по теме
Маркетинг · Медицина, центр репродуктивной медицины
SEO-продвижение клиники «Три Сердца»
Посетителей в 5,5 раза большеНа январь 2025 года: 5 500 посетителей в неделю вместо 1 000, обращение стоит 60–70 ₽
Маркетинг · Медицина
SEO-продвижение медцентра «Медюнион»
10 000 обращений в месяц из интернета3 года работы, ноябрь 2018 – октябрь 2021: больше 1 000 фраз в ТОП-10 при цели 800
Тарифы
Тарифы по теме
Стартовый тариф для небольшого бизнеса: наводим порядок на сайте и получаем первые заявки из Яндекса и Google.
- Техническая оптимизация сайта
- Контентная оптимизация
- Семантическое ядро под город или регион
- Настройка Яндекс Вебмастера и Google Search Console
- Цели в Яндекс Метрике
- Ежемесячный отчёт по позициям, трафику и заявкам
- Оптимизация поведенческих факторов
- Оптимизация коммерческих факторов и E-A-T
Тариф для растущего бизнеса. Работаем на количество заявок: считаем звонки через коллтрекинг и дорабатываем сайт под конверсию.
- Техническая оптимизация сайта
- Контентная оптимизация
- Семантическое ядро под город или регион
- Настройка Яндекс Вебмастера и Google Search Console
- Цели в Яндекс Метрике
- Ежемесячный отчёт по позициям, трафику и заявкам
- Оптимизация поведенческих факторов
- Оптимизация коммерческих факторов и E-A-T
Для масштабирования бизнеса: SEO, A/B-тесты, карточки в Яндекс.Бизнесе и 2ГИС, техподдержка сайта. Нейросети берут на себя рутину, итог проверяют специалисты.
- Техническая оптимизация сайта
- Контентная оптимизация
- Семантическое ядро под город или регион
- Настройка Яндекс Вебмастера и Google Search Console
- Цели в Яндекс Метрике
- Ежемесячный отчёт по позициям, трафику и заявкам
- Оптимизация поведенческих факторов
- Оптимизация коммерческих факторов и E-A-T
Проверим ваш сайт бесплатно
Экспресс-аудит за 24 часа: скорость, индексация, мета-теги, коммерческие факторы и цели Метрики.


