Скорость загрузки сайта и SEO: как перестать гнаться за баллами PageSpeed и заняться тем, что реально влияет на ранжирование
Типичная сцена в рабочем чате: «Нам срочно нужно ускорить сайт! PageSpeed показывает 52, клиент требует 90+. Займитесь этим сегодня». Через неделю сайт показывает 94 балла. Позиции в выдаче не изменились. Трафик не вырос. Клиент злой, команда вымотана. Знакомо?
Это не гипотетический сценарий. Я видел десятки сайтов, где погоня за зелёными цифрами в PageSpeed Insights превращалась в бесконечный марафон: убрали тяжёлые картинки – потеряли конверсию, отключили скрипт аналитики – ослепли, переехали на сверхдорогой хостинг – получили +3 балла. А позиции в Яндексе и Google стояли на месте. Потому что между «быстрым сайтом по версии PageSpeed» и «сайтом, который хорошо ранжируется» – дистанция огромного размера.
Google опубликовал данные: вероятность отказа возрастает на 32% при увеличении загрузки с 1 до 3 секунд, на 90% – с 1 до 5 секунд. Amazon подсчитал: каждые 100 миллисекунд задержки стоят 1% продаж. Это не «SEO-метрики». Это прямые потери в деньгах. Но – и это ключевое «но» – зависимость не линейна. Когда сайт переходит из «катастрофически медленного» в «приемлемый», отдача огромна. Когда из «приемлемого» в «идеальный» – стремится к нулю. Грань проходит примерно там, где пользователь перестаёт замечать задержку. Всё, что быстрее этого порога – гонка за баллами, а не за бизнес-результатом.
В этой статье – без мантр про «сжимайте картинки» и «включите кеш». Только то, что реально связывает скорость загрузки с позициями в поиске: какие метрики важны Яндексу, какие – Google, где они расходятся, и как не угробить конверсию в погоне за баллами.
PageSpeed 100 и PageSpeed 45: почему баллы – плохой ориентир для SEO
Начнём с отрезвляющего факта. PageSpeed Insights (PSI) – это симуляция. Он измеряет скорость загрузки в лабораторных условиях: конкретное устройство, конкретная скорость соединения, пустой кеш. Реальные пользователи заходят с сотен разных устройств, на разной скорости, с разным состоянием кеша браузера. Их опыт может радикально отличаться от лабораторной оценки.
Более того – PSI-баллы не являются прямым фактором ранжирования ни в Google, ни в Яндексе. Поисковики используют собственные измерения (Chrome User Experience Report для Google, данные Яндекс.Метрики для Яндекса), и эти цифры часто расходятся с лабораторными.
Вот реальный пример из моей практики аудита: интернет-магазин сантехники. PageSpeed десктоп – 45. Мобильные – 23. По всем «канонам» сайт должен лежать за пределами топ-100. Факт: сайт в топ-5 Яндекса по 40+ коммерческим запросам. Потому что:
- Контент страниц – экспертный и полный: характеристики, видеообзоры, реальные фото с производства, отзывы.
- Цены актуальные, контакты на видном месте, доставка расписана.
- Пользователи, которые заходят на сайт, – целевые. Они готовы подождать 3–4 секунды, потому что ищут конкретный товар, которого нет у конкурентов.
- Яндекс видит: низкий отказ, высокое время на странице, повторные возвраты – и ранжирует сайт высоко, несмотря на скорость.
Обратный пример: лендинг услуги с PageSpeed 98. Идеальные баллы. В топ-50 не входит. Потому что контент – три абзаца воды, цена скрыта, телефон зарыт в подвале, отзывов нет. Пользователь заходит за секунду – и уходит через пять секунд, не найдя ответа. Скорость не спасла.
Вывод: скорость загрузки – это гигиенический фактор. Ниже определённого порога она начинает вредить. Выше – отдача стремится к нулю. Гнаться за 100 баллами, когда контент и поведенческие факторы не проработаны – это как мыть стёкла в машине с заглохшим двигателем.
Что на самом деле измеряет PageSpeed: три метрики, которые имеют значение
Вместо того чтобы смотреть на общий балл, смотрите на три конкретные метрики. Они же – Core Web Vitals Google. Именно их поисковик учитывает при оценке пользовательского опыта.
| Метрика | Что измеряет | Порог «хорошо» | Влияет ли на ранжирование |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Скорость загрузки основного контента. Момент, когда самый большой элемент страницы (изображение, текстовый блок) становится видимым пользователю. | ≤ 2,5 секунды | Да, подтверждённый фактор Google. У Яндекса – косвенно, через поведенческие. |
| INP (Interaction to Next Paint) | Отзывчивость страницы. Задержка между действием пользователя (клик, нажатие клавиши) и реакцией браузера. Заменил FID в марте 2024 года. | ≤ 200 миллисекунд | Да, подтверждённый фактор Google с марта 2024. У Яндекса – нет прямых заявлений. |
| CLS (Cumulative Layout Shift) | Визуальная стабильность. Насколько элементы страницы «прыгают» во время загрузки (кнопка уезжает под палец, текст сдвигается). | ≤ 0,1 | Да, подтверждённый фактор Google. У Яндекса – косвенно, через отказы. |
Что из этого реально важно для SEO:
- LCP – критичен. Если страница грузится дольше 2-2,5 секунд, Google фиксирует «плохой опыт». При прочих равных более быстрая страница обходит медленную. Но «при прочих равных» – ключевая оговорка. Контент и релевантность перевешивают LCP практически всегда.
- INP – важен для интерактивных страниц (калькуляторы, фильтры, формы). Для статей и текстовых страниц – малозначим.
- CLS – важен для всех. Скачущая страница бесит пользователей, они уходят, поисковик фиксирует отказ. Но CLS ≠ скорость. Страница может грузиться мгновенно и иметь CLS 0,3 из-за кривой вёрстки.
Что НЕ влияет на ранжирование: общий балл PageSpeed, Performance Score, TBT (Total Blocking Time), FCP (First Contentful Paint), Speed Index. Эти метрики полезны для диагностики, но не являются сигналами ранжирования.
Яндекс и скорость загрузки: что важно, а что – миф
Яндекс устроен иначе. Он не публикует аналог Core Web Vitals и не привязывает ранжирование к конкретным лабораторным метрикам. Но скорость для него важна – через другой механизм: поведенческие факторы.
Как это работает в Яндексе:
- Пользователь вводит запрос → видит сни́ппет → кликает → попадает на сайт.
- Если сайт грузится 6 секунд, пользователь нажимает «назад» на третьей секунде, не дождавшись загрузки.
- Яндекс фиксирует: «пользователь вернулся в поиск через 3 секунды после клика». Это мощный негативный сигнал.
- При накоплении таких сигналов позиции падают – не потому что сайт «медленный по метрикам», а потому что пользователи с него уходят.
Вывод: для Яндекса критична не лабораторная скорость, а реальная скорость на устройствах вашей аудитории. Если 80% посетителей заходят с мобильных телефонов в регионах, где 3G – норма, то LCP 2,5 секунды на десктопе в Москве не имеет значения. Ваш реальный пользователь ждёт 8 секунд и уходит.
Что делать: смотрите не в PageSpeed, а в Яндекс.Метрику → Поведение → Скорость загрузки страниц. Там – реальные данные: сколько секунд грузится сайт у живых пользователей, по устройствам, по регионам. Вот эти цифры влияют на ранжирование. А не лабораторные 98 баллов.
Главные враги скорости – не картинки
На сегодня главных причин ухудшения скорости загрузки можно насчитать при анализе десяток легко, даже от движка сайта к движку (CMS) они могут быть свои. Но в списке всегда имеются самые значимые – реальные. В 90% статей про ускорение сайта виновником номер один объявляют «неоптимизированные изображения». Да, гигантская фотография 4000×3000 пикселей в карточке товара – это проблема. Но она решается за 15 минут плагином вроде WebP Express, ручным в Paint.NET или онлайн сжатием, например, через iloveimg.com и аналоги. Кстати, на сегодня у поисковиков и браузеров любимый формат картинок – WEBP. Для Paint.NET даже WEBP-плагин есть, который добавляется в одну папку с установленной программой.
Реальные убийцы скорости, о которых молчат:
Сторонние скрипты и виджеты
Онлайн-чат, виджет обратного звонка, счётчик Метрики, пиксель ВКонтакте, карта 2ГИС в подвале, баннер «Скидка 10% при первом заказе» с анимацией – каждый из этих элементов тянет внешний jаvascript. Браузер вынужден установить соединение с чужим сервером, скачать скрипт и выполнить его – прежде чем страница станет интерактивной. Четыре сторонних скрипта могут добавить 2-3 секунды к загрузке. Это больше, чем все ваши картинки вместе взятые.
Что делать: ревизия всех сторонних скриптов. Для каждого задайте вопрос: «Этот скрипт влияет на конверсию или аналитику, которую мы реально смотрим?» Онлайн-чат, который приносит 2 обращения в месяц и «жрёт» от 1,5-2 секунд загрузки – кандидат на удаление. Для оставшихся – асинхронная загрузка атрибут async или отложенная загрузка атрибут defer.
Веб-шрифты
Google Fonts, шрифты из TypeKit, локальные кастомные шрифты в форматах .woff и .woff2 – всё это рендерится до показа текста. Если шрифт грузится с внешнего сервера, браузер ждёт его, и пользователь видит пустой экран (FOIT – Flash of Invisible Text).
Что делать: хостите шрифты локально (скачать .woff2 и положить в /fonts/). Предзагружайте критические шрифты через <link rel="preload">и используйте font-display: swap в CSS – тогда браузер покажет системный шрифт, пока кастомный грузится. Пользователь читает текст сразу, а не ждёт белую страницу.
Кривой бэкенд и база данных
Самый недооценённый фактор. Сайт может иметь идеально сжатые картинки, чистый CSS и ни одного стороннего скрипта, но грузиться от 3-4 секунд. Причина: сервер долго формирует HTML. Медленные запросы к базе данных, отсутствие кеширования на уровне приложения, PHP без OPcache, устаревшая версия CMS с неоптимальными SQL-запросами.
Как проверить: откройте PageSpeed Insights и посмотрите на метрику TTFB (Time to First Byte) – время до получения первого байта от сервера. Если TTFB > 0,8 секунды – проблема на стороне сервера. Никакая оптимизация картинок и скриптов не поможет, пока сервер «думает» секунду перед ответом.
Что делать: включить серверное кеширование (Redis, Memcached, встроенный кеш CMS), обновить версию PHP, включить OPcache, проанализировать медленные SQL-запросы через логи базы данных. На WordPress – плагин Query Monitor покажет проблемные запросы за минуту.
География хостинга
Сервер в Москве, клиенты в Хабаровске – пинг 70-120 мс. Добавьте сюда DNS-запрос, SSL-рукопожатие (ещё 2-3 round-trip), и первый байт уходит за 300-500 мс только на сетевых задержках. Если сайт региональный, хостинг должен быть географически близок к аудитории – особенно для Яндекса, который учитывает региональность в ранжировании. Есть эмпирические данные, что, например, московский хостинг для магазина, продвигающегося в Новосибирске, – это минус к позициям, который не исправляется оптимизацией картинок. Проверить задержки можно через любой сервис ping-теста из разных городов (например, ping-admin.ru). CDN частично решает проблему для статики, но HTML и API-запросы всё равно идут к origin-серверу.
10 реальных способов ускорить сайт без потери функциональности
Здесь не будет «сожмите картинки» и «включите кеш браузера». Только то, что даёт ощутимый прирост скорости и не ломает сайт. Итак:
- Переезд на HTTP/2 или HTTP/3. HTTP/2 позволяет загружать несколько файлов параллельно через одно соединение. HTTP/3 – ещё быстрее, на базе протокола QUIC (UDP вместо TCP). Если ваш хостинг до сих пор на HTTP/1.1, вы теряете до 40% скорости только на установке соединений. Проверяется через
domain_sslили любой онлайн-чекер HTTP-версии. - Убрать Render-Blocking ресурсы. Откройте PageSpeed → раздел «Диагностика» → «Устраните ресурсы, блокирующие отображение». Это CSS и JS-файлы, которые браузер ОБЯЗАН загрузить до показа страницы. Решение: инлайнить критический CSS в <head> (первые 2-3 КБ стилей, отвечающих за видимую часть), остальное загружать асинхронно.
- Предзагрузка критических ресурсов.
<link rel="preload">для основного шрифта, главного изображения (LCP-элемента), ключевого CSS. Браузер начинает качать эти файлы на раннем этапе, не дожидаясь полного парсинга HTML. - Ленивая загрузка изображений (lazy loading). Атрибут
loading="lazy"для всех изображений ниже первого экрана. Браузер не тратит время и трафик на картинки, которые пользователь ещё не видит. Поддерживается всеми современными браузерами без jаvascript. - CDN для статики. Content Delivery Network раздаёт картинки, CSS, JS и шрифты с серверов, географически близких к пользователю. Если ваш сервер в Москве, а посетитель из Владивостока – без CDN время загрузки картинки может быть 500-800 мс. С CDN – 20-50 мс. Cloudflare (бесплатный тариф достаточен для большинства сайтов), BootstrapCDN, локальные CDN-провайдеры.
- Удаление неиспользуемого CSS и jаvascript. Плагины, темы, конструкторы страниц загружают мегабайты CSS и JS, из которых реально используется 10-15%. Инструменты: Coverage в Chrome DevTools (показывает процент неиспользуемого кода), PurgeCSS для очистки, ручной аудит подключённых скриптов.
- Серверное кеширование (не плагин WordPress). Плагины кеша типа WP Rocket – это хорошо. Но серверное кеширование через Redis/Memcached – радикально лучше. Оно кеширует результаты запросов к базе данных на уровне оперативной памяти. TTFB снижается в 3-10 раз. Настроить можно практически на любом VPS.
- Сжатие Brotli вместо Gzip. Brotli сжимает текстовые ресурсы (HTML, CSS, JS, SVG) на 15-25% лучше, чем Gzip, при той же скорости работы. Поддерживается всеми браузерами и большинством серверов. Проверяется через заголовок
Content-Encoding: brв ответе сервера. - Убрать jQuery, если он не нужен. Если ваш сайт использует jQuery только для пары анимаций и мобильного меню – вы тащите 87 КБ сжатого кода ради функций, которые реализуются 10 строками нативного jаvascript. Современный JS (ES6+) поддерживается всеми браузерами и покрывает 95% того, для чего раньше нужен был jQuery.
- Мониторинг реальной скорости, а не лабораторной. Настройте сбор реальных данных: Google Search Console → Core Web Vitals (данные CrUX), Яндекс.Метрика → Скорость загрузки страниц. Смотрите тренды раз в неделю. Падение скорости на 20% у реальных пользователей – сигнал к диагностике. Падение баллов PageSpeed на 10 пунктов без изменений в реальных данных – можно игнорировать.
Чек-лист: что проверять и в каком порядке
Если вы прямо сейчас открыли PageSpeed, увидели красные цифры и готовы всё бросить на ускорение – остановитесь. Вот правильный порядок действий. Он идёт не от «как получить 100 баллов», а от «как сделать так, чтобы пользователи не уходили с сайта»:
- Проверьте TTFB. Если время до первого байта > 0,8 секунды – проблема на сервере. Меняйте хостинг, включайте кеширование, обновляйте PHP. Не трогайте картинки и скрипты – они ни при чём.
- Проверьте реальную скорость в Метрике. Откройте Яндекс.Метрику → Поведение → Скорость загрузки страниц. Посмотрите время загрузки по регионам и устройствам. Если мобильные пользователи из регионов ждут 6 секунд – проблема не в PageSpeed, а в том, что ваш хостинг не тянет мобильный трафик из-за пределов Москвы.
- Проверьте LCP-элемент. В PageSpeed Insights найдите, что именно является LCP (обычно – главное изображение или текстовый блок). Оптимизируйте ТОЛЬКО его. Не трогайте остальные картинки – они не влияют на LCP.
- Проверьте CLS. Если показатель больше 0,1 – найдите прыгающие элементы. Обычно это: рекламные баннеры без зарезервированного места, динамически подгружаемые шрифты, всплывающие окна. Исправьте размеры (width/height) для всех изображений и iframe, зарезервируйте место под динамический контент через min-height.
- Проведите ревизию сторонних скриптов. Составьте список всего, что грузится не с вашего домена. Для каждого – оцените необходимость. Отключите то, что не влияет напрямую на конверсию. Оставшееся загружайте через async/defer.
- Включите Brotli и HTTP/2. Бесплатно на любом современном хостинге. Даёт 10-25% прироста скорости без каких-либо изменений на сайте.
- Настройте кеширование на уровне сервера. Redis или Memcached. Самый большой прирост TTFB из возможных.
- И только теперь – оптимизируйте изображения и включите lazy loading. Это даст прирост, но меньший, чем пункты 1-7.
Часто задаваемые вопросы о скорости загрузки и SEO
Правда ли, что Google понижает сайты с плохим PageSpeed?
Не совсем. Google использует Core Web Vitals (LCP, INP, CLS), измеренные на реальных пользователях (Chrome User Experience Report), а не лабораторные баллы PageSpeed Insights. Причём эти метрики работают как tie-breaker – «при прочих равных». Если ваш контент релевантнее и полнее, чем у конкурента, вы обойдёте его даже с худшими Core Web Vitals. Если контент одинаковый – да, скорость решит, кто выше.
Учитывает ли Яндекс скорость загрузки при ранжировании?
Яндекс не публикует прямых заявлений о скорости как факторе ранжирования. Но скорость влияет косвенно – через поведенческие факторы: если сайт грузится долго, пользователи уходят обратно в поиск, Яндекс фиксирует высокий показатель отказов и понижает позиции. Ключевой источник данных для владельца сайта – Яндекс.Метрика → Скорость загрузки страниц (реальные данные, не симуляция).
Что делать, если после всех оптимизаций PageSpeed всё равно показывает 50-60 баллов?
Посмотреть на реальные данные. Если в Google Search Console (Core Web Vitals) – зелёные показатели, а в Яндекс.Метрике – адекватное время загрузки, забудьте про лабораторные баллы. Вы уже сделали всё, что влияет на ранжирование. Дальнейшая погоня за баллами – это трата ресурсов с нулевой отдачей для SEO. Часто «плохой» PageSpeed – результат особенностей CMS или конструктора, которые нельзя исправить без полной пересборки сайта. Если реальные пользователи не жалуются – не трогайте.
Стоит ли отключать Яндекс.Метрику и другие счётчики ради скорости?
Категорически нет. Метрика и аналоги добавляют 0,3-0,8 секунды к загрузке (при асинхронной установке – ещё меньше). Но без них вы теряете данные о поведении пользователей, конверсиях и реальной скорости. Потеря аналитики ради +2 баллов PageSpeed – это самострел. Просто используйте async-установку кода счётчика.
Мобильная скорость важнее десктопной для SEO?
Для Google – да. С 2019 года Google индексирует сайты по mobile-first: мобильная версия – основная. Если мобильная версия медленная, это влияет на ранжирование всего сайта, включая десктопную выдачу. Для Яндекса – мобильная и десктопная версии ранжируются независимо. Но учитывая, что в Рунете доля мобильного трафика 60-70%, медленная мобильная версия означает потерю большей части аудитории и, как следствие, ухудшение поведенческих факторов.
Сколько реально времени занимает ускорение сайта?
Базовые оптимизации (Brotli, HTTP/2, кеширование, сжатие картинок, lazy loading) – один вечер. Серверное кеширование через Redis – час работы системного администратора. Ревизия сторонних скриптов – 2-3 часа ручного аудита. Полная оптимизация крупного сайта с кастомным фронтендом – 1-2 недели. Но ключевое: после достижения «зелёной зоны» Core Web Vitals дальнейшие улучшения не дают прироста позиций. Не превращайте ускорение в бесконечный процесс.
Сайт на конструкторе – можно ли ускорить без доступа к серверу?
Да, хотя возможности ограничены. Что реально можно сделать: сжимать изображения до загрузки на сайт, не использовать PNG там, где достаточно JPEG или WebP, убрать лишние сторонние скрипты (виджеты, чаты, поп-апы), использовать системные шрифты вместо Google Fonts, не злоупотреблять анимациями и минимизировать количество блоков на одной странице. Серверную часть – TTFB, кеширование, сжатие, HTTP-версию – конструктор не даёт трогать. Если скорость остаётся критически низкой после всей клиентской оптимизации, это повод задуматься о переезде на CMS или собственный сайт, где вы контролируете серверную часть.
Главное, что стоит вынести из этой статьи: скорость загрузки – не цель, а средство. Цель – чтобы пользователь нашёл ответ и совершил целевое действие. Если сайт грузится 3 секунды, но пользователь остаётся и покупает – с вашей скоростью всё в порядке, что бы ни показывал PageSpeed. Если сайт грузится за 0,8 секунды, но пользователь уходит через 10 секунд, не найдя нужного – скорость не спасёт. Работайте над контентом и поведенческими факторами в первую очередь. Скорость – во вторую. Именно в таком порядке это влияет на ранжирование.
