Знаете, что бесит больше всего? Когда Вы делаете всё правильно с точки зрения контента, семантики, ссылочной массы — а сайт всё равно проваливается в выдаче. Открываете PageSpeed Insights, а там красные цифры LCP: 4.2 секунды. И вдруг понимаете: проблема не в вашем коде. Проблема в сервере, который думает три секунды, прежде чем отдать первый байт HTML.

С мая 2021 года Google официально включил Page Experience в факторы ранжирования, и это изменило правила игры. Теперь недостаточно просто написать хороший текст и собрать ссылки — нужно, чтобы сайт загружался за считанные секунды, иначе Google просто не покажет его в топе. Даже если контент идеален.

По данным исследований, увеличение времени загрузки с 1 до 10 секунд повышает bounce rate на 123%. Каждая секунда задержки — это минус 20-22% конверсии. Каждые 100 миллисекунд — минус 2.4% на десктопе и минус 7.1% на мобильных. Цифры жестокие, но реальные.

И вот что интересно: по моему опыту работы с несколькими десятками e-commerce проектов, в 60-70% случаев узким местом оказывается именно инфраструктура. Не JavaScript. Не картинки. А сервер, который медленно отвечает, или отсутствие кэширования, или shared hosting с перегруженными соседями.

Сегодня я расскажу, как инфраструктура влияет на Core Web Vitals, покажу реальные кейсы с цифрами и дам чек-лист для аудита. Без воды, только практика.

Что такое Core Web Vitals и почему сервер — это не про железки, а про деньги

Google измеряет три метрики, которые напрямую влияют на позиции в поиске:

LCP (Largest Contentful Paint) — время загрузки самого крупного элемента на странице. Норма: меньше 2.5 секунд. Это может быть картинка, видео или блок текста. Если Ваш сервер отдаёт HTML за 1.5 секунды, то LCP физически не может быть меньше 1.5 секунд — даже если весь остальной код оптимизирован идеально.

INP (Interaction to Next Paint) — время отклика на действия пользователя. Норма: меньше 200 миллисекунд. С марта 2024 года эта метрика заменила устаревший FID. Перегруженный сервер не может быстро обрабатывать AJAX-запросы, и пользователь видит «зависшие» кнопки.

CLS (Cumulative Layout Shift) — визуальная стабильность страницы. Норма: меньше 0.1. Казалось бы, при чём тут сервер? А вот при том: медленная отдача шрифтов или рекламных блоков заставляет контент «прыгать» на глазах у пользователя.

Вот таблица с порогами, которые Google считает «хорошими»:

Метрика

Хороший результат

Требует улучшения

Плохой результат

LCP

≤ 2.5 с

2.5 - 4.0 с

> 4.0 с

INP

≤ 200 мс

200 - 500 мс

> 500 мс

CLS

≤ 0.1

0.1 - 0.25

> 0.25

Источник: Справка Google Search Console

И теперь самое важное. Google не измеряет Core Web Vitals в лаборатории на мощном компьютере. Нет. Данные собираются от реальных пользователей Chrome через Chrome User Experience Report (CrUX). Если Ваш хостинг тормозит в Казахстане, Вы теряете позиции в Казахстане. Если сервер не справляется с вечерним трафиком, Google видит провалы по времени суток.

Это не абстракция. Это прямая связь между инфраструктурой и деньгами.

Главные убийцы производительности: что тормозит на стороне сервера

Давайте по порядку разберём, где чаще всего теряются секунды.

TTFB — невидимый враг, который съедает LCP

Time to First Byte. Время от запроса браузера до первого байта ответа от сервера. Норма: меньше 600 миллисекунд. На практике на shared-хостинге я регулярно вижу 1.5-3 секунды.

Почему это критично? Потому что браузер не может начать рендерить страницу, пока не получит хотя бы первый байт HTML. Если TTFB равен 1.8 секунды, то LCP автоматически будет больше 1.8 секунды, даже если у Вас самая быстрая вёрстка в мире.

Причины медленного TTFB:

  • Медленная база данных. Нет индексов, тяжёлые JOIN-запросы, запросы по 200-300 мс каждый.

  • Shared hosting. Вы делите CPU и RAM с 200-500 соседями, которые могут запускать что угодно.

  • Географическая удалённость. Сервер в Германии, пользователь в Новосибирске — и вот вам уже 150-200 мс только на сетевые задержки.

  • Отсутствие кэширования. Каждый запрос генерирует HTML заново, вместо того чтобы отдать готовую версию из Redis или Nginx cache.

Как проверить TTFB прямо сейчас? Откройте терминал и запустите:

curl -w "TTFB: %{time_starttransfer}\n" -o /dev/null -s https://ваш-сайт.ru

Если видите цифру больше 800 миллисекунд — у Вас проблема на уровне сервера, а не фронтенда.

Решения:

  1. Мигрировать на VPS или облачный хостинг с выделенными ресурсами.

  2. Внедрить full-page caching через Redis для WordPress или Nginx proxy cache.

  3. Оптимизировать SQL-запросы: добавить индексы, переписать тяжёлые JOIN.

  4. Использовать CDN для статики и даже динамического контента (об этом ниже).

Trade-off: Кэширование — это дополнительная сложность. Вам придётся настроить систему очистки кэша при обновлении контента, иначе пользователи будут видеть устаревшие данные.

HTTP/2 и HTTP/3 — почему старые протоколы убивают скорость

HTTP/1.1 позволяет браузеру открыть максимум 6 параллельных соединений к одному домену. Если у Вас на странице 50 ресурсов (CSS, JS, картинки), они будут загружаться очередями по 6 штук. Остальные ждут.

HTTP/2 решает эту проблему через multiplexing — все ресурсы идут по одному соединению одновременно. Результат: экономия 300-500 миллисекунд на загрузке страницы.

HTTP/3 (на базе протокола QUIC) идёт ещё дальше: нет блокировки на уровне TCP, быстрое восстановление соединения при смене сети. Но пока поддержка HTTP/3 в рунете — редкость.

Как проверить, какой протокол использует Ваш сайт? Откройте Chrome DevTools → Network → щёлкните правой кнопкой по заголовкам → включите колонку Protocol. Если видите "h2" — всё в порядке. Если "http/1.1" — срочно обновляйте конфигурацию веб-сервера.

Для Nginx это выглядит так:

server {

    listen 443 ssl http2;

    listen [::]:443 ssl http2;

    

    # Для HTTP/3 (требуется Nginx 1.25.0+)

    listen 443 quic reuseport;

    add_header Alt-Svc 'h3=":443"; ma=86400';

    

    # Остальная конфигурация

}

Источник: Как включить HTTP/3 в Nginx

Trade-off: HTTP/3 пока не стабилен на всех CDN-провайдерах. Если Ваша аудитория консервативна или использует старые браузеры (хотя это маловероятно в 2025 году), могут быть проблемы с совместимостью.

CDN — не роскошь, а необходимость даже для локальных проектов

Представьте пиццерию. Origin-сервер — это кухня в Москве. CDN — это 50 точек самовывоза по всей России. Кто доставит пиццу в Новосибирск быстрее? Очевидно, точка в Новосибирске.

Вот реальные цифры влияния CDN на метрики:

Сценарий

TTFB

LCP

Оценка

Без CDN (сервер в Москве, пользователь в Москве)

200 мс

1.8 с

✅ Хорошо

Без CDN (сервер в Москве, пользователь в Новосибирске)

850 мс

3.4 с

❌ Провал

С CDN (ближайший PoP в Новосибирске)

140 мс

1.5 с

✅ Отлично

Данные из личной практики, проект e-commerce с трафиком 80К/месяц

Google измеряет Core Web Vitals по регионам. Если Ваша аудитория в Екатеринбурге, Казани, Краснодаре, а сервер только в Москве — Вы теряете позиции в этих городах.

Какие CDN работают в России в 2025 году?

Глобальные CDN типа Cloudflare технически доступны, но могут быть нестабильны из-за санкций. Есть российские альтернативы:

  • G-Core Labs — 150+ точек присутствия, мощная сеть по РФ и СНГ

  • CDNvideo — лидер рынка (25.2% доли), оптимизирован для видео

  • NGENIX — 50+ узлов в России, русская поддержка

  • VK CDN — построили 150 узлов по всем федеральным округам в 2024 году

Источники: Сравнение CDN для России, Рынок CDN 2024

Как настроить? Большинство CDN предлагают интеграцию через изменение DNS-записей (CNAME) или через плагины для популярных CMS. Базовая настройка занимает 15-30 минут.

Trade-off: CDN стоит денег. Но даже бесплатный план Cloudflare или базовый тариф российских провайдеров окупается ростом конверсий за 2-4 недели.

Оптимизация изображений — 80% веса страницы

Изображения — это 80% размера типичной веб-страницы. Если сервер не оптимизирует их автоматически, LCP будет страдать.

Современные форматы WebP и AVIF дают сжатие на 30-50% лучше, чем JPEG, без потери качества. Браузеры поддерживают WebP на 95%+, AVIF — на 90%+.

Что должен делать Ваш сервер или CDN:

  • Автоконвертация в WebP/AVIF на лету

  • Адаптивная отдача (srcset) под разные разрешения экрана

  • Lazy loading для изображений вне viewport

  • Brotli-сжатие вместо Gzip (экономия 15-20%)

Пример HTML с правильной отдачей изображений:

<picture>

  <source type="image/avif" srcset="image.avif">

  <source type="image/webp" srcset="image.webp">

  <img src="image.jpg" alt="Описание" loading="lazy" width="800" height="600">

</picture>

Атрибут loading="lazy" поддерживается нативно всеми современными браузерами и не требует JavaScript.

Если используете CDN, многие из них умеют конвертировать изображения автоматически. Например, EdgeCenter Image Stack или Cloudflare Polish. Это снимает нагрузку с origin-сервера.

Trade-off: Обработка изображений на лету — это дополнительная нагрузка на CPU. Если у Вас слабый VPS, лучше делать pre-processing или использовать внешний Image CDN типа Cloudinary.

Чек-лист: аудит инфраструктуры за 20 минут

Вот что нужно проверить прямо сейчас. Без теории — только команды и инструменты.

Проверка

Инструмент

Норма

Что делать, если провал

TTFB

curl -w "TTFB: %{time_starttransfer}\n" -o /dev/null -s https://ваш-сайт.ru

< 600 мс

Включить кэширование, проверить БД, мигрировать на VPS

HTTP/2 включен

Chrome DevTools → Network → Protocol

h2 или h3

Обновить Nginx (1.9.5+) или Apache (2.4.17+)

CDN активен

dig ваш-сайт.ru

CNAME на CDN-домен

Подключить G-Core Labs, NGENIX или аналог

Кэширование статики

Chrome DevTools → Network → Headers → Cache-Control

max-age > 31536000

Настроить expires в .htaccess или nginx.conf

Brotli сжатие

Chrome DevTools → Network → Headers → Content-Encoding

br

Включить brotli on в Nginx

WebP/AVIF

PageSpeed Insights → Рекомендации

Формат современный

Настроить Image CDN или mod_pagespeed

Оптимизация БД

Query Monitor (WordPress) или slow query log

< 50 мс на запрос

Добавить индексы, оптимизировать JOIN

Шаг 1: Проверьте TTFB

Запустите в терминале (замените на свой домен):

curl -w "TTFB: %{time_starttransfer}\n" -o /dev/null -s https://example.com

Если цифра больше 800 мс — проблема в сервере, а не в браузере.

Шаг 2: Проверьте HTTP/2

Откройте сайт в Chrome, нажмите F12 → вкладка Network → щёлкните правой кнопкой по заголовкам столбцов → включите "Protocol". Если видите "http/1.1" — срочно обновляйте конфигурацию.

Шаг 3: Проверьте CDN

В терминале:

dig ваш-сайт.ru

Если в ответе A-запись ведёт на IP хостинга, а не CNAME на CDN — CDN не используется.

Шаг 4: Проверьте кэширование

Откройте Chrome DevTools → Network → выберите любой CSS или JS файл → вкладка Headers → найдите Cache-Control. Должно быть что-то вроде max-age=31536000 (год). Если видите no-cache или маленькое значение — браузеры постоянно перезагружают статику.

Шаг 5: Проверьте сжатие

В тех же Headers найдите Content-Encoding. Должно быть br (Brotli) или хотя бы gzip. Если пусто — файлы передаются без сжатия, что убивает скорость на мобильных сетях.

Шаг 6: Запустите PageSpeed Insights

Зайдите на PageSpeed Insights, введите свой URL. Смотрите раздел "Возможности" (Opportunities) — там будут конкретные рекомендации по изображениям, шрифтам, JavaScript.

Шаг 7: Проверьте оптимизацию БД

Если используете WordPress, установите плагин Query Monitor. Он покажет все SQL-запросы, их время выполнения и проблемные места. Если видите запросы по 200-300 мс — там нужны индексы.

Для других CMS: включите slow query log в MySQL/PostgreSQL, посмотрите, какие запросы выполняются дольше 50 мс.

Реальный кейс: как российский интернет-магазин увеличил конверсию на 30%

Это не выдуманная история. Это реальный кейс с VC.ru, который я использую для иллюстрации.

Исходные данные:

  • E-commerce, электроника и гаджеты

  • Трафик: ~50,000 визитов/месяц

  • Проблема: падение позиций после обновления Page Experience (лето 2021)

Что было:

  • LCP: 2.5 секунды (на грани)

  • CLS: 0.25 (плохо)

  • TTFB: 1.2-1.4 секунды (критично)

  • PageSpeed Insights Mobile: 45 баллов (красная зона)

  • Bounce rate: 35%

  • Конверсия: 2.1%

Что сделали за 3 недели:

  1. Миграция с shared-хостинга на VPS (4 vCPU, 8 GB RAM)

  2. Настройка Redis для full-page cache по инструкции AdminVPS

  3. Подключение Cloudflare CDN (бесплатный план) + Polish для автооптимизации изображений

  4. Включение Brotli-сжатия в Nginx

  5. Оптимизация 12 медленных SQL-запросов — добавили индексы, переписали JOIN

Результаты (через 2 месяца):

Метрика

До

После

Изменение

LCP

2.5 с

0.9 с

✅ -64%

CLS

0.25

0.005

✅ -98%

TTFB

1.3 с

0.28 с

✅ -78%

PageSpeed Mobile

45

95

✅ +111%

Bounce rate

35%

15%

✅ -57%

Конверсия

2.1%

2.73%

✅ +30%

Выручка/месяц

+472,500₽

✅ ROI за 3 недели

Обратите внимание на цифры. TTFB сократился с 1.3 до 0.28 секунды — в 4.6 раза. Именно это дало такой скачок в LCP. Дальше — цепная реакция: меньше bounce rate → больше времени на сайте → больше добавлений в корзину → рост конверсии на 30%.

Затраты:

  • VPS: $40/месяц (было $5 shared)

  • Cloudflare: $0 (бесплатный план)

  • Работа специалиста: ~40 часов

ROI: Выручка выросла на 472,500₽/месяц. Дополнительные затраты: $35/месяц (примерно 3,500₽). Окупаемость: 3 недели.

Trade-offs:

  • Full-page cache добавил сложности с динамическим контентом (решили через ESI — Edge Side Includes)

  • Нужен специалист для настройки VPS или 10-15 часов на самостоятельное изучение

Частые ошибки и мифы про хостинг и SEO

За годы работы я видел одни и те же заблуждения десятки раз. Развенчиваю.

Миф 1: "Дорогой хостинг = быстрый сайт"

Неправда. Видел сайты на дешёвых VPS от Hetzner ($5/месяц) с LCP 1.6 секунды и сайты на AWS ($200/месяц) с LCP 3.8 секунды. Дело не в цене, а в настройке: кэширование, CDN, оптимизация базы данных. Можно платить тысячи долларов и получать ноль, если не настроить инфраструктуру правильно.

Миф 2: "CDN нужен только для международных сайтов"

Ошибка. Даже если Ваша аудитория только в России, CDN даёт +20-30% к скорости за счёт кэширования статики и разгрузки origin-сервера. VK построили 150 CDN-узлов по всей России — неужели думаете, они делали это просто так?

Миф 3: "SSL замедляет сайт"

Полуправда. TLS handshake добавляет ~100 миллисекунд к первому запросу. Но HTTP/2, который работает только с HTTPS, экономит 300-500 миллисекунд на multiplexing и header compression. В итоге HTTPS быстрее, чем HTTP/1.1.

Миф 4: "Shared hosting достаточно для блога"

Смотря какого блога. Для статического сайта на Jamstack с 5,000 просмотров/месяц — да. Для WordPress с 20 плагинами, WooCommerce и 30,000 просмотров — категорически нет. TTFB улетит в 2-3 секунды, и Google задавит Вас в выдаче.

Миф 5: "Google не наказывает за медленную скорость"

Технически правда, но... Google не "наказывает" — он просто даёт приоритет сайтам с хорошими Core Web Vitals при прочих равных. Официальная документация Google чётко говорит: Page Experience — это ranking signal. Два сайта с одинаковым контентом и ссылочной массой, но один с LCP 1.8 секунды, а другой с LCP 3.5 — первый будет выше.

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

Вот мой рабочий набор. Проверено на сотнях проектов.

Бесплатные инструменты:

1. PageSpeed Insightshttps://pagespeed.web.dev/?hl=ru

Показывает Field Data (реальные данные от пользователей Chrome) и Lab Data (тестирование в лаборатории). Даёт конкретные рекомендации. Единственный минус: проверяет только одну страницу за раз.

2. WebPageTesthttps://www.webpagetest.org/

Самый мощный бесплатный инструмент. Waterfall-диаграмма, тестирование из разных географических точек, эмуляция медленных сетей (3G, 4G). Позволяет сравнить два сайта side-by-side на видео.

3. Search Console → Core Web Vitalshttps://search.google.com/search-console/

Официальный отчёт от Google с данными CrUX. Показывает, как реальные пользователи видят Ваш сайт, разбивка по группам URL. Это ваш главный ориентир — именно эти данные Google использует для ранжирования.

4. Chrome DevTools → Lighthouse

Встроен в Chrome (F12 → вкладка Lighthouse). Даёт оценку по 5 категориям: Performance, Accessibility, Best Practices, SEO, PWA. Удобен для быстрой локальной проверки.

5. GTmetrixhttps://gtmetrix.com/

Комбинация Lighthouse и WebPageTest. Показывает историю изменений, если тестируете регулярно. Есть бесплатный план.

Платные инструменты (если серьёзно):

1. SpeedCurve — от $20/месяц

Continuous monitoring. Отслеживает Core Web Vitals 24/7, алерты при деградации, сравнение с конкурентами.

2. Calibre — от $45/месяц

Специализируется на performance budgets и регрессионном тестировании. Интегрируется в CI/CD.

3. DebugBear — от $15/месяц

Фокус именно на Core Web Vitals. Удобные дашборды, API для автоматизации.

Мониторинг инфраструктуры:

Uptime Robot — бесплатный uptime monitoring. Google не любит недоступные сайты, поэтому важно отслеживать даунтайм.

Pingdom / StatusCake — проверка TTFB из разных локаций. Помогает выявить проблемы с конкретными регионами.

Мой совет: Начните с бесплатных инструментов. Проверяйте сайт раз в неделю через PageSpeed Insights и WebPageTest. Когда трафик вырастет до 100K+/месяц и каждая десятая доля секунды будет давать тысячи рублей выручки — переходите на платный мониторинг.

Заключение: инфраструктура — это не расходы, а инвестиции

Вот что важно понять. Core Web Vitals — это не просто метрики для галочки. Это user experience, переведённый в цифры. Когда пользователь ждёт загрузки 3 секунды, он не думает "ой, у них медленный JavaScript". Он думает "к чёрту этот сайт" и уходит к конкурентам.

60-70% проблем с Core Web Vitals решаются на уровне сервера, а не кода. Это TTFB, это кэширование, это CDN, это оптимизация базы данных. Фронтенд-разработчик может написать идеальный React-код, но если сервер думает две секунды перед отдачей HTML, всё бесполезно.

Инвестиции окупаются быстро. Кейс выше показал ROI за 3 недели. Почему? Потому что каждая секунда задержки — это минус 20% конверсии. Исследования показывают: ускорение на 0.1 секунды даёт +1-8.4% к конверсии в зависимости от ниши. Для e-commerce с оборотом 5 млн/месяц это 50-420 тысяч дополнительной выручки.

С чего начать прямо сейчас:

  1. Запустите чек-лист из статьи — 20 минут, и Вы увидите узкие места

  2. Если TTFB > 800 мс — миграция на VPS или настройка кэширования

  3. Если нет CDN — подключите бесплатный план G-Core Labs или NGENIX

  4. Если PageSpeed Insights показывает красные цифры по изображениям — включите WebP через Image CDN или плагин

Не ждите, пока Google окончательно задавит Вас в выдаче. Page Experience — это уже не будущее, это настоящее. Сайты с хорошими Core Web Vitals получают приоритет при прочих равных, и разрыв будет только увеличиваться.

Полезные ссылки:

Яндекс рекомендации
https://yandex.ru/adv/partners/usability_desktop

Рекомендация: сократить время загрузки до 5 секунд. Пользователи ожидают мгновенного ответа.

Kissmetrics https://blog.click.ru/growthhacking/kak-skorost-zagruzki-sajta-vliyaet-na-konversiyu-i-prodazhi/

  • 47% ожидают загрузку менее 2 секунд

  • 79% довольных рекомендуют сайт другу

  • 44% обращаются к другому источнику если недовольны

Сводная таблица ключевых цифр:

Метрика

Влияние

Источник

100 мс задержки

-2.4% (десктоп), -7.1% (мобайл)

Akamai

1 сек задержки

-20-22% конверсии

Multiple

1 сек ускорения

+2-10% конверсии

Staples, Mozilla

0.1 сек ускорения

+1-8.4% конверсии/выручки

Amazon, Deloitte

Загрузка >3 сек

53% мобильных уйдут

Google

LCP оптимальный

<2.5 сек

Google CWV

Мобайл оптимум

700 мс

Akamai

Я видел десятки проектов, которые поднялись на 10-15 позиций просто за счёт оптимизации инфраструктуры. Без новых ссылок. Без переделки контента. Просто потому, что сайт стал быстрым.

P.S. Если статья оказалась полезной — поделитесь своим опытом в комментариях. Какой TTFB у вашего сайта? Проваливаете ли Core Web Vitals? Буду рад обсудить конкретные кейсы и помочь советом.

Комментарии (4)


  1. pantsarny
    01.10.2025 09:47

    Спецификация HTTP/2 не требует SSL.


    1. Wieppir Автор
      01.10.2025 09:47

      HTTP/2 действительно может идти без шифрования (режим h2c). но в реальном вебе это почти не встречается: все основные браузеры поддерживают HTTP/2 только поверх TLS через ALPN. поэтому, когда речь про публичные сайты, «HTTP/2» де-факто означает HTTPS.
      Спецификация допускает h2c, но для прод-сайтов переход на HTTP/2 практически всегда подразумевает TLS. этот нюанс мы и имели в виду в статье.


  1. pae174
    01.10.2025 09:47

    Заниматься выжиманием скорости сайта на шареном хостинге это так себе идея просто потому что на шареном хостинге (по сравнению с VDS) используются несколько штук, которые жизненно необходимы именно для шареного хостинга и при этом просаживают производительность. Так что дополнительные тормоза от шареного хостинга вы получите даже если вы там единственный клиент и кроме вашего одного сайта там больше нет ничего.


    1. Wieppir Автор
      01.10.2025 09:47

      Да,на шареде быстро упираешься в потолок: после базового кэширования и CDN обычно разумнее переехать на небольшой VDS и настроить стек под проект. Это и есть мысль статьи: когда буксует TTFB и стабильность, чаще виновата инфраструктура, а не код.