Перейти к содержанию
Надёжность сайтов

Как исправить CLS и скачки макета

Cumulative Layout Shift растёт, когда видимый контент неожиданно меняет положение без действия пользователя. Главная задача — зарезервировать место и не вставлять элементы над уже отображённым контентом.

Антон БелогородцевЧтение: 4 минОбновлено 15 июля 2026 г.4 практических разделов
Что получите
01смотрите impacted nodes
02проверяйте mobile и desktop
03прокрутите длинную страницу

Чеклист диагностики

Отметьте пункты, которые уже проверили.

Осталось проверить: 7 из 7.
Короткий ответ

Диагностика CLS: размеры изображений, реклама, баннеры, шрифты, анимации, late content и проверка layout shifts в DevTools и CrUX.

01

Найдите конкретные layout shifts

Используйте DevTools Performance и раздел Layout Shifts, чтобы увидеть время, затронутые узлы и shift score. Lighthouse даёт лабораторный сценарий, но полевой CLS может возникать после загрузки рекламы, consent-баннера или пользовательского состояния.

Проверьте несколько viewport и длинную сессию. CLS может появиться при прокрутке, открытии блока или позднем ответе API, даже если первый экран выглядит стабильным.

смотрите impacted nodes
проверяйте mobile и desktop
прокрутите длинную страницу
сравните lab и CrUX
02

Резервируйте размеры медиа и виджетов

У изображений и видео задавайте width/height или aspect-ratio, чтобы браузер выделил место до загрузки. Для iframe, карты, рекламы и embed создайте контейнер с предсказуемой высотой.

Если размер рекламы динамический, зарезервируйте максимальный разумный слот или изменяйте его только вне viewport. Пустое место обычно менее вредно, чем скачок читаемого текста.

задайте aspect-ratio
резервируйте embed-контейнер
не схлопывайте рекламный слот
проверяйте responsive размеры
Разовая проверка показывает сейчас

Мониторинг покажет, когда состояние изменится

Добавьте сайт или сервер один раз — perfMon будет проверять его автоматически, сохранит историю и сообщит о сбое и восстановлении.

Начать бесплатно
03

Не вставляйте контент сверху

Cookie-баннер, акция или системное сообщение не должны внезапно сдвигать страницу. Используйте overlay, заранее выделенное место или показывайте блок до первой отрисовки, если это возможно и корректно.

Изменения после пользовательского действия могут не учитываться как неожиданный shift в ограниченном окне, но UX всё равно важен. Анимации делайте через transform и opacity, а не свойства, запускающие layout.

планируйте место для баннера
не добавляйте toolbar поздно
анимируйте transform
проверяйте состояние авторизации
04

Стабилизируйте шрифты и компоненты

Web font может изменить размеры текста после загрузки. Подберите совместимый fallback, настройте font-display и используйте metric overrides, если различие заметно. Не preload все начертания — это создаёт конкуренцию.

Skeleton должен совпадать с итоговой геометрией карточки. Если загрузка данных меняет число строк или высоту, задайте минимальный размер или проектируйте переход без сдвига соседнего контента.

подберите близкий fallback
ограничьте набор шрифтов
согласуйте skeleton и результат
повторите тест на медленной сети
От знания к системе

Автоматизируйте проверку, описанную в статье

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

Настроить бесплатно
01Добавьте URL и включите регулярные проверки.
02Собирайте HTTP, TTFB, SSL и историю состояния.
03Получайте сигнал о сбое и отдельное сообщение о восстановлении.
Следующий шаг

Применить на практике

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

Короткие ответы на вопросы, которые обычно возникают при диагностике.

Какой CLS считается хорошим?

Хороший p75 CLS — не более 0,1; 0,1–0,25 требует улучшения, выше 0,25 считается слабым.

Почему Lighthouse показывает 0, а CrUX плохой?

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

Можно убрать CLS с помощью min-height?

Иногда, если он резервирует корректную геометрию. Слепой большой min-height создаст пустоты и не решит источник динамического размера.

Следующий шаг

Не ждите следующего сообщения «сайт не работает»

Добавьте первый сайт или сервер: perfMon будет проверять состояние автоматически, сохранит историю и уведомит ответственных.

7 дней бесплатнобез картыотмена в любой момент