Перейти к содержимому

Core Web Vitals (CWV): метрики скорости и UX для SEO

Core Web Vitals (CWV): метрики скорости и UX для SEO и конверсии

Заголовок раздела «Core Web Vitals (CWV): метрики скорости и UX для SEO и конверсии»

В современной экосистеме поисковой оптимизации (SEO) и цифрового маркетинга технические факторы играют не меньшую роль, чем качество контента и ссылочный профиль. Инициатива Core Web Vitals (CWV), представленная Google, стала водоразделом в том, как поисковые системы оценивают пользовательский опыт (User Experience — UX). CWV — это набор стандартизированных, измеримых метрик, которые оценивают три ключевых аспекта взаимодействия пользователя с веб-страницей: скорость загрузки, интерактивность (отзывчивость) и визуальную стабильность.

В этой масштабной энциклопедической статье мы проведем глубокую деконструкцию трех ключевых метрик CWV (LCP, INP/FID, CLS), разберем их влияние на ранжирование в Google Mobile и реальную конверсию (UX), а также предоставим исчерпывающий технический чек-лист для маркетологов, позволяющий улучшить эти показатели без необходимости писать код с нуля.


Эволюция алгоритмов Google: от PageSpeed к Core Web Vitals

Заголовок раздела «Эволюция алгоритмов Google: от PageSpeed к Core Web Vitals»

На протяжении многих лет Google призывал вебмастеров “делать сайты быстрее”. В 2010 году скорость сайта впервые стала сигналом ранжирования для десктопа. В 2018 году вышло “Speed Update”, которое сделало скорость фактором ранжирования для мобильных устройств. Однако эти метрики были разрозненными и часто не отражали реального опыта. Например, страница могла загрузить весь невидимый HTML за секунду (получив высокий балл), но показывать пользователю белый экран еще 10 секунд из-за загрузки скриптов.

Чтобы стандартизировать подход, в 2020 году Google анонсировал Core Web Vitals как часть более широкого сигнала ранжирования “Page Experience” (Опыт взаимодействия со страницей). Философия CWV заключается в том, что сайт с отличным контентом, но ужасным пользовательским опытом (долгая загрузка, дергающийся макет, неработающие кнопки), не должен занимать высокие позиции. Поисковик стремится направлять пользователей на страницы, которые открываются мгновенно, работают плавно и не вызывают раздражения.

Таймлайн загрузки страницы и замеры Core Web Vitals Начало загрузки (TTFB) FCP (Первая отрисовка) LCP (До 2.5 сек) Самый крупный блок контента Клик / Ввод (Взаимодействие) INP (До 200 мс) Задержка реакции интерфейса CLS (До 0.1) Сдвиги макета на протяжении сессии

1. Largest Contentful Paint (LCP): Скорость отрисовки основного контента

Заголовок раздела «1. Largest Contentful Paint (LCP): Скорость отрисовки основного контента»

LCP (Отрисовка самого крупного контента) измеряет время, необходимое для рендеринга самого большого видимого элемента (текстового блока, изображения или видео) в области просмотра (viewport) с момента начала навигации по странице. В отличие от старых метрик вроде DOMContentLoaded, LCP ориентирован исключительно на пользователя. Он отвечает на главный подсознательный вопрос посетителя: “Полезен ли этот сайт? Могу ли я уже потреблять контент, ради которого пришел?”

  • 🟢 Хорошо: До 2.5 секунд
  • 🟡 Требует улучшения: От 2.5 до 4.0 секунд
  • 🔴 Плохо: Более 4.0 секунд

Элементы, которые могут выступать в роли LCP:

Заголовок раздела «Элементы, которые могут выступать в роли LCP:»
  • Элементы <img>.
  • Элементы <image> внутри векторных файлов <svg>.
  • Изображения-постеры для видеоэлементов <video poster="...">.
  • Элементы с фоновыми изображениями, загружаемые через CSS url().
  • Блочные элементы, содержащие текстовые узлы или другие инлайновые текстовые элементы (например, главные заголовки <h1>, крупные параграфы <p>).

Глубинные технические причины медленного LCP:

Заголовок раздела «Глубинные технические причины медленного LCP:»
  1. Медленный ответ сервера (TTFB - Time to First Byte): Если ваш сервер долго «думает» перед отправкой первого байта HTML-документа, весь процесс рендеринга сдвигается вправо по оси времени. Причины: перегруженная база данных (тяжелые SQL-запросы), отсутствие серверного кэширования (Redis, Memcached), физическая удаленность сервера от пользователя.
  2. Блокирующие рендеринг ресурсы (Render-blocking JavaScript & CSS): Чтобы отрисовать контент, браузер должен распарсить HTML-дерево. Когда он встречает теги <script> (без defer или async) или внешние таблицы стилей <link rel="stylesheet">, он вынужден приостановить парсинг HTML, скачать эти файлы и выполнить их. Только после этого продолжается построение страницы.
  3. Долгая загрузка самих ресурсов LCP: Если вашим LCP-элементом является баннер весом в 5 Мегабайт без сжатия, мобильному устройству в сети 3G потребуется вечность, чтобы его скачать, даже если сервер ответил мгновенно.
  4. Client-Side Rendering (CSR): Если ваш сайт (часто SPA - Single Page Applications) построен на чистом React, Angular или Vue без технологии Server-Side Rendering (SSR), браузеру сначала отдается пустой HTML с тегом <div id="root"></div>. Затем скачивается массивный JS-бандл, парсится, выполняется, запрашивает данные по API, и только потом генерирует LCP-элемент. Это антипаттерн для LCP.

2. Interaction to Next Paint (INP) и First Input Delay (FID): Интерактивность и отзывчивость

Заголовок раздела «2. Interaction to Next Paint (INP) и First Input Delay (FID): Интерактивность и отзывчивость»

В марте 2024 года Google произвел революцию в метриках интерактивности, официально заменив старую метрику First Input Delay (FID) на новую — Interaction to Next Paint (INP). Это фундаментальный сдвиг в оценке качества пользовательского опыта.

Почему отказались от FID? Метрика FID имела серьезные архитектурные изъяны. Она измеряла только первую задержку ввода (например, самый первый тап по экрану) и измеряла только задержку начала обработки (время до момента, когда браузер смог начать выполнять код обработчика события). FID не учитывал время выполнения самого JavaScript-кода и время, необходимое браузеру для перерисовки экрана (рендеринга результата клика). Как следствие, более 95% сайтов в мире легко проходили тест FID, даже если в реальности они сильно “тормозили” при дальнейшей навигации и использовании каруселей или фильтров.

Что измеряет INP? INP — это комплексная метрика, которая оценивает общую отзывчивость страницы на протяжении всего жизненного цикла (всё время, пока пользователь с ней взаимодействует). INP фиксирует задержку всех кликов, тапов по сенсорному экрану и нажатий клавиш, и обычно выбирает наихудший показатель (или близкий к наихудшему — 98-й перцентиль для страниц с огромным числом взаимодействий). INP включает в себя 3 компонента полного цикла взаимодействия:

  1. Задержка ввода (Input Delay): Время от физического действия пользователя до момента запуска обработчика событий (часто задерживается, если основной поток занят другими фоновыми скриптами).
  2. Время обработки (Processing Time): Время выполнения самого кода JavaScript, связанного с этим событием (сложная логика, расчеты).
  3. Задержка отрисовки (Presentation Delay): Время, необходимое браузеру для пересчета стилей, компоновки макета и вывода обновленного кадра на экран.
  • 🟢 Хорошо: Менее 200 миллисекунд
  • 🟡 Требует улучшения: От 200 до 500 миллисекунд
  • 🔴 Плохо: Более 500 миллисекунд
  • Длинные задачи (Long Tasks) в основном потоке (Main Thread): Браузер однопоточен. Если скачанный через Google Tag Manager сторонний скрипт аналитики исполняется непрерывно 800 мс, основной поток бразуера “заморожен”. Если в эту секунду пользователь попытается открыть мобильное меню (гамбургер), меню не откроется, пока аналитический скрипт не завершит работу.
  • Сложные обновления DOM и громоздкие CSS-селекторы: Слишком большое количество узлов на странице (DOM size) приводит к тому, что при клике на фильтр товаров браузеру приходится пересчитывать стили для тысяч элементов. Использование слишком сложных селекторов (например, .container div:nth-child(even) > p span) также увеличивает Presentation Delay.
  • Отсутствие Yielding (Уступка потока): Разработчики часто выполняют все тяжелые вычисления синхронно. Современные подходы требуют использования setTimeout, requestIdleCallback или API scheduler.yield(), чтобы разбивать длинные задачи на мелкие чанки, давая браузеру возможность обработать пользовательский ввод между ними.

3. Cumulative Layout Shift (CLS): Визуальная стабильность

Заголовок раздела «3. Cumulative Layout Shift (CLS): Визуальная стабильность»

CLS (Совокупное смещение макета) измеряет визуальную стабильность страницы. Это математическая сумма всех индивидуальных показателей смещения макета для каждого неожиданного сдвига видимого контента на протяжении всего времени жизни страницы.

Вспомните классическую ситуацию, с которой сталкивался каждый: вы читаете статью и собираетесь нажать на текстовую ссылку, но за долю секунды до вашего клика сверху подгружается рекламный баннер. Весь текст резко съезжает вниз, и ваш палец попадает прямо по рекламному блоку, уводя вас со страницы. Это не просто раздражает — это разрушает доверие. CLS измеряет частоту и масштаб таких событий.

Формула расчета CLS учитывает Долю влияния (Impact Fraction) — какую часть экрана занимает сдвинувшийся элемент, и Долю дистанции (Distance Fraction) — на какое расстояние он сдвинулся относительно высоты экрана.

  • 🟢 Хорошо: Менее 0.1
  • 🟡 Требует улучшения: От 0.1 до 0.25
  • 🔴 Плохо: Более 0.25
  • Изображения и видео без указанных атрибутов размеров: Если в исходном HTML не заданы атрибуты width и height (или не зарезервировано место через CSS aspect-ratio), браузер не знает, сколько физического пространства нужно оставить под медиафайл. Сначала отрисовывается текст, затем подгружается картинка, и текст “выдавливается” вниз.
  • Реклама, эмбеды (iframe от YouTube) и виджеты без резервирования места: Динамически подгружаемые блоки со сторонних серверов часто имеют непредсказуемый размер, вызывая сильные скачки интерфейса после их инжектирования в DOM.
  • Веб-шрифты (FOIT/FOUT - Flash of Invisible/Unstyled Text): Когда страница использует нестандартный кастомный шрифт (например, загружаемый из Google Fonts), он может иметь другие метрики (ширину букв, высоту строки) по сравнению с резервным системным шрифтом (Arial, Times). При моменте подмены системного шрифта на скачанный кастомный шрифт, текст резко перестраивается (reflow), сдвигая контент ниже себя.
  • Динамически инжектируемый контент: Различные маркетинговые попапы, плашки “Мы используем Cookie”, всплывающие баннеры подписки, которые внедряются в начало страницы и не имеют абсолютного позиционирования (position: absolute или fixed), сдвигая весь <body> вниз.
  • Неправильные CSS-анимации: Анимация свойств top, left, width или height вызывает постоянные пересчеты макета (Layout Thrashing). Для плавных анимаций без сдвигов макета необходимо использовать CSS-свойство transform (например, transform: translateY(10px)), которое обрабатывается GPU и не влияет на позиционирование соседних элементов.

Влияние CWV на ранжирование Google (Mobile) и UX конверсию

Заголовок раздела «Влияние CWV на ранжирование Google (Mobile) и UX конверсию»

Отношение к Core Web Vitals часто разделяет аудиторию на два лагеря: SEO-специалистов, которые борются за каждый миллисекундный балл в PageSpeed, и маркетологов, которые фокусируются на бизнес-метриках. На самом деле, CWV критически важны для обоих лагерей.

SEO-перспектива: Mobile-First Indexing и эффект “Tie-Breaker”

Заголовок раздела «SEO-перспектива: Mobile-First Indexing и эффект “Tie-Breaker”»

С переходом на Mobile-First Indexing (индексация с приоритетом мобильного контента) алгоритм Google оценивает производительность сайтов преимущественно на основе мобильного опыта (Mobile CWV). Почему? Потому что мобильные устройства обладают меньшей вычислительной мощностью, а качество 3G/4G/5G сетей сильно варьируется, что делает мобильных пользователей наиболее уязвимыми к плохой технической оптимизации.

Важно понимать принципы того, как алгоритм Google взвешивает CWV:

  1. Контент — это по-прежнему король. Страница с плохими CWV, но с идеальным, экспертным и высокорелевантным ответом на интент пользователя, всё равно обойдет технически быстрый сайт с посредственным контентом. 2.

Эффект Tie-Breaker (разрешение ничьей). Если в выдаче конкурируют ваш сайт и сайт вашего конкурента, и у вас сопоставимое качество контента, профиль обратных ссылок и авторитетность домена (E-E-A-T), именно метрики Core Web Vitals станут тем фактором-разделителем, который определит, кто займет 1-е место, а кто 2-е. 3. Оптимизация краулингового бюджета (Crawl Budget). Тяжелые, медленные сайты с обилием скриптов заставляют Googlebot (Web Rendering Service) тратить избыточное количество времени и вычислительных ресурсов на рендеринг страницы.

Улучшая LCP и снижая количество блокирующих ресурсов, вы повышаете эффективность и частоту сканирования вашего сайта поисковиками.

Перспектива CRO (Конверсия, Продажи, Лояльность)

Заголовок раздела «Перспектива CRO (Конверсия, Продажи, Лояльность)»

Истинная коммерческая ценность Core Web Vitals кроется в показателе конверсии (Conversion Rate - CR), показателе отказов (Bounce Rate) и общем восприятии бренда. Маркетологам не стоит оптимизировать CWV только ради зеленой галочки в отчете Google; они должны делать это ради роста выручки.

Многочисленные корпоративные кейсы (опубликованные на web.dev и в исследованиях Akamai/Deloitte) подтверждают прямую финансовую корреляцию:

  • Vodafone (Телеком): Улучшив LCP на 31%, компания зафиксировала увеличение продаж на 8% и рост числа добавлений в корзину на 15%.
  • Pinterest (Социальная сеть): Снижение perceived wait time (времени воспринимаемого ожидания) на 40% увеличило SEO-трафик и конверсию в регистрации на 15%.
  • Yelp (Отзывы): Добавление скелетных экранов (skeletons) при загрузке страниц и радикальное снижение CLS привело к росту конверсии на 15%.
  • Swappie (E-commerce): Оптимизация метрик CWV (в частности снижение LCP и INP) привела к росту мобильного дохода на 42%.

Психологический аспект: Исследования в области нейромаркетинга (например, от Ericsson ConsumerLab) показали, что задержка загрузки мобильных веб-страниц вызывает у пользователей скачок частоты сердечных сокращений и уровня стресса, сопоставимый с просмотром фильма ужасов или решением сложной математической задачи. Высокий INP (отсутствие реакции на клик) вызывает феномен “Rage Clicks” (яростные клики) — когда пользователь жмет на неработающую кнопку оформления заказа по 5 раз подряд, что фрустрирует его, подрывает доверие к безопасности платежного шлюза и заставляет уйти к конкурентам. Плохой CLS уничтожает доверие и повышает риск “мискликов”.


(Как улучшить CWV без глубокого погружения в программирование)

Маркетологам часто кажется, что CWV — это сугубо зона ответственности IT-отдела или программистов. Однако парадокс заключается в том, что многие проблемы со скоростью создаются именно маркетинговыми инициативами (установка десятков пикселей, тяжелые рекламные баннеры, клиентские A/B тесты). Ниже приведена матрица действий, которой маркетолог может управлять самостоятельно или на ее основе ставить четкие, технически грамотные ТЗ разработчикам.

  1. Жесткий аудит медиафайлов (Главный враг LCP):
    • Действие маркетолога: Убедитесь, что самое большое изображение на первом экране (Hero Image, обложка статьи) сохранено в современных форматах: WebP или, что еще лучше, AVIF (сжатие на 20-30% лучше WebP).
    • ТЗ разработчикам: Настроить адаптивные изображения с использованием атрибута srcset в теге <picture>, чтобы мобильные пользователи получали легковесную картинку размером 400px, а десктопные — 1920px.
  2. Предзагрузка критических ресурсов (Preload & Priority Hints):
    • ТЗ разработчикам: Внедрить тег <link rel="preload" as="image" href="hero-banner.webp"> или новый атрибут fetchpriority="high" для LCP-изображения. Это дает браузеру прямой приказ качать картинку немедленно, не дожидаясь полного парсинга HTML, CSS и других скриптов.
  3. Использование CDN (Content Delivery Network):
    • Действие маркетолога: Если ваш бизнес работает на несколько стран, серверам в Европе потребуется время для передачи данных в Азию. Подключите Cloudflare, Akamai или AWS CloudFront. Это радикально уменьшит TTFB.
  4. Управление отложенной загрузкой (Lazy Loading):
    • Действие маркетолога/ТЗ: Картинки ниже первого экрана (below the fold) строго обязаны иметь атрибут loading="lazy".
    • Внимание (Распространенная ошибка): Никогда не применяйте lazy-loading к главному изображению (LCP) в хедере! Это заставляет браузер откладывать его скачивание до момента рендеринга макета, что искусственно обрушивает метрику LCP.

📋 Чек-лист по улучшению INP (Интерактивность)

Заголовок раздела «📋 Чек-лист по улучшению INP (Интерактивность)»
  1. Тотальный аудит Google Tag Manager (GTM):
    • Действие маркетолога: GTM — это часто “черная дыра” производительности, куда годами складываются скрипты. Проведите ревизию. Удалите неиспользуемые рекламные пиксели, трекеры завершившихся кампаний. Отключайте тяжелые системы тепловых карт (Hotjar, CrazyEgg) и записи сессий (FullStory), когда вы не проводите активный UX-анализ.
  2. Отсрочка выполнения второстепенных маркетинговых скриптов:
    • Действие маркетолога/ТЗ: Инструменты вроде онлайн-чатов (Intercom, JivoSite), виджеты социальных сетей, скрипты push-уведомлений не нужны пользователю в первую секунду. Они блокируют основной поток бразуера (повышая INP). Требуйте от разработчиков загружать их отложенно — с помощью атрибута defer, либо инициировать их загрузку только по событию “скролл”, “движение мыши” или “взаимодействие с интерфейсом”.
  3. Минимизация сторонних Client-side A/B тестов:
    • Действие маркетолога: Инструменты клиентского тестирования (вроде VWO, Optimizely Client-Side) работают путем скачивания тяжелого JS-кода, который скрывает страницу, меняет элементы на лету и показывает ее снова. Это катастрофа для INP и LCP. По возможности переходите на серверные A/B тесты (Server-side testing) или тестирование через Middleware/Edge Functions в CDN.

📋 Чек-лист по улучшению CLS (Визуальная стабильность)

Заголовок раздела «📋 Чек-лист по улучшению CLS (Визуальная стабильность)»
  1. Жесткое резервирование размеров для всех медиа:
    • Действие маркетолога/ТЗ: Любая картинка, рекламный баннер, логотип или видео, загружаемые через вашу CMS, должны иметь явно заданные в HTML атрибуты ширины и высоты. Пример: <img src="promo.webp" width="800" height="400" alt="Promo">. Современные браузеры на основе этих атрибутов автоматически вычислят соотношение сторон (aspect ratio) и забронируют пустое пространство до скачивания самого файла, предотвращая сдвиг текста.
  2. Изоляция и управление рекламными блоками (Ad Slots):
    • Действие маркетолога: Если вы монетизируете контент (Google AdSense, РСЯ), всегда требуйте от разработчиков резервировать под баннеры статический контейнер <div> с фиксированной минимальной высотой (min-height). Если реклама не загрузится или будет заблокирована AdBlock, лучше оставить пустое белое пространство, чем допустить сжатие блока и сдвиг контента вверх.
  3. Аудит всплывающих окон (Pop-ups, Banners, Cookie Consents):
    • Действие маркетолога/ТЗ: Маркетинговые баннеры (“Скидка 10% на первый заказ!”, “Установите приложение”), которые внедряются в самый верх (top) документа в потоке и сдвигают весь сайт вниз — это генераторы гигантского CLS.
    • Решение: Позиционируйте такие элементы строго поверх контента (используя CSS свойства position: absolute или position: fixed, bottom: 0), либо интегрируйте их место прямо в HTML на сервере изначально.
  4. Управление отображением веб-шрифтов:
    • ТЗ разработчикам: Для предотвращения FOUT/FOIT (сдвигов из-за шрифтов), убедитесь, что в CSS правилах @font-face используется дескриптор font-display: optional (шрифт применится только если загрузится мгновенно) или font-display: swap совместно с технологией CSS Font Loading API или корректировками size-adjust, чтобы резервный шрифт точно соответствовал размерам кастомного.

Структурная таблица: Метрики, проблемы и решения

Заголовок раздела «Структурная таблица: Метрики, проблемы и решения»
МетрикаЧто именно измеряетИдеальное значение (Зеленая зона)Главные причины просадки метрики в реальностиОсновные маркетинговые и технические решения
LCP (Largest Contentful Paint)Скорость полной отрисовки крупнейшего медиа/текстового элемента в области видимости.Менее 2.5 секОгромные неоптимизированные картинки, медленный ответ сервера (TTFB), блокировка рендера скриптами.Форматы WebP/AVIF, подключение CDN, fetchpriority="high", удаление loading="lazy" с первого экрана.
INP (Interaction to Next Paint)Общая задержка реакции интерфейса на клики и ввод на протяжении всего визита.Менее 200 мсОбилие тяжелых маркетинговых скриптов (GTM, чаты), сложная логика в React/Vue, сложный DOM.Чистка GTM от мусора, отложенная загрузка чатов (on-interaction), разбиение Long Tasks в JS (Yielding).
CLS (Cumulative Layout Shift)Визуальные неожиданные сдвиги макета при чтении или перед кликом.Менее 0.1Отсутствие width/height у медиа, динамическая инъекция рекламы в поток, смена системных шрифтов.Жесткое указание размеров медиа в HTML, пустые плейсхолдеры для рекламы с min-height, фиксированные баннеры.

Инструменты для мониторинга и аудита Core Web Vitals

Заголовок раздела «Инструменты для мониторинга и аудита Core Web Vitals»

Чтобы эффективно управлять техническим SEO, маркетолог должен понимать критическую разницу между Лабораторными данными (Lab Data) и Полевыми данными (Field Data).

  • Лабораторные данные (Синтетика): Собираются в симулированной среде (например, вашим ноутбуком через Lighthouse с искусственным ограничением сети до 3G). Эти данные идеальны для дебаггинга разработчиками до релиза. Они не влияют на SEO.
  • Полевые данные (CrUX - Chrome User Experience Report): Это реальная, анонимизированная статистика, собранная с браузеров Chrome ваших настоящих пользователей за последние 28 дней. Именно эти полевые данные Google использует как фактор ранжирования.

Арсенал маркетолога и SEO-специалиста:

  1. Google Search Console (GSC): Ваш главный компас. Раздел “Основные интернет-показатели” (Core Web Vitals) показывает исключительно полевые данные и удобно группирует URL со схожими проблемами (например, показывает, что тысячи карточек товаров имеют плохой LCP на мобильных).
  2. PageSpeed Insights (PSI): Универсальный сканер конкретной страницы. Он уникален тем, что показывает в верхней части реальные полевые данные (если страница имеет достаточно трафика), а в нижней — лабораторный анализ с конкретными техническими советами (какие скрипты заблокировали рендер, какие картинки нужно сжать).
  3. WebPageTest.org: Продвинутый инструмент тестирования. Позволяет увидеть “Filmstrip” (покадровую пленку) загрузки страницы с шагом в 100 мс, чтобы визуально понять, в какой момент происходит сдвиг (CLS) или когда появляется основной контент (LCP).
  4. Chrome DevTools (Вкладка Performance): Профессиональный инструмент внутри браузера (F12). Позволяет записать профиль загрузки, до миллисекунд разобрать “длинные задачи” (Long Tasks, виновники INP) и найти узлы в DOM, провоцирующие Layout Shifts.
  5. Расширение Web Vitals для Chrome: Официальный плагин, который накладывает поверх любого открытого сайта компактную панель со значениями CWV в реальном времени, помогая быстро находить просадки на лету.

Core Web Vitals окончательно перестали быть просто модным buzzword или чисто техническим аспектом работы программистов. Сегодня это базовый, гигиенический минимум любого цифрового маркетинга и SEO. Медленные страницы, не реагирующие на клики и прыгающие при загрузке, не только пессимизируются Google (особенно в высококонкурентных нишах на мобильных устройствах), но и методично сжигают ваш маркетинговый бюджет на рекламу, повышая показатель отказов, снижая конверсию в лиды и убивая лояльность к бренду.

Объединение усилий маркетологов (чистка GTM, оптимизация медиа, правильная постановка ТЗ), SEO-специалистов (мониторинг GSC) и разработчиков (архитектурный рефакторинг) вокруг оптимизации метрик LCP, INP и CLS — это инвестиция с одним из самых высоких показателей возврата (ROI) в современной веб-разработке и e-commerce.