Сайт медленно грузится: 7 причин и что делать
Каждая лишняя секунда загрузки уносит часть посетителей и позиций в Яндексе. Разбираем, где сайты теряют время чаще всего и что даёт эффект сразу.
Сначала замерьте
Ощущение «медленно» субъективно, поэтому сначала цифры. PageSpeed Insights показывает оценку мобильной версии и три ключевые метрики: LCP (когда появился главный контент, норма до 2,5 с), INP (отзывчивость на нажатия) и CLS (прыгает ли вёрстка). Яндекс Метрика в отчёте «Время загрузки страниц» показывает реальные цифры ваших посетителей, а не лабораторные. Если у Метрики медиана выше 3 секунд, люди это чувствуют.
1. Картинки без сжатия
Самая частая причина. Фото на 4 МБ в шапке, галерея из десяти таких же, логотип в PNG на 800 КБ. Решение: конвертировать в WebP или AVIF, отдавать размер под экран (srcset), включить ленивую загрузку (loading="lazy") для всего ниже первого экрана. Обычно это минус 60–80 % веса страницы.
2. Нет кеширования
Если каждый заход собирает страницу заново из базы данных, сервер тратит по секунде на то, что можно отдать за 20 миллисекунд. Для WordPress это плагин кеша (WP Super Cache, LiteSpeed Cache), для Битрикса композитный режим, для остального кеш на уровне nginx. Отдельно кеш браузера: заголовки Cache-Control для картинок, стилей и скриптов, чтобы при втором визите они не качались заново.
3. Медленный хостинг или переполненный сервер
Проверьте TTFB (время до первого байта) в PageSpeed или в DevTools браузера. Если больше 600 мс на главной, дело в сервере: слабый тариф, соседи по shared-хостингу, PHP без OPcache. Иногда переезд на VPS за 500 ₽ в месяц даёт больше, чем месяц оптимизации кода.
4. Слишком много скриптов
Метрика, чат, коллтрекинг, квиз, три виджета соцсетей, jQuery в двух версиях, Bootstrap целиком ради одной кнопки. Каждый скрипт блокирует отрисовку. Что делать: убрать неиспользуемое, остальное подключать с defer или после загрузки страницы, объединить и минифицировать.
5. Внешние шрифты
Шрифты с Google Fonts в России часто грузятся по 5–10 секунд или не грузятся вовсе, и страница висит без текста. Правильно: положить шрифт к себе, подключить font-display: swap, оставить только нужные начертания. Или использовать системный шрифт, он не грузится вообще.
6. Тяжёлые запросы к базе
Каталог на тысячи товаров с фильтрами без индексов, счётчик просмотров, который пишет в базу при каждом заходе, автозагрузка опций в WordPress на мегабайты. Диагностируется плагином Query Monitor или slow_query_log в MySQL. Индекс на нужное поле часто превращает 3 секунды в 30 миллисекунд.
7. Нет сжатия и HTTP/2
Gzip или Brotli уменьшают HTML, CSS и JS в 3–5 раз. HTTP/2 позволяет качать десятки файлов параллельно. Обе настройки включаются на сервере за 10 минут и часто просто забыты после переезда.
С чего начать
- Картинки и ленивая загрузка: самый быстрый эффект.
- Кеш страниц и кеш браузера.
- Скрипты: убрать лишнее, остальное с defer.
- Шрифты и сжатие.
- Только потом база данных и хостинг.
Замеряйте после каждого шага, чтобы видеть, что реально помогло. Обычно первые три пункта дают переход из красной зоны PageSpeed в зелёную.
Ускорим сайт, от 2 900 ₽
Замер до и после, конкретные цифры в отчёте. Если ускорить не удалось, деньги вернём.
Разработчик с 10-летним опытом, ИП, по оферте и с закрывающими документами.