О компании

Производительность сайта: почему «скорость» — это не PageSpeed, и что чинить первым

Почему «скорость» — это не баллы в отчёте

Владельцы сайтов часто приходят с одной и той же картиной: «PageSpeed показывает 85–95, а пользователи жалуются, что «тормозит»». Это не парадокс и не «каприз пользователей». PageSpeed (и Lighthouse) — полезный инструмент, но он измеряет не то же самое, что ощущает человек и что влияет на конверсию.

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

Типовые симптомы, которые выглядят как «медленный сайт», даже когда баллы PageSpeed приличные:

  • Страница визуально появилась, но кнопки и поля реагируют с задержкой, «не кликается».
  • На Wi‑Fi всё нормально, а в мобильной сети 4G/5G — заметно хуже.
  • Главная и статьи быстрые, а корзина, поиск, личный кабинет — «вязнут».
  • В часы пик сайт заметно медленнее, хотя утром «летает».
  • После добавления чата/коллтрекинга/пикселей внезапно выросли отказы.

Из чего складывается производительность: 4 слоя

Чтобы не спорить «про баллы», удобно разложить производительность в рамках поддержки сайта на 4 слоя. Это упрощает диагностику и помогает понять, что чинить первым.

  1. Сеть и доставка контента

    Время загрузки зависит не только от «сайта», но и от пути до пользователя: DNS, TLS, качество канала, расстояние до сервера, наличие CDN. Один и тот же сайт может быть быстрым в офисе и медленным в дороге.

  2. Сервер и бэкенд

    Это всё, что происходит до того, как браузер получит первый «осмысленный» ответ: обработка запроса, работа CMS, PHP/Node, очереди, база данных, внешние API, кэш. Если сервер долго «думает», фронтенд не спасёт.

  3. Фронтенд и рендеринг

    Даже если сервер отдал страницу быстро, браузер ещё должен построить интерфейс: скачать CSS/JS, выполнить скрипты, отрисовать контент. Тяжёлый JS часто превращает «страница загружена» в «страница не готова к работе».

  4. Сторонние скрипты и внешние сервисы

    Аналитика, пиксели, чаты, коллтрекинг, антифрод, виджеты доставки, карты — всё это может замедлять загрузку и отклик. Проблема в том, что эти части «не ваши», но отвечать перед пользователем всё равно вам.

Что измеряет PageSpeed и почему этого недостаточно

PageSpeed Insights и Lighthouse дают лабораторную оценку: симулируют устройство и сеть, прогоняют страницу по набору правил и метрик и собирают рекомендации. Это полезно, но важно понимать ограничения.

Ключевые ограничения лабораторного теста:

  • Тест обычно запускается для одной страницы, а бизнес «живёт» в цепочке страниц и действий.
  • Часто не учитывается авторизация, динамика, работа с корзиной, фильтрами, поиском, личным кабинетом.
  • В реальной жизни устройства слабее, сеть нестабильнее, а на странице больше «маркетинговых» скриптов.
  • Лабораторная «зелень» не покажет деградацию в часы пик и проблемы под нагрузкой.

Поэтому правильная позиция такая: PageSpeed — это индикатор и подсказка, а «истина» — в реальных замерах на ваших пользователях и в ваших сценариях.

Метрики, которые реально связаны с ощущением скорости

Чтобы говорить о скорости предметно, нужны метрики двух типов: пользовательские (что чувствует человек) и технические (что должен лечить инженер).

Пользовательские метрики:

  • LCP: когда на экране появился основной контент (для пользователя это «страница показалась»).
  • CLS: насколько сильно «прыгает» макет при загрузке (раздражает и приводит к мискликам).
  • INP: как быстро интерфейс отвечает на действие (клик, ввод, выбор фильтра).
  • Время до результата: сколько секунд нужно, чтобы завершить ключевое действие: найти товар, добавить в корзину, оплатить.

Технические метрики:

  • TTFB: время до первого байта: показывает задержку на стороне сервера/сети.
  • Время ответа API: задержка и стабильность сервисов (поиск, фильтры, цены, наличие, доставки).
  • Ошибки и таймауты: даже редкие сбои «размазывают» скорость и ломают конверсию.
  • Размер и число ресурсов: сколько весит страница и сколько запросов делает браузер.
  • Cache hit ratio: насколько часто кэш реально срабатывает, а не «настроен на бумаге».

Диагностика без магии: как быстро понять, где узкое место

Ниже — практичный алгоритм, который экономит время и бюджет. Суть: сначала фиксируем сценарии и базовые замеры, затем определяем слой, где «тормозит».

Шаг 1. Выберите «денежные» страницы и сценарии

Сфокусируйтесь на 5–10 точках, которые делают результат:

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

Шаг 2. Разделите проблему на «до HTML» и «после HTML»

Это главный разворот мышления. Если браузер долго ждёт первый ответ — проблема в сети/сервере. Если ответ пришёл быстро, но интерфейс «не живой» — проблема на фронтенде или в сторонних скриптах.

Простая подсказка по симптомам:

Симптом Чаще всего причина Что проверить первым
Высокий TTFB сервер, CMS, БД, кэш, внешние API логи/профилирование, медленные запросы БД, кэширование, таймауты API
«Не кликается», лаги при вводе тяжёлый JS, долгие задачи в main thread, сторонние скрипты INP, нагрузка JS, порядок загрузки, defer/async, отключение скриптов по одному
Плохо в мобильной сети слишком тяжёлая страница, много запросов, нет CDN вес изображений, шрифты, количество запросов, CDN, кэш
Тормозит поиск/фильтры медленное API/БД, отсутствие индексов, перегрузка логики время ответа API, индексы, лимиты, пагинация, кэш результатов
В часы пик медленно нагрузка, очереди, блокировки БД, внешний сервис «плавает» метрики нагрузки, очереди, p95/p99 latency, rate limiting, деградационные режимы

Шаг 3. Снимите реальные замеры (RUM) и сравните с лабораторией

Лаборатория отвечает на вопрос «как было бы в идеальных условиях». RUM (Real User Monitoring) отвечает на вопрос «как у ваших пользователей на самом деле». Для бизнеса второй ответ важнее.

Что чинить первым: приоритеты, которые дают быстрый эффект

Ниже — практическая очередь работ. Она построена так, чтобы сначала убрать «ножницы» конверсии (когда страница вроде грузится, но взаимодействовать невозможно), затем стабилизировать бэкенд и API, и только потом заниматься тонкой полировкой.

Приоритет 1. Сторонние скрипты и «маркетинговая нагрузка»

Самый частый источник деградации в 2026 году — не сервер, а скрипты: чат, коллтрекинг, рекламные пиксели, виджеты, антибот. Они грузятся рано, блокируют поток, добавляют запросы и тяжёлый JS.

Что делать в первую очередь:

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

Приоритет 2. Изображения, шрифты и вес страницы

В мобильной сети цена каждого мегабайта выше, чем кажется. Почти всегда есть быстрый выигрыш на изображениях и шрифтах.

Что даёт эффект обычно быстрее всего:

  • правильные размеры картинок под реальные контейнеры (а не «всё 2000px на всякий случай»);
  • современные форматы и сжатие без потери качества, lazy-load ниже первого экрана;
  • ограничение количества подключаемых шрифтов и начертаний;
  • предзагрузка критичных ресурсов там, где это оправдано.

Приоритет 3. Критический CSS и рендер-блокирующие ресурсы

Если CSS блокирует отрисовку, пользователь видит «белый экран», даже если сервер быстрый. Цель — быстро показать первый экран и сделать макет стабильным.

Приоритет 4. JS: меньше, позже, дробнее

Тяжёлый JavaScript — главный враг интерактивности. Он может сделать так, что «страница загружена», но браузер занят вычислениями и не отвечает.

Типовые действия:

  • убрать лишние библиотеки и дубли;
  • включить code splitting и грузить код по маршрутам/виджетам;
  • перевести часть логики на сервер там, где это уместно;
  • проверить long tasks и оптимизировать обработчики событий (INP).

Приоритет 5. Бэкенд и база данных: лечим TTFB и p95/p99

Если TTFB высокий или «плавает», надо идти в бэкенд: профилирование, логи, трассировка. Важны не средние значения, а хвосты распределения (p95/p99): именно они дают ощущение «то быстро, то тормозит».

Частые причины и быстрые улучшения:

  • медленные запросы БД и отсутствие индексов;
  • N+1 запросы и лишние выборки;
  • отсутствие кэша на результатах, которые повторяются;
  • внешние API без таймаутов и деградационного режима;
  • тяжёлые операции в синхронном пути (их лучше уводить в очередь/фон).

Приоритет 6. CDN и кеширование как инженерная система, а не галочка

CDN и кэширование работают, только если их правильно «подпитывать»: версионирование статики, грамотные заголовки кеша, контролируемая инвалидация. Неправильный кэш создаёт ложное ощущение скорости и приносит баги.

Чек-лист «ускорить за неделю»: 12 действий с максимальной отдачей

  1. Составить список 5–10 ключевых сценариев и URL, которые влияют на деньги.
  2. Снять базовые замеры: TTFB, LCP, INP, процент ошибок и таймаутов по API.
  3. Проверить список сторонних скриптов: что можно убрать, что отложить.
  4. Отложить инициализацию чатов/виджетов до взаимодействия пользователя.
  5. Оптимизировать изображения: размер под контейнер, сжатие, lazy-load.
  6. Ограничить шрифты: меньше семейств и начертаний.
  7. Убрать рендер-блокирующий CSS/JS, вынести критический CSS.
  8. Разрезать JS по маршрутам, убрать тяжёлые библиотеки, проверить long tasks.
  9. Настроить кэширование статики и повторяющихся данных, проверить cache hit ratio.
  10. Профилировать «денежные» запросы: медленные SQL, индексы, N+1.
  11. Ограничить и стабилизировать внешние API: таймауты, ретраи, деградационные режимы.
  12. Проверить поведение в часы пик: p95/p99 задержек, очереди, лимиты.

FAQ

Почему PageSpeed 90, а пользователи жалуются на тормоза?

Потому что лабораторный тест оценивает страницу «в среднем», а пользователи сталкиваются с конкретными сценариями: авторизация, фильтры, корзина, нестабильная сеть, слабые устройства и сторонние скрипты. Баллы могут быть зелёными, а интерфейс — неинтерактивным из-за тяжёлого JS или виджетов.

Что важнее: TTFB или Core Web Vitals?

Зависит от симптома. Высокий TTFB лечится бэкендом/БД/кэшем и влияет на всё сразу. Core Web Vitals (LCP/CLS/INP) чаще указывают на фронтенд, вес страницы и отклик интерфейса. В идеале вы контролируете оба слоя, но приоритизируете по «денежным» сценариям.

Нужно ли сразу покупать более мощный сервер?

Часто нет. Сначала стоит убедиться, что тормоза не в JS, картинках, сторонних скриптах, медленных запросах БД и внешних API. Апгрейд сервера помогает, когда доказана серверная проблема под нагрузкой (по метрикам и логам), а не «на ощущениях».

Как понять, что тормозит: сервер или фронтенд?

Если долго растёт TTFB — это сеть/сервер. Если TTFB нормальный, но «не кликается» и ввод лагает — это фронтенд/JS/сторонние скрипты. Практический тест: временно отключить часть скриптов и сравнить INP/время до интерактивности.

Что чаще всего замедляет интернет-магазин?

Корзина и оформление: внешние интеграции (доставка/оплата), тяжёлые скрипты, медленный поиск/фильтры, отсутствие кэширования и индексов в БД, а также пиковая нагрузка в «горячие» часы.

С чего начать, если времени мало?

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

Вывод

PageSpeed полезен, но он не равен реальной скорости. Производительность — это стабильное и быстрое выполнение ключевых сценариев у реальных пользователей. Чтобы улучшения давали эффект, нужно: (1) измерять сценарии, (2) понимать слой проблемы, (3) чинить по приоритету — сначала интерактивность и внешние скрипты, затем вес страницы и фронтенд, затем бэкенд/БД и устойчивость под нагрузкой.

Если делать одно действие сегодня: выберите 5–10 ключевых страниц, снимите TTFB + LCP/INP по реальным пользователям и составьте список сторонних скриптов. Этого достаточно, чтобы зафиксировать «карту проблем» и начать чинить то, что действительно влияет на скорость и конверсию.