Сайт тормозит — 7 причин и что проверить за час
Сайт грузится медленно, а причина непонятна? Семь типичных виновников — от высокого TTFB и тяжёлых картинок до отсутствия кэша и CDN. По каждому: как проверить и быстро исправить за час.
Сайт грузится «долго» — но долго это сколько и из-за чего? Без замера вы будете чинить наугад и потратите день там, где хватило бы часа. Ниже — семь типичных причин медленного сайта, и по каждой: как проверить за пару минут и что сделать сразу. Уложиться реально за час.
Начните с замера, а не с догадок
Три бесплатных инструмента закрывают почти всю диагностику:
- PageSpeed Insights — общая оценка, Core Web Vitals и подсказки, что именно тормозит.
- DevTools → Network (F12) — водопад загрузки: видно TTFB, тяжёлые файлы и что блокирует рендер.
- Яндекс Метрика — «Время загрузки» покажет реальную картину по вашим посетителям, а не по лабораторному тесту.
Дальше — семь причин по порядку.
Причины на стороне сервера
1. Высокий TTFB. Время до первого байта выше 600 мс — сервер думает слишком долго. В Network это первый сегмент полосы у документа. Фикс: включить серверный кэш страниц, чтобы страница отдавалась готовой.
2. Медленные запросы к базе. Один тяжёлый запрос без индекса тормозит всю страницу. Проверить: лог медленных запросов или профайлер CMS. Фикс: добавить индексы, убрать запросы в цикле, закэшировать результат.
3. Слабый хостинг. Дешёвый шаред с соседями по CPU даёт плавающий TTFB. Если он скачет по времени суток — упёрлись в ресурсы. Фикс: VPS или тариф выше.
Причины на стороне фронтенда
4. Тяжёлые несжатые картинки. Чаще всего именно они — главный вес страницы: фото на 3–5 МБ в JPEG вместо 150 КБ в WebP. Проверить: в Network отсортируйте по размеру. Фикс: пережать в WebP/AVIF и задать реальные размеры под контейнер.
5. Блокирующий JS и CSS. Скрипты в <head> без defer тормозят рендер: браузер ждёт их, прежде чем показать страницу. Проверить: в PageSpeed пункт «Устраните ресурсы, блокирующие отображение». Фикс:
<script src="app.js" defer></script>
<link rel="preload" href="main.css" as="style">
Уберите лишние виджеты — чаты, счётчики и пиксели легко добавляют секунду.
Причины на стороне доставки
6. Нет кэша статики. Браузер каждый раз перекачивает CSS, JS и картинки, потому что нет заголовков Cache-Control. Проверить: в Network колонка Size — если пишет размер вместо «(memory cache)», кэша нет. Фикс: отдавать статику с длинным max-age.
7. Нет CDN. Сервер в одном городе, посетители по всей стране — у дальних выше пинг и загрузка. CDN раздаёт статику с ближайшей точки, особенно заметно в регионах.
Чеклист за час
- Прогнать PageSpeed и открыть Network — записать TTFB и топ-3 тяжёлых файла.
- TTFB > 600 мс — включить серверный кэш, проверить медленные запросы.
- Картинки > 200 КБ — пережать в WebP, задать width/height.
- Скрипты в head — добавить defer, убрать лишние виджеты.
- Нет Cache-Control на статике — выставить длинный max-age.
- Аудитория шире одного города — подключить CDN.
- Перепроверить замер и сравнить до/после.
Вывод
Медленный сайт — почти всегда сумма из знакомого набора: сервер, картинки, кэш и доставка. Пройдите чеклист сверху вниз — и за час увидите, где теряются секунды. Если хотите не гадать, а получить точный список работ и результат, оптимизируем скорость вашего сайта — от диагностики до внедрения CDN и кэша.