В этой статье мы подробно разберёмся с термином TTFB (Time To First Byte — дословно с английского — время до (получения) первого байта) и узнаем, как и насколько он влияет на взаимодействие между сайтом и его посетителями.
Уже давно прошли те времена, когда можно было просто сделать сайт «на коленке» и загрузить его на хостинг. Да, было когда-то время, когда поисковые системы глотали сайты, напичканные ключевыми словами, и выводили их в ТОП поисковой выдачи. Тогда поисковые алгоритмы были в зачаточной стадии и их можно было легко обойти. Сейчас всё намного усложнилось и для продвижения сайта даже в ТОП-10 Google дизайнерам, SEO-шникам и разработчикам сайтов нужно приложить немало усилий. Поисковые алгоритмы, выросшие до стадии нейросетей и ИИ (искусственного интеллекта), теперь учитывают огромное количество факторов ранжирования, многие из которых не известны даже гуру SEO.
TTFB – является одним из известных факторов поискового ранжирования. И, хотя, о степени его значимости в общей формуле ранжирования ходят постоянные споры, тем не менее не будет лишним, если при создании и оптимизации своего сайта вы будете учитывать это фактор. И далее мы приведём аргументы, подтверждённые практическими исследованиями, почему стоит это сделать.
Простыми словами TTFB – это время ответа сервера (в миллисекундах), на котором размещён ваш сайт, которое требуется браузеру пользователя для получения первого байта данных после отправки запроса. И, если совсем просто, — то это сколько времени браузер пользователя будет ждать ответа от веб-сервера, где находится ваш сайт.
На практике, взаимодействие между браузером и веб-сервером выглядит следующим образом:
- Пользователь вбивает в адресную строку браузера адрес вашего сайта и нажимает Enter;
- Браузер отправляет запрос на веб-сервер, где размещён ваш сайт;
- Пройдя ряд других, «перевалочных» серверов, запрос от браузера попадает наконец к адресату, где происходит обработка сервером этого запроса и генерация соответствующего ответа;
- Обработав запрос браузера веб-сервер отправляет ему ответ;
- Пользователь видит в своём браузере ваш загрузившийся сайт.
Запрос – Обработка – Ответ. Всё идентично общению людей между собой, ничего нового.
Проверка показателя TTFB
TTFB и ряд других показателей скорости работы сайтов относятся к параметрам, которые можно измерить. Более того, Google любезно предоставил сервис — PageSpeed Insights, который позволяет протестировать ваш сайт на скорость загрузки в реальном времени. Причём протестировать можно как десктопную, так и мобильную версию сайта, т.е. то, с какой скоростью ваш сайт загружается в браузере компьютера или ноутбука, и на смартфоне. И, да, скорости загрузки на разных устройствах будут отличаться.
Вот, к примеру, как выглядят результаты тестирования в сервисе PageSpeed Insights и какие показатели скорости загрузки десктопной версии мы получили по одной из страниц нашего портала (https://hosting-top10.com/cityhost-reviews/).
Как видно из скриншота сервис PageSpeed Insights позволяет получить не только значения скорости загрузки определённой страницы сайта, но и предоставляет некоторые рекомендации по улучшению тех частей страницы, которые были определены, как проблемные.
Помимо всего прочего, в результатах тестирования можно найти и требуемый нам параметр TTFB, который здесь так и называется – «Время до получения первого байта от сервера…». Как видите, благодаря стараниям наших оптимизаторов, значение TTFB находится в «зелёной зоне» – не зря едят свой хлеб, как говорится.
Если раскрыть указанный параметр, то мы увидим, что именно влияет на данный показатель, а также отсылку на страницу с подробным описанием данного параметра и некоторыми общими рекомендациями по улучшению производительности.
Давайте теперь рассмотрим, какие значения TTFB являются отличными, хорошими, требующими внимания и критичными:
- меньше 100 мс. Отличные показатели, не требующие улучшения.
- в диапазоне от 100 мс до 500 мс. Хорошие показатели, которые можно ещё немного улучшить. Если большинство страниц вашего сайта находятся в этом диапазоне, то вы проделали хорошую работу по оптимизации и разместили свой сайт на быстром хостинге, с оптимизированными серверами.
- от 500 мс до 600 мс. Стоит обратить внимание. Это может быть предупреждающим сигналом о том, что в настройках сайта либо сервера нужно что-то улучшить.
- 600 мс и более. Ситуация критична.
Цитата с сайта web.dev: Пользователи не любят, когда страницы загружаются долго. Медленное время ответа сервера является одной из возможных причин долгой загрузки страниц.
Следует отметить, что сервисов, подобных PageSpeed Insights, достаточно много. При этом, некоторые из альтернатив позволяют получить более детальные результаты, а также протестировать заданную страницу с серверов, расположенных в разных локациях по всему миру (что отсутствует в PageSpeed Insights). Например, сервис https://tools.keycdn.com, в котором отдельно можно протестировать скорость, производительность и ряд других параметров.
Ключевое значение TTFB в «жизни» сайта
TTFB с точки зрения Google
Выше мы уже вскользь упомянули о том, что значения TTFB являются частью формулы ранжирования поисковых систем и в той или иной мере влияют на позиции сайта в поисковой выдаче. Давайте поговорим об этом более подробно.
Итак, согласно исследованию, проведённому Moz (moz.com) в далёком 2013 году, было обнаружено, что существует прямая корреляция между скоростью сайта (в частности — TTFB) и его позициями в поисковой выдаче (подробности на скриншоте ниже). К слову, Google заявил о том, что скорость сайта будет включена в общую формулу ранжирования ещё в 2010 году.
Но стоит ли гнаться исключительно за TTFB? Ответ будет отрицательным. TTFB – это один из нескольких показателей скорости сайта. Ведь есть ещё и FCP (First Contentful Paint – первая отрисовка контента), LCP (Largest Contentful Paint – отображение самого большого контента) и ряд других характеристик, которые, в конечном счёте, влияют на общую оценку сайта (в плане скорости и производительности). Их мы также рассмотрим, но уже в других статьях. Тем не менее, стоит учитывать, что чем больше TTFB, тем более высокие значения покажут и другие показатели.
Быстрая загрузка всей страницы сайта – это важно, в первую очередь, для самого посетителя. А вот для поисковой системы (Google), согласно тому же исследованию Moz, корреляции между временем загрузки страницы и позицией в поисковой выдаче не выявлено…
Предлагаем вам самостоятельно ознакомится с данным исследованием – уверяем, это интересно и познавательно, если вы занимаетесь созданием и продвижением сайтов.
TTFB с точки зрения посетителя сайта
Теперь же мы рассмотрим, как TTFB влияет непосредственно на посетителей сайта.
Давайте немного отвлечёмся и представим, что вы находитесь в супермаркете с тележкой, наполненной товаром. Вы подходите к кассе, выкладываете товар на ленту, и кассир начинает пробивать ваш товар. Вот только делает она это чрезвычайно медленно. На других кассах уже давно обслужили по несколько человек, а вы всё ещё стоите и ждёте. Бывало, да? Ну вот. Вы запомните эту кассиршу в лицо и больше никогда в жизни не станете к ней, даже если все другие кассы будут заняты.
Собственно, также происходит и с сайтами. Согласитесь, ведь вашей жизни встречались сайты, открытие и загрузку которых приходилось ждать очень долго. Ну так вот, если вкратце, то пользователи не любят, когда такое происходит и просто либо уходят с такого сайта, либо возвращаются на страницу поисковой выдачи, чтобы найти другой сайт по своему запросу.
Обратимся за помощью снова к исследованиям. Согласно статье, представленной на официальном блоге Google, если мобильная версия сайта загружается более 3-х секунд, около 53% посещений просто прекращаются, т.е. пользователь уходит, не дождавшись загрузки сайта. Также в статье есть выводы о том, что с увеличением времени загрузки страницы растёт и количество отказов пользователей.
Что влияет на значение TTFB и как его можно улучшить
Среди факторов, влияющих на значение TTFB, можно выделить 3 основных, краеугольных, скажем так. Начнём разбираться в них по принципу от простого к сложному.
Локация веб-сервера
Здесь всё предельно просто. Чем ближе физически сервер, на котором размещён ваш сайт, находится к посетителю вашего сайта, тем меньше времени займёт «блуждание» запроса пользователя среди перевалочных серверов, и тем меньше, в результате, будет ответ конечного сервера. Таким образом, если протестировать ваш сайт, который, к примеру, находится в Украине, из разных мировых локаций, то мы получим абсолютно разные значения TTFB. Например, сервер из Бразилии покажет TTFB = 1,2 сек, в то время как сервер из Польши – 0,45 мс.
Исходя из этого старайтесь размещать ваш сайт на серверах, которые физически расположены на одной территории с вашими потенциальными посетителями/клиентами. Да, это важно! Просто может сложится банальная ситуация, при которой у вас будет идеально оптимизированный сайт и профессионально настроенный веб-сервер, но локация этого сервера будет за тысячи километров от ваших посетителей. В результате вы получите критичные значения TTFB только из-за дистанции между серверами.
В качестве примера обратите внимание на различные показатели TTFB, полученные в результате теста уже упомянутой выше страницы нашего портала в сервисе tools.keycdn.com.
Параметры и настройки веб-сервера
Сервер, на котором расположен ваш сайт, играет достаточно значимую роль в корректной и быстрой работе сайта. Сервер – понятие достаточно обширное поэтому, давайте детально разберём те его характеристики, которые имеют решающее значение для производительности и скорости работы сайта.
Аппаратная часть веб-сервера (hardware)
Сюда можно отнести следующие составляющие сервера:
- Тип дисков, на которых работает сервер. Это могут быть давно устаревшие и медленные HDD-диски, всем привычные SSD-диски или же современные высокоскоростные NVMe SSD-диски, которые, примерно, в 12 раз быстрее обычных SSD-дисков. Среди хостингов, представленных в нашем рейтинге, NVMe SSD-диски можно встретить пока только у провайдеров CityHost и HostPro.
- Серверный процессор — CPU. Здесь всё предельно просто – от типа установленного процессора и его характеристик (количество ядер, частота, многопоточность и ряд других параметров) зависит скорость работы самого сервера, а значит и скорость обработки запросов, поступающих к нему.
- Оперативная память. Общий объём памяти, установленный на веб-сервере, её частота, а также объём виртуальной, выделяемой на конкретный тарифный план хостинга. Также влияет на производительность веб-сервера.
По сути, речь идёт о том, что, чем мощнее у вас компьютерное «железо», тем больше производительность самого компьютера.
Программная часть веб-сервера (software)
Вполне логично, что для того, чтобы установленное оборудование работало максимально эффективно, необходимо грамотно его настроить. Достигается это путём работы с программным обеспечением, отвечающим за работу сервера, а именно:
- наличие последних версий PHP. Это влияет на безопасность, производительность, скорость и корректность работы различных скриптов, в частности, CMS-систем таких, как WordPress, Joomla и т.п. PHP – наиболее широко применяемый серверный язык сценариев и программирования, который имеет открытый исходный код и используется в основном для веб-разработки. Согласно тестам одного из крупнейших зарубежных хостинг провайдеров — Kinsta, которые проводятся каждый год, последняя версия php (на момент составления данной статьи – это версия 1) на 47.10% быстрее обрабатывает запросы (количество запросов в секунду), чем версия php 8.0 или более чем на 50% быстрее версии 7.2. Результаты тестирования можно посмотреть на странице PHP Benchmarks.
- Наличие протокола HTTP/2 или HTTP/3. Данный протокол представляет собой правила обмена информацией и взаимодействия между сервером и клиентом (браузером, например). Протокол HTTP/2 позволяет обрабатывать множество запросов к серверу, в отличие от HTTP/1 (устаревшего). HTTP/3 – ещё более быстрее и безопаснее HTTP/2 протокола. Многие хостинги, представленные в нашем рейтинге, уже давно работают по протоколу HTTP/2, тем не менее, в Украине ещё есть ряд провайдеров, которые всё ещё предоставляют услуги на первой версии этого протокола. К примеру, некоторые крупные польские хостинги — Polski Hosting — Ranking и зарубежные хостинги работают уже на версии HTTP/3.
- Возможность настроить на стороне сервера кеширование и сжатие. Позволяет значительно увеличить производительность и скорость работы сайта за счёт меньшего объёма передаваемых данных и меньшего числа запросов к самому серверу.
- Наличие CloudLinux. Это специальная операционная система, которая была разработана для обеспечения стабильной работы виртуального хостинга, в частности для оптимизации работы веб-сервера. Стабильность достигается за счёт изоляции ресурсов, потребляемых каждым пользователем системы. Более подробно об этой ОС можно почитать в статье про CloudLinux нашем портале.
- Наличие последних версий Баз Данных MySQL или MariaDB. Здесь ситуация, аналогичная версиям php – чем новеее, тем лучше, производительнее и быстрее.
Ещё один важный момент – при тестировании своего сайта нужно учитывать такой фактор, как текущая нагрузка на сервер. Вы можете начать тестирование в тот момент, когда, к примеру, на вашем сайте будет пик посещаемости, или же в целом сервер, на котором находится ваш сайт, будет ещё че-то загружен. В таком случае результаты тестирования могут значительно отличаются в худшую сторону от тестов, произведённых в «спокойное» время. Что этого избежать сделайте ряд тестовых замеров в разное время и выведите среднее значение для вашего сайта.
Хотя, с другой стороны, если в моменты пиковых нагрузок ваш сервер «плохо себя ведёт», то это повод задуматься о переезде на более мощный тарифный план либо к другому провайдеру.
Болле того, разные результаты покажут и разные страницы вашего сайта. Значения TTFB для главной страницы сайта, для страницы какой-либо записи в блоге или для страницы товара будут разными. Это зависит от типа и объёма контента, расположенного на странице.
Вышеприведенные параметры приоритетны и важны, скажем так, для грубой настройки, т.е. доступны для простого пользователя, не отягощённого глубокими знаниями о работе хостинга. Для более тонкой и гибкой настройки уже нужны знания и практика работы с сайтами, поэтому остановимся пока на том, что есть. Возможно, в недалёком будущем мы подготовим материал о пошаговой тонкой настройке сервера и сайта для увеличения скорости и производительности.
Настройка оптимизации сайта
Мы рассмотрели требуемые характеристики и параметры веб-сервера, необходимые для нормальной работы сайта на хостинге, теперь перейдём непосредственно к настройкам самого сайта.
- Лёгкий сайт. Вне зависимости от того, на чём сделан ваш сайт (чистый HTML, конструктор сайтов, CMS-система (WordPress, Joomla и т.д.), самописный движок или ещё что-то другое) он должен быть лёгким в плане html-кода, с минимальным количеством различных служебных и пользовательских скриптов. Если вы пользуетесь WordPress, старайтесь не загружать его плагинами потому, что каждый плагин создаёт дополнительную нагрузку на сервер. Кроме того, некоторые плагины часто дублируют определённые функции друг друга. Отключите и удалите плагины, без которых можно обойтись или заменить их более универсальными. Сюда же можно отнести и рекомендации по изображениям (фото, картинки) – они должны быть не большими в плане размера в килобайтах, лучше в байтах.
- Последние версии. Да, это будет всегда актуально. Следите за обновлениями – ваших CMS-систем, плагинов и тем.
- Плагины оптимизации. Используйте доступные плагины, которые работают с кешированием и сжатием данных, в том числе и в области баз данных.
- Один сайт – одна БД. У некоторых провайдеров в тарифных планах есть лимит на количество баз данных, но это можно обойти путём установки нескольких сайтов на одну БД. Рекомендация и предостережение – никогда не делайте такого! У каждого сайта должна быть своя БД.
- .htaccess — файл. Следите за тем, чтобы в этом файле не было слишком много строк с различными правилами и переадресациями. Чем больше файл – тем его труднее обрабатывать веб-серверу.
- CDN — Content Delivery Network. Внешний способ кеширования части контента вашего сайта, что позволяет увеличить скорость его отображения у конечного пользователя. Достигается это за счёт географически распределённой сетевой инфраструктуры, созданной по принципу объединения в одну сеть множества серверов, разбросанных по всему миру. Content Delivery Network в дословном переводе — сеть доставки контента. Есть как платные, так и условно-бесплатные сервисы CDN. Например, можно поработать с Cloudflare – одной из популярных и крупнейших CDN-сетей.
- Размер БД. Следите за тем, чтобы БД вашего сайта не разрасталась и не увеличивалась в размерах. К примеру, на WordPress есть такой момент, что при каждом редактировании записи (поста), в БД сохраняется его предыдущая версия – т.н. ревизия. Не страшно, когда записей немного, но… Настройте плагины оптимизации БД, которые будут следить за этим и периодически делать чистку и оптимизацию БД.
В принципе, материала этой статьи вполне достаточно, чтобы попробовать оптимизировать не только свой сайт, но и выбранного для него хостинг-провайдера (в плане ревизии тарифного плана, характеристик сервера и, возможно, переезда на новый хостинг или VPS).
Если увидите, что ваш сайт нуждается в ускорении, попробуйте вводить улучшения постепенно и поочерёдно просто для того, чтобы на собственном опыте понять, что и как влияет на скорость загрузки.