Сайт медленно загружается: что делать

Как за полчаса измерить скорость, понять, тормозит сервер или браузер, найти причину и не купить решение, которое не поможет.

Сайт медленно загружается: что делать
обновлено 28 июля 20265 мин
Содержание
  1. Сначала измерьте — по двум цифрам
  2. Где тормозит — на сервере или в браузере
  3. Локализуйте: какие страницы и когда
  4. Три ошибки, которые превращают диагностику в самообман
  5. Нашли причину — что дальше

Медленный сайт лечат по симптомам примерно так же успешно, как болезнь по совету из чата: иногда угадали, чаще нет. Поэтому первое «что делать», если сайт медленно загружается, — не менять хостинг и не включать кеш наугад, а измерить и понять, что именно тормозит. Тормозит либо сервер, который долго думает, прежде чем прислать страницу, либо браузер, которому досталась слишком тяжёлая страница. Причины и лечение у этих двух случаев разные, а сама диагностика занимает полчаса и экономит бюджет на решениях, которые всё равно не помогут.

Сначала измерьте — по двум цифрам

Ощущение «грузится долго» субъективно: у вас быстрый офисный интернет, у клиента — мобильник в маршрутке. Поэтому начинают с замера, а не с ощущений. Хватит двух-трёх инструментов:

  • PageSpeed Insights — вводите адрес страницы, получаете оценку и, если у сайта есть трафик, реальные данные о том, как он грузится у живых пользователей;
  • вкладка Network в инструментах разработчика браузера (клавиша F12) — показывает по секундам, какой файл грузился дольше всех: картинка, скрипт или ответ сервера;
  • GTmetrix или WebPageTest — если хочется прогнать сайт из разных точек и на разной скорости соединения.

Смотреть стоит на две величины. TTFB — время ответа сервера, то есть сколько он думал, прежде чем начать отдавать страницу; хорошим считается показатель до 0,8 секунды. LCP — момент, когда в браузере прорисовался основной контент; Google называет хорошим результат до 2,5 секунды. Инструмент сам подсветит эти цифры зелёным, жёлтым или красным, так что гадать не придётся.

Где тормозит — на сервере или в браузере

Эти две цифры сразу делят проблему пополам.

Если TTFB высокий, а остальное в норме, виноват сервер: он долго собирает страницу. Так бывает, когда на странице тяжёлые запросы к базе, много PHP-скриптов или хостинг не тянет вашу нагрузку. Частый и незаметный случай из нашей практики — переполненные временные папки: логи и результаты работы скриптов годами копятся на сервере, пока он не начинает залипать на каждом запросе.

Если TTFB нормальный, а страница всё равно долго дорисовывается, дело во фронтенде, то есть в том, что браузер получил слишком много. Обычные виновники — тяжёлые несжатые картинки во весь экран и гирлянда сторонних скриптов: чат, три счётчика аналитики, виджет обратного звонка, карта. Каждый по отдельности безобиден, вместе они складываются в секунды.

Развилка важна, потому что лечится это по-разному. Сервер не станет быстрее, если сжать картинки, а картинки не похудеют от переезда на дорогой хостинг.

Локализуйте: какие страницы и когда

Замер главной — это ещё не диагноз. Полезно ответить на два вопроса.

Тормозят все страницы или конкретные? Если весь сайт ровно медленный, ищите общую причину: сервер, хостинг, тяжёлый шаблон. Если залипают одна-две страницы, а остальные летают, почти наверняка на них висит тяжёлый скрипт или запрос к базе.

Тормозит всегда или в пиковые часы? Сайт, который еле дышит во время акции или в вечерний трафик, а ночью бодрый, упирается в ресурсы сервера. Ровные тормоза в любое время суток — это про сам код или конкретную страницу.

Причина нередко сидит там, куда списки типовых советов не заглядывают. У одного нашего клиента, театра, отдельные страницы грузились до пяти секунд. Оказалось, билетная система хранила все проданные билеты файлами прямо на сервере, их накопился миллион, и неправильно написанный скрипт перебирал весь этот архив на каждой загрузке. Ни один общий перечень причин такого не подскажет: это находится только замером и просмотром, что именно делает страница.

Три ошибки, которые превращают диагностику в самообман

Замер один раз и с быстрого интернета. Первая загрузка частично берётся из кеша, а офисный гигабит прячет проблемы мобильных пользователей. Прогоняйте страницу несколько раз, в мобильном режиме инструмента и в режиме инкогнито.

«У меня тормозит» не равно «тормозит у всех». Нередко виноват не сайт, а конкретный браузер с десятком расширений, забитый кеш или слабый Wi-Fi. Прежде чем чинить сайт, откройте его с телефона по мобильной сети и на чужом устройстве.

Лечение раньше диагноза. Самый дорогой путь — начать с покупки решения, пока причина не найдена.

Нашли причину — что дальше

Диагноз определяет лечение, а не наоборот. Когда причина ясна и она в самом сайте, дальше — по порядку рычагов: с чего начать ускорение и что реально помогает.

Если упёрлись в сервер и хостинг явно не по нагрузке, начните с подходящего тарифа под вашу посещаемость. Кто-то советует первым делом включить композит — сначала посмотрите, когда он ускоряет, а когда ломает сайт. Если сайт замедлился сразу после обновления, причина обычно там же — что с этим делать.

А если у вас Битрикс и разбираться самостоятельно некогда, полный разбор реальных причин тормозов — переполненные папки, тяжёлые скрипты, хостинг, запущенные обновления — собран в опорной статье про сайт на Битриксе, который тормозит. Там же описано, как устроен технический аудит: обычно он стоит 20 000 ₽, а читателям этого блога достаётся бесплатно по промокоду «olegrodin».

Услуга по темеТехподдержка сайтов на 1С-БитриксСайт на Битриксе работает, обновляется и не тормозит — без вашего участия. Мониторинг, обновления, правки и дежурство при сбоях.

Термины из этой статьи

Битрикс
1С-Битрикс — российская коммерческая CMS для корпоративных сайтов и интернет-магазинов. Отличается от бесплатных движков платной лицензией, штатной интеграцией с 1С и тем, что требует более мощного хостинга.
Кеширование
Кеширование — сохранение уже собранной страницы или её части, чтобы при следующем обращении отдать готовый результат, а не считать всё заново. Самый дешёвый способ ускорить сайт.
Композитный сайт
Композитный сайт — режим Битрикса, при котором страница делится на статическую часть, отдаваемую мгновенно из кеша, и динамическую, которая подгружается следом. Ускоряет отдачу, но подходит не всякому сайту.
Хостинг
Хостинг — аренда серверных мощностей, на которых физически живёт сайт. От него напрямую зависит скорость загрузки: на слабом тарифе тяжёлый сайт будет тормозить независимо от того, как он написан.
CDN
CDN — сеть серверов в разных точках, которая отдаёт картинки, стили и скрипты с ближайшего к посетителю узла. Заметнее всего помогает сайтам с географически разбросанной аудиторией.

Все термины