Тяжёлая страница и много файлов

пошаговая инструкция · Около часа

← Все инструкции

1. Что произошло

Страница слишком тяжёлая: много данных и файлов, загрузка занимает много времени.

2. Почему это важно

Посетители уходят, не дождавшись, а мобильные устройства платят трафиком; поисковики понижают медленные страницы. После исправления: Страницы открываются быстрее, меньше уходов.

3. На каких страницах обнаружено

Размер главной страницы, число запросов и общее время загрузки.

Чтобы увидеть адреса на вашем сайте, откройте инструкцию из отчёта или добавьте домен в адрес: /fix/page_weight/ваш-сайт.ru.

4. Как исправить

Для 1С-Битрикс

  1. Включите объединение и сжатие CSS/JS («Настройки → Настройки продукта → Настройки модулей → Главный модуль») и «Композитный сайт»; картинки отдавайте через CFile::ResizeImageGet.

Общее для любого сайта

  1. Откройте страницу в Chrome → F12 → «Network» → обновите: колонка Size покажет самые тяжёлые файлы.
  2. Картинки — основная причина. Переведите в WebP/AVIF, ограничьте ширину реальным размером на странице, включите отложенную загрузку для картинок ниже первого экрана.
  3. Укажите width и height у картинок — это убирает «прыжки» вёрстки.
  4. Объедините и минифицируйте CSS и JS, подключайте скрипты с defer, удалите неиспользуемые виджеты, счётчики и шрифты.
  5. Шрифтов лучше не больше двух начертаний; формат woff2, font-display: swap.

5. Готовый код

Замените example.com на свой домен. Перед правкой конфигурации сделайте резервную копию файла.

Любой сайт

Картинка с размерами и отложенной загрузкой
<img src="/img/photo.webp" width="800" height="450" alt="Описание" loading="lazy" decoding="async">
Скрипт без блокировки
<script src="/js/app.js" defer></script>
Массовая конвертация в WebP
for f in *.jpg; do cwebp -q 80 "$f" -o "${f%.jpg}.webp"; done

6. Как проверить результат

  1. Размер HTML-страницы заметно упал; в Chrome DevTools общий вес страницы меньше (желательно до 2 МБ).
  2. Нажмите «Перепроверить сайт».
Размер и время
curl -s -o /dev/null -w 'bytes=%{size_download} total=%{time_total}s\n' -H 'Accept-Encoding: gzip' https://example.com/

Чтобы перепроверить сайт, откройте отчёт и нажмите «Проверить заново».