Главная Статьи Оптимизация

TTFB: время ответа сервера и как его ускорить

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

Что такое TTFB

TTFB (от англ. Time To First Byte) — это время от момента, когда браузер отправил запрос, до момента, когда от сервера пришёл первый байт ответа. Проще говоря, это пауза между «браузер постучался» и «сервер начал отвечать». Только после первого байта браузер начинает получать и рисовать страницу — поэтому большой TTFB задерживает абсолютно всё, что идёт дальше.

🌐
DNS
Браузер узнаёт IP по домену
🤝
Соединение
TCP-рукопожатие с сервером
🔒
TLS
Установка HTTPS-шифрования
⚙️
Обработка
Сервер готовит ответ (код, БД)
📦
Первый байт
Ответ пошёл в браузер

TTFB включает все эти этапы. Чаще всего основная задержка — на этапе обработки на сервере: пока выполняется код, ходят запросы к базе данных, собирается HTML.

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

Ориентиры по времени ответа (для основного документа страницы):

До 200 мс
🟢 Отлично
200–500 мс
🟡 Приемлемо
Больше 600 мс
🔴 Медленно — пора чинить

Google в инструментах скорости предупреждает о TTFB выше ~600 мс. Идеал — уложиться в 200 мс. Конкретное значение зависит от хостинга, географии пользователя и сложности страницы, но порядок именно такой.

Замерить время ответа помогут проверка ответа сервера и тест скорости загрузки. TTFB также показывают PageSpeed Insights и вкладка «Сеть» в инструментах разработчика браузера.

Почему большой TTFB вредит

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

00,5 с1,0 с1,5 с2,0 с TTFB 150 мс TTFB HTML CSS/JS, рендер контент виден TTFB 800 мс TTFB — сервер «думает» HTML рендер контент виден
Одинаковая страница, разный сервер. При большом TTFB браузер всё это время ждёт первый байт, и контент появляется почти на секунду позже — это и видит пользователь, и метрика LCP.

Из чего складывается медленный TTFB

Прежде чем чинить, полезно понять, где теряется время:

Как уменьшить TTFB

🖥 Нормальный хостинг
Перейдите на хостинг/VPS с быстрым ответом. Это часто решает проблему одним шагом.
⚡ Кэширование
Кэшируйте страницы и запросы к БД (страничный кэш, объектный кэш, OPcache). Готовый ответ отдаётся мгновенно.
🌍 CDN
Сеть доставки контента отдаёт страницы с ближайшего к пользователю узла — сокращает сетевую задержку.
🗄 Оптимизация базы
Индексы, лёгкие запросы, удаление мусора в БД — сервер готовит ответ быстрее.
📦 Сжатие и keep-alive
Gzip/Brotli и переиспользование соединений уменьшают накладные расходы.
↩️ Меньше редиректов
Каждый редирект — лишний круг. Уберите цепочки, ведите сразу на конечный URL.
🛠
По теме скорости: как ускорить загрузку сайта, Core Web Vitals, выбор площадки — как выбрать хостинг. Проверить ответ и коды — ответ сервера и статья HTTP-коды ответа.

TTFB и Core Web Vitals: связь с LCP

TTFB не входит в Core Web Vitals напрямую, но он — фундамент LCP (Largest Contentful Paint, отрисовка главного контента). LCP складывается из нескольких частей, и TTFB — самая первая из них: пока сервер не отдал первый байт, отсчёт остальных этапов даже не начался. Если на хороший LCP отводится ориентир до 2,5 секунды, а сервер «съел» 1 секунду только на TTFB, у браузера остаётся слишком мало времени на загрузку и отрисовку — уложиться почти невозможно. Поэтому оптимизацию скорости часто начинают именно с TTFB: это «бесплатная» секунда, которую можно вернуть на стороне сервера, не трогая фронтенд.

Статика против динамики: почему лендинг быстрее CMS

Огромная разница в TTFB между сайтами объясняется просто. Статическая страница (готовый HTML-файл) отдаётся почти мгновенно — серверу нечего «думать». Динамическая (CMS вроде WordPress или Bitrix) на каждый запрос запускает код, ходит в базу, собирает HTML заново — отсюда задержка. Хорошая новость: динамику можно превратить в статику для робота и пользователя с помощью полностраничного кэша. Первый посетитель инициирует сборку страницы, она сохраняется, и все последующие (включая поискового робота) получают готовый HTML с минимальным TTFB. Поэтому на тяжёлых CMS страничное кэширование — это не опция, а первое, что включают для скорости.

TTFB глазами поискового робота

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

Как измерять TTFB правильно

Одно измерение часто вводит в заблуждение — учитывайте нюансы:

Коротко

TTFB — это время от запроса до первого байта ответа сервера, первый барьер скорости. Хорошо — до 200 мс, выше 600 мс — пора чинить. Большой TTFB тормозит загрузку, портит LCP и поведенческие, замедляет индексацию. Складывается он в основном из обработки на сервере: слабый хостинг, тяжёлый код, отсутствие кэша. Лечится нормальным хостингом, кэшированием, CDN, оптимизацией базы данных и уменьшением редиректов. Замерьте время ответа — и если оно большое, начните с хостинга и кэша: обычно это даёт самый заметный эффект.

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

Что такое TTFB простыми словами?
TTFB (Time To First Byte) — это время от момента, когда браузер отправил запрос, до момента, когда от сервера пришёл первый байт ответа. Это пауза между «браузер постучался» и «сервер начал отвечать». Пока первого байта нет, браузер ничего не рисует, поэтому большой TTFB задерживает всю загрузку страницы.
Какой TTFB считается хорошим?
Хорошим считается время ответа до 200 мс. От 200 до 500 мс — приемлемо, а выше 600 мс — медленно, нужно оптимизировать. Google в инструментах скорости предупреждает о TTFB выше ~600 мс. Конкретное значение зависит от хостинга, географии пользователя и сложности страницы.
Чем измерить время ответа сервера?
Используйте проверку ответа сервера и тест скорости загрузки на raskruty.ru, PageSpeed Insights, а также вкладку «Сеть» (Network) в инструментах разработчика браузера — там TTFB виден для каждого запроса. Для серверов подойдёт и команда curl с выводом таймингов.
Почему большой TTFB вредит SEO?
Медленный ответ сервера тормозит всю загрузку и портит метрику LCP из Core Web Vitals, которую учитывает Google. Долгое ожидание ухудшает поведенческие факторы — люди уходят, не дождавшись. Кроме того, при медленном сервере поисковый робот обходит меньше страниц за то же время, и страдает краулинговый бюджет.
Как уменьшить TTFB?
Главные шаги: перейти на быстрый хостинг или VPS; включить кэширование страниц и запросов к базе данных; подключить CDN, чтобы отдавать контент с ближайшего узла; оптимизировать базу (индексы, лёгкие запросы); включить сжатие и keep-alive; убрать лишние редиректы. Чаще всего больше всего помогают смена хостинга и кэш.
Как TTFB связан с LCP и Core Web Vitals?
TTFB не входит в Core Web Vitals напрямую, но он — фундамент LCP (отрисовки главного контента): пока сервер не отдал первый байт, остальные этапы даже не начинаются. Если на хороший LCP отводится до 2,5 секунды, а сервер съел секунду на TTFB, уложиться почти невозможно. Поэтому оптимизацию скорости часто начинают с TTFB — это «бесплатная» секунда, которую возвращают на стороне сервера.
Почему лендинг отвечает быстрее, чем сайт на CMS?
Статическая страница — готовый HTML-файл, серверу нечего считать, ответ почти мгновенный. Динамическая (WordPress, Bitrix) на каждый запрос запускает код, ходит в базу и собирает HTML заново — отсюда задержка. Решение — полностраничный кэш: первый посетитель инициирует сборку, страница сохраняется, и все последующие (включая робота) получают готовый HTML с минимальным TTFB. На тяжёлых CMS это включают в первую очередь.
Как правильно измерять TTFB?
Учитывайте нюансы: меряйте при холодном и прогретом кэше (первый запрос после сборки выше, повторный из кэша ниже), проверяйте из целевых регионов (чем дальше сервер, тем больше задержка), делайте несколько замеров и смотрите на типичное значение, а не на единичный всплеск. И помните, что TTFB относится к основному HTML-документу, а не к времени загрузки всех ресурсов страницы.