
Про скорость сайта обычно говорят одной фразой: «надо сжать картинки и включить кэш». Иногда это помогает, чаще — нет, потому что секунды теряются совсем в другом месте. Время загрузки складывается из нескольких независимых этапов, и оптимизировать надо тот, который у вас реально длинный. Ниже — механика процесса без привязки к конкретной CMS: где именно уходит время, чем его мерить и какие действия дают наибольший эффект на единицу усилий.
Из чего складывается время загрузки
Разложим путь от клика до полностью готовой страницы на этапы. Каждый из них измеряется отдельно и лечится по-своему.
| Этап | Что происходит | Кто отвечает |
|---|---|---|
| Сеть и DNS | Поиск адреса сервера, установка соединения, TLS | Хостинг, DNS-провайдер, настройки протокола |
| Ответ сервера (TTFB) | Генерация HTML: запросы к базе, шаблонизация | Код, база данных, кэш, мощность сервера |
| Загрузка ресурсов | Скачивание стилей, скриптов, шрифтов, изображений | Вес и количество файлов, порядок подключения |
| Рендеринг | Построение и отрисовка страницы браузером | Блокирующие ресурсы, тяжёлые скрипты |
| Интерактивность | Страница начинает отвечать на действия | Объём выполняемого JavaScript |
Ключевая мысль: этапы последовательны только частично. Если сервер думает две секунды, никакая оптимизация картинок эти две секунды не вернёт. И наоборот, мгновенный сервер не спасёт страницу, которая тянет тридцать скриптов сторонних сервисов.
TTFB: первый подозреваемый
Время до первого байта — это интервал между запросом и первым куском ответа. Оно показывает, сколько сервер потратил на подготовку страницы. Хорошее значение измеряется сотнями миллисекунд, плохое — секундами.
Типичные причины большого TTFB, в порядке частоты встречаемости:
- Нет кэширования результата. Каждый запрос заново собирает страницу из базы, хотя её содержимое не менялось неделями.
- Медленные запросы к базе. Отсутствие индексов, выборка всего каталога вместо нужной страницы, десятки запросов в цикле.
- Дешёвый общий хостинг. На сервере сотни сайтов, ресурсы делятся между всеми, и ваш ответ ждёт очереди.
- Синхронные обращения к внешним сервисам. Страница на сервере ждёт ответа от чужого API — курса валют, остатков на складе, виджета отзывов.
- Устаревшая версия языка и окружения. Обновление интерпретатора на пару мажорных версий иногда даёт ускорение без единой правки в коде.
Проверять TTFB надо не с одного компьютера и не один раз: он плавает в зависимости от нагрузки. Разница между первым и повторным запросом покажет, работает ли кэш.
Вес страницы: где он набирается
Второй крупный источник задержек — объём того, что браузер должен скачать. Здесь порядок вклада почти всегда один и тот же.
| Ресурс | Типичная доля веса | Что делать |
|---|---|---|
| Изображения | Наибольшая | Современные форматы, реальные размеры, отложенная загрузка |
| Скрипты | Вторая по величине | Убрать неиспользуемое, разнести по страницам, отложить |
| Шрифты | Заметная | Оставить нужные начертания, локальный хостинг, подмена на системный |
| Стили | Небольшая | Удалить неиспользуемые правила, объединить |
| Видео и встраивания | Может быть решающей | Подгружать по клику, ставить превью-картинку |
С изображениями работает простое правило: браузер не должен скачивать пиксели, которые не будут показаны. Фотография шириной три тысячи точек, выведенная в блоке шириной четыреста, — это выброшенный трафик. Отдавайте несколько размеров под разные экраны и обязательно указывайте размеры в разметке, иначе страница будет прыгать при загрузке.
Со скриптами сложнее, потому что их обычно ставят маркетологи, а удалять боятся все. Сделайте ревизию: какие счётчики, виджеты, чаты и пиксели реально используются, а какие висят с позапрошлой рекламной кампании. На проектах, где я проводил такую чистку в рамках доработки сайта, отключение неиспользуемых сторонних скриптов давало больше, чем недели работы над картинками.
Рендеринг: почему страница «белая» несколько секунд
Даже лёгкая страница может показываться медленно, если браузеру мешают начать отрисовку. Блокирующие ресурсы — стили и скрипты, подключённые так, что построение страницы останавливается до их загрузки.
- Скрипты в начале документа без атрибутов отложенной загрузки блокируют разбор HTML.
- Один огромный файл стилей задерживает первую отрисовку целиком, хотя для первого экрана нужна малая его часть.
- Шрифт, который грузится до отрисовки текста, оставляет пользователя перед пустым местом. Настройка отображения запасного шрифта решает проблему.
- Контент, который дорисовывается скриптом после загрузки, появляется позже и вызывает смещение всего, что ниже.
Практическое правило: всё, что нужно для первого экрана, должно приходить как можно раньше и без посредников. Всё остальное — откладывается.
Какие метрики измерять
Мерить «сайт грузится за столько-то секунд» бессмысленно: у разных пользователей разные каналы и устройства. Работайте с набором метрик, каждая из которых отвечает за свой этап.
| Метрика | Что отражает | На что смотреть |
|---|---|---|
| TTFB | Скорость работы сервера | Разброс между запросами, эффект кэша |
| Отрисовка крупнейшего элемента | Когда пользователь видит основной контент | Что именно является этим элементом |
| Задержка отклика на действие | Готовность страницы к взаимодействию | Объём скриптов, выполняемых при загрузке |
| Смещение макета | Стабильность вёрстки | Изображения и блоки без заданных размеров |
| Общий вес и число запросов | Нагрузку на канал | Долю каждого типа ресурсов |
Отдельно разделяйте лабораторные и полевые данные. Лабораторный тест — это замер в искусственных условиях, он хорош для сравнения «до и после». Полевые данные собираются с реальных посетителей и отражают то, что видит ваша аудитория на своих телефонах в своих сетях. Расхождение между ними нормально; решения принимайте по полевым, а гипотезы проверяйте лабораторными.
Что даёт наибольший эффект
Если расставить работы по соотношению «результат к трудозатратам», порядок получается примерно такой.
- Кэширование готового ответа. Самая крупная разовая победа на любом сайте с динамической генерацией страниц.
- Ревизия сторонних скриптов. Бесплатно, быстро, часто снимает секунды с интерактивности.
- Работа с изображениями. Форматы, размеры, отложенная загрузка. Даёт стабильный выигрыш по весу.
- Сжатие текстовых ресурсов и корректные заголовки кэша. Настраивается на сервере один раз.
- Перенос на нормальный хостинг. Если TTFB не лечится кодом, лечится железом.
- Сеть доставки контента. Осмысленна при географически распределённой аудитории, бесполезна при аудитории одного города.
- Микрооптимизация стилей. Последний пункт: трудоёмко, эффект скромный.
Порядок не догма, но начинать с последнего пункта точно не стоит. Сначала измерьте, потом решайте: конкретный сайт может страдать от одной-единственной причины, и тогда весь остальной список не нужен.
Скорость и позиции: как это связано на самом деле
Скорость — фактор ранжирования, но слабый и пороговый. Ускорение с трёх секунд до одной вряд ли само по себе поднимет вас с двадцатого места на первое: если контент не отвечает запросу, быстрая страница останется быстрой и ненужной. Зато медленный сайт теряет дважды — на обходе роботом и на пользователях, которые уходят до загрузки.
Экономически скорость почти всегда окупается через конверсию, а не через позиции. И работает это одинаково для органики и для платного трафика: медленная посадочная одинаково сжигает и SEO-визиты, и бюджет на контекстную рекламу.
Чего делать не стоит
- Гнаться за максимальным баллом в сервисе оценки. Балл — это модель, а не выручка; после определённого предела вы ломаете функциональность ради цифры.
- Включать агрессивную минификацию и объединение файлов без последующей проверки: чаще всего именно так ломаются формы и корзина.
- Ставить полностраничный кэш на сайт с динамическими формами и персонализацией, не разобравшись с исключениями.
- Оптимизировать только главную. Пользователи из поиска приходят на внутренние страницы, и мерить надо их.
- Откладывать загрузку изображений первого экрана: пользователь увидит пустоту вместо главной картинки.
- Подключать сеть доставки контента как универсальное лекарство от медленного сервера. Она ускоряет отдачу статики, а не генерацию страницы.
- Сравнивать замеры, сделанные в разное время суток и с разных устройств, и делать из этого выводы.
Частые вопросы
Какая скорость считается нормальной? Ориентир простой: основной контент должен появляться примерно за две секунды на мобильном интернете среднего качества, а сервер отвечать за доли секунды. Абсолютные цифры менее важны, чем то, что вы не хуже конкурентов в своей выдаче.
Почему сервис показывает разные результаты при повторных проверках? Замер зависит от загрузки тестового узла, состояния кэша, работы сторонних скриптов. Делайте несколько прогонов и смотрите на медиану, а не на единичный результат.
Ускорит ли сайт переход на более дорогой тариф хостинга? Поможет, если узкое место — процессор или память сервера, то есть если у вас большой TTFB и он растёт под нагрузкой. Если страница весит десять мегабайт, тариф не изменит ничего.
Нужно ли ускорять сайт, если трафик небольшой? Да, но с оглядкой на приоритеты. При малом трафике деньги обычно быстрее приносят работа с семантикой, SEO-статьи и продающие блоки. Скорость становится критичной, когда посетители уже идут и вы теряете их на загрузке.
Влияет ли скорость на индексацию? Косвенно. Робот выделяет на сайт ограниченное время: чем быстрее отвечает сервер, тем больше страниц он успевает обойти за визит. На крупных каталогах это заметно, на сайте из тридцати страниц — почти нет.
Чеклист по скорости
- Замерены TTFB, отрисовка основного контента, отклик и смещение макета — на типовых страницах, а не только на главной.
- Проверена разница между первым и повторным запросом: кэш работает.
- Есть полевые данные от реальных посетителей, отдельно по мобильным и десктопу.
- Изображения отдаются в современных форматах и в размере, соответствующем месту вывода.
- У всех изображений и встраиваемых блоков заданы размеры, макет не прыгает.
- Проведена ревизия сторонних скриптов, неиспользуемые отключены.
- Скрипты не блокируют разбор документа, критичные стили приходят первыми.
- Шрифты ограничены нужными начертаниями, текст не ждёт их загрузки.
- Сжатие текстовых ресурсов включено, заголовки кэша выставлены.
- После каждой оптимизации проверены формы, корзина и оформление заказа.
- Результат зафиксирован до и после, чтобы понимать, что именно сработало.
Скорость — редкий случай, когда техническая работа видна невооружённым глазом. Но добиться её можно только измерением: не догадками про картинки, а последовательным разбором этапов. Найдите свой длинный этап — и большая часть проблемы решится одним изменением.
Если нужно раскрутка сайта в Яндексе — помогу вывести сайт в топ Яндекса и удержать позиции.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →