Чтение 8 минут

Оптимизация производительности веб-сайта: скорость и Core Web Vitals


Оптимизация производительности веб-сайта: скорость и Core Web Vitals - Студия Вебтую

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

Core Web Vitals: три метрики скорости

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

Largest Contentful Paint (LCP) — время загрузки самого большого элемента контента на первом экране: изображения, видео или блока текста. Метрика фиксируется в момент, когда основное содержимое становится видно пользователю. Чем раньше это происходит, тем раньше человек начинает работать со страницей.

Метрика LCP — время загрузки основного контента

First Input Delay (FID) до 2024 года измерял время отклика сайта на первое действие пользователя — щелчок по ссылке или кнопке.

С марта 2024 года вместо FID Google учитывает метрику INP (Interaction to Next Paint). Она оценивает задержку не только первого, а всех взаимодействий на странице и берёт одно из самых медленных. Хорошим считается значение до 200 мс. Советы ниже по разгрузке основного потока и сокращению лишнего JS полезны для обеих метрик.

Cumulative Layout Shift (CLS) оценивает визуальную стабильность: суммарное смещение элементов во время загрузки. Когда текст уезжает из-под пальца или кнопка сдвигается в момент нажатия — это и есть высокий CLS. Чем он меньше, тем предсказуемее страница.

Метрика CLS — смещение макета при загрузке

МетрикаЧто измеряетХорошее значениеЧто обычно мешает
LCPзагрузку главного элемента первого экранадо 2,5 стяжёлые изображения, медленный сервер, блокирующие CSS и JS
INPотклик на действия пользователядо 200 мсдлинные задачи JavaScript, лишние скрипты
CLSсмещение макета при загрузкедо 0,1картинки и баннеры без размеров, вставка контента сверху

Вспомогательные метрики

Помимо трёх основных, при диагностике смотрят на метрики, которые объясняют, откуда берётся задержка:

  • Time to First Byte (TTFB) — время до первого байта ответа сервера. Высокий TTFB тянет за собой все остальные метрики: браузеру просто нечего показывать.
  • First Contentful Paint (FCP) — момент, когда на экране появился первый контент: текст, изображение или видео. Короткий FCP создаёт впечатление быстрой загрузки.
  • Total Blocking Time (TBT) — суммарное время, когда страница после начала загрузки была занята и не реагировала на действия. TBT замеряется в лабораторных тестах и хорошо предсказывает проблемы с INP.

Оптимизация изображений и элемента LCP

Изображения — один из главных источников медленной загрузки, и чаще всего именно картинка оказывается элементом LCP. Размер файлов уменьшают сжатием и современными форматами: WebP вместо PNG и тяжёлого JPEG. Атрибуты width и height у изображений обязательны — без них браузер не знает, сколько места оставить, и страница прыгает при загрузке.

Ресурс LCP должен находиться в HTML

Чтобы главный элемент загрузился как можно раньше, ссылка на него должна быть прямо в HTML-разметке страницы. Тогда браузер увидит её при первом разборе документа и начнёт загрузку сразу, а не после того, как скачает и выполнит другие файлы.

Если URL изображения недостижим в HTML

Это значит, что браузер не может найти ресурс по адресу из кода или получить к нему доступ. Причины обычно такие:

  • неправильный путь к файлу;
  • ошибка загрузки;
  • недоступный сервер.

Пока картинка не загрузилась, LCP не наступит, поэтому битые и медленные адреса первого экрана исправляют в первую очередь.

Если изображение запрашивается из внешнего CSS или JS

Фоновая картинка из CSS или изображение, которое подставляет скрипт, обнаруживается браузером поздно — только после загрузки этих файлов. Что помогает:

  • вывести изображение первого экрана обычным тегом в HTML или подсказать браузеру о нём заранее через предзагрузку;
  • встроить критические стили первого экрана прямо в страницу, чтобы не ждать внешний CSS;
  • маленькие декоративные изображения встраивать инлайн.

Ленивая загрузка — только ниже первого экрана

Атрибут loading="lazy" откладывает загрузку картинок до момента, когда они появятся на экране, и разгружает старт страницы. Но изображение первого экрана, которое и есть элемент LCP, лениво загружать нельзя: браузер начнёт качать его позже и LCP вырастет. Ленивая загрузка — для всего, что ниже.

Некритические ресурсы и порядок загрузки

На LCP влияют не только сами элементы первого экрана, но и всё, что загружается до них. Шрифты, сторонние виджеты, счётчики и скрипты, не нужные для первого показа, отнимают канал и время у основного контента.

  • загружайте в приоритетном порядке то, что нужно для первоначального отображения страницы;
  • некритические ресурсы подключайте асинхронно или откладывайте до полной загрузки;
  • после каждого изменения порядка загрузки проверяйте результат: отложенный скрипт иногда ломает функциональность, которая на нём держалась.

Отзывчивость: длинные задачи и лишний JavaScript

Пока браузер выполняет долгую задачу, основной поток заблокирован и страница не реагирует на нажатия — это напрямую ухудшает INP (а раньше FID) и TBT.

Лишний JS

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

  • периодически анализировать JavaScript и убирать неиспользуемые функции и библиотеки;
  • подключать скрипты с атрибутами async или defer, чтобы браузер продолжал разбирать страницу, не дожидаясь их;
  • делить код на небольшие независимые модули и загружать только те части, которые нужны на конкретной странице;
  • тяжёлые вычисления выносить в веб-воркеры — они работают в фоне и не блокируют основной поток;
  • анимации делать на CSS, а не на JavaScript.

Минификация и объединение файлов

Минификация удаляет из HTML, CSS и JavaScript лишние пробелы, комментарии и переносы строк — файлы становятся меньше и быстрее загружаются. Для этого есть готовые инструменты, в том числе встроенные в сборщики. Вместе с удалением ненужного кода и объединением мелких файлов это заметно сокращает объём, который браузер скачивает и разбирает.

Стабильность макета: как снизить CLS

Главное в борьбе со сдвигами — заранее зарезервировать место под всё, что появляется на странице не сразу:

  • Фиксированные размеры элементов. Изображениям, видео, баннерам и другим блокам задают размеры, чтобы браузер оставил под них место до загрузки.
  • Атрибуты width и height у мультимедиа. Изображения, видео и аудио вставляют с указанными размерами — через атрибуты или CSS.
  • Отложенная загрузка. Ресурсы ниже первого экрана загружают позже, сначала показывая видимый контент.
  • Динамический контент. Если блок появляется после начала загрузки — баннер, уведомление, рекламное место, — под него заранее резервируют пространство и не вставляют его над уже показанным текстом.

Анимации и переходы без потери скорости

CSS-анимации и переходы делают интерфейс живее: плавное изменение прозрачности, масштаба, поворота, цвета, размеров и положения элементов. Для производительности у них есть преимущества перед JavaScript:

  • их просто настроить — достаточно описать ключевые кадры (keyframes), а переходы между ними браузер просчитывает сам;
  • браузер может использовать аппаратное ускорение, поэтому анимации остаются плавными даже на мобильных устройствах;
  • они поддерживаются всеми современными браузерами.

Анимации стоит использовать умеренно и с понятной целью — привлечь внимание к важному или показать результат действия. Избыточные эффекты отвлекают и нагружают устройство.

Кэширование и BFCache

Кэширование сохраняет ресурсы в браузере посетителя, и при повторных визитах страницы открываются быстрее. Срок хранения задают отдельно для разных типов файлов: HTML, CSS, JavaScript, изображений.

BFCache (Back-Forward Cache) — механизм браузера, который сохраняет страницу целиком при переходе назад и вперёд кнопками браузера или жестами на телефоне. Страница восстанавливается мгновенно, без повторной загрузки, и это улучшает все три метрики:

  • LCP — крупный контент уже загружен и не скачивается заново;
  • CLS — макет восстанавливается ровно в том виде, в каком был, без скачков;
  • INP — страница сразу готова реагировать на действия.

Чтобы страница попадала в BFCache, её код не должен этому мешать, а восстановленное состояние нужно проверять — особенно на страницах с личными данными, корзиной и формами.

CDN и граничные вычисления

CDN (Content Delivery Network) — сеть серверов в разных регионах, которая отдаёт контент с ближайшего к пользователю узла. Это заметно ускоряет загрузку для посетителей из отдалённых регионов. Граничные вычисления позволяют выполнять часть логики прямо на узлах CDN и дают больше возможностей:

  • распределение нагрузки на основной сервер;
  • кэширование;
  • управление контентом, в том числе ограничение доступа к страницам по географии;
  • мобильная оптимизация;
  • мониторинг производительности — часть провайдеров даёт аналитику по запросам и поведению пользователей.

Оптимизация базы данных и сервера

Если сайт хранит данные в базе, её структура и запросы напрямую влияют на время ответа сервера, то есть на TTFB, а через него — на все остальные метрики. Индексы ускоряют поиск, а лишние и повторяющиеся запросы к базе стоит убирать: часто одна страница делает десятки запросов там, где хватило бы нескольких.

С чего начинать оптимизацию

ШагЧто делаемНа что влияет
1Замер: PageSpeed Insights, отчёт Core Web Vitals в Search Consoleпоказывает, какая метрика проседает
2Сервер, база данных, кэшированиеTTFB, а через него LCP и FCP
3Изображения и элемент LCP первого экранаLCP
4Размеры медиа и места под динамические блокиCLS
5Лишний JavaScript, длинные задачи, async и deferINP, TBT
6CDN и BFCacheвсе метрики, особенно для удалённых регионов и повторных визитов

Отдельно разбираем оптимизация Core Web Vitals на мобильных — что входит в работу, как замеряем скорость на телефоне и по каким показателям считаем результат.

Скорость сайта не разовая задача, а режим: держим её в рамках технической поддержки сайта — замеры, оптимизация и контроль после каждого релиза.

Проверка производительности

Производительность проверяют регулярно, а не один раз: после обновлений, новых виджетов и счётчиков скорость обычно снова падает. Для замеров подходят Google PageSpeed Insights и GTmetrix — они показывают проблемные места и дают рекомендации. Лабораторный замер полезен для поиска причин, а окончательный вывод делают по полевым данным реальных посетителей, на которых и строится оценка Core Web Vitals.

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

Нужна помощь с сайтом?

Срочные ошибки исправим за 24 часа, работа от 2 500 руб./час.

Техническая поддержка и сопровождение сайта

По теме статьи

Мы это уже делали

Похожие статьи

Нужен новый сайт?

Оставьте контакты — вернёмся с вопросами по задаче и ориентиром по срокам и стоимости.

Читайте также

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

Внимание: мошенники представляются сотрудниками Вебтую Внимание: мошенники представляются сотрудниками Вебтую Посторонний человек обращается к рекламным и маркетинговым агентствам от имени Вебтую через Telegram-аккаунт @vetaroki22010, заказывает работы и не оплачивает и 10-09-2026 Читать Работа в digital: процессы, инструменты и команда Работа в digital: процессы, инструменты и команда Цифровые проекты редко проваливаются из-за технологий: чаще мешает организация работы. Разбираем этапы, роли, постановку задач, инструменты распределённой коман 30-08-2026 Читать Реклама и аналитика: как считать заявки, а не клики Реклама и аналитика: как считать заявки, а не клики Показы и клики не отвечают на вопрос, сколько принесла реклама. Разбираем, как настроить цели, разметить источники, учесть звонки и связать заявку со сделкой, ч 30-08-2026 Читать Поддержка сайта: обновления, резервные копии и безопасность Поддержка сайта: обновления, резервные копии и безопасность Сайт без регулярного обслуживания ломается предсказуемо. Разбираем, из чего состоит поддержка: обновления, резервные копии, доступы, безопасность, выбор хостинг 30-08-2026 Читать Техническое SEO: индексация, скорость и структура сайта Техническое SEO: индексация, скорость и структура сайта Техническая часть сайта решает, попадут ли страницы в индекс и дождётся ли их посетитель. Разбираем структуру и адреса, индексацию и дубли, работу с устаревшими 30-08-2026 Читать Продвижение сайта в поиске: стратегия, семантика и ссылки Продвижение сайта в поиске: стратегия, семантика и ссылки Разбираем продвижение сайта в поиске от постановки цели до регулярной работы: как собрать и разложить семантику по страницам, что должно быть на посадочной стра 30-08-2026 Читать Тексты для сайта: как писать, чтобы читали и покупали Тексты для сайта: как писать, чтобы читали и покупали Как выбрать тему для страницы и построить текст, который просматривают глазами и дочитывают, чем заменить оценочные формулировки, как переработать существующую 30-08-2026 Читать Автоматизация бизнеса: CRM, ERP и искусственный интеллект Автоматизация бизнеса: CRM, ERP и искусственный интеллект С чего начинать автоматизацию и что автоматизировать в первую очередь, чем различаются CRM, ERP и системы документооборота, внедрять по модулям или всё сразу, г 30-08-2026 Читать Как устроена разработка: технологии, тестирование и инструменты Как устроена разработка: технологии, тестирование и инструменты Из чего состоит веб-проект, как выбирают язык, фреймворк и базу данных, зачем нужны тестирование и контроль версий, где заканчиваются возможности low-code и ген 30-08-2026 Читать Создание сайта: от технического задания до запуска Создание сайта: от технического задания до запуска Проекты срываются не из-за технологий, а из-за неясных договорённостей. Разбираем весь путь создания сайта: как сформулировать цель, что должно быть в техническ 30-08-2026 Читать
Обсудить проект