Перейти к содержимому
Skip to content
← Все статьи

Оптимизация скорости загрузки сайта: полное руководство

PageSpeed анализ сайта — один из ключевых факторов, определяющих пользовательский опыт, конверсию и позиции в поисковой выдаче. По данным Google, если страница загружается дольше 3 секунд, более 50% мобильных пользователей покидают её. В этом руководстве мы подробно разберём все аспекты оптимизации скорости — от серверной части до клиентского рендеринга.

Core Web Vitals: ключевые метрики производительности

В 2021 году Google ввёл набор метрик Core Web Vitals как официальный фактор ранжирования. Эти метрики отражают реальный пользовательский опыт и измеряются в полевых условиях.

LCP — Largest Contentful Paint

LCP измеряет время отрисовки самого крупного видимого элемента на странице. Это может быть изображение-баннер, видео или крупный блок текста. Целевое значение — менее 2,5 секунд.

Основные причины плохого LCP:

FID и INP — отзывчивость интерфейса

FID (First Input Delay) измерял задержку первого взаимодействия пользователя. С марта 2024 года его заменила метрика INP (Interaction to Next Paint), которая оценивает отзывчивость на протяжении всей сессии. Целевое значение INP — менее 200 миллисекунд.

Для улучшения INP необходимо:

CLS — Cumulative Layout Shift

CLS оценивает визуальную стабильность страницы. Сдвиги макета раздражают пользователей — они случайно нажимают не на те элементы, теряют место при чтении. Целевое значение — менее 0,1.

Как предотвратить сдвиги макета:

TTFB — Time to First Byte

TTFB измеряет время от отправки запроса до получения первого байта ответа от сервера. Это базовая метрика, влияющая на все остальные показатели. Рекомендуемое значение — менее 800 мс, а в идеале — менее 200 мс.

Факторы, влияющие на TTFB:

ФакторВлияниеРешение
Расстояние до сервераВысокая задержка для удалённых пользователейCDN, edge-серверы
Серверная обработкаМедленные запросы к БД, тяжёлые вычисленияКеширование, оптимизация запросов
TLS-рукопожатиеДополнительные раундтрипыTLS 1.3, OCSP stapling, HTTP/2
ПеренаправленияКаждый редирект добавляет TTFBМинимизация цепочек редиректов

Проверить TTFB вашего сайта можно с помощью инструмента проверки HTTP-заголовков enterno.io — он показывает время ответа сервера и все заголовки кеширования.

Оптимизация изображений

Изображения обычно составляют 40–60% от общего веса страницы. Их оптимизация — самый быстрый способ ускорить сайт.

Современные форматы

WebP обеспечивает сжатие на 25–35% лучше, чем JPEG, при сопоставимом качестве. AVIF — ещё более эффективный формат, сжимающий изображения на 50% лучше JPEG. Используйте элемент <picture> для прогрессивного применения:

<picture>
  <source srcset="image.avif" type="image/avif">
  <source srcset="image.webp" type="image/webp">
  <img src="image.jpg" alt="Описание" width="800" height="600" loading="lazy">
</picture>

Ленивая загрузка

Атрибут loading="lazy" откладывает загрузку изображений за пределами видимой области. Однако для LCP-элемента (главного баннера) используйте loading="eager" и добавьте fetchpriority="high".

Responsive images

Атрибут srcset позволяет браузеру выбирать оптимальный размер изображения в зависимости от экрана. Не загружайте изображение 2000 пикселей на мобильный телефон с экраном 375 пикселей.

Минификация и сжатие ресурсов

Минификация удаляет из кода пробелы, комментарии и сокращает имена переменных. Это уменьшает размер файлов на 20–40%.

Помимо минификации, настройте серверное сжатие. Gzip уменьшает размер текстовых ресурсов на 70–80%, а Brotli — на 80–90%. Проверьте наличие заголовка Content-Encoding: br или Content-Encoding: gzip с помощью анализатора HTTP-заголовков.

CDN — сеть доставки контента

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

Преимущества CDN:

Кеширование

Правильно настроенное кеширование — один из самых эффективных способов ускорить повторные посещения.

HTTP-кеширование

Заголовок Cache-Control управляет кешированием на уровне браузера и промежуточных прокси. Рекомендуемые стратегии:

Тип ресурсаРекомендуемый Cache-Control
Статические ресурсы с хешемmax-age=31536000, immutable
HTML-страницыno-cache (с ETag-валидацией)
API документацию-ответыno-store или короткий max-age
Изображения без хешаmax-age=86400, stale-while-revalidate=604800

Серверное кеширование

На серверной стороне используйте:

Оптимизация JavaScript

JavaScript — главный источник проблем с производительностью на клиенте. Каждый килобайт JS требует загрузки, парсинга, компиляции и выполнения.

Code splitting

Разбивайте бандл на части, загружая только необходимый для текущей страницы код. Динамический import() позволяет загружать модули по требованию:

// Загружаем модуль только при необходимости
const module = await import('./heavy-module.js');
module.init();

Tree shaking

Убедитесь, что бандлер (webpack, Rollup, esbuild) удаляет неиспользуемый код. Для этого используйте ES-модули (import/export) вместо CommonJS (require).

Отложенная загрузка скриптов

Используйте атрибуты async и defer для скриптов, не критичных для первоначального рендеринга. Скрипты аналитики, чат-виджеты и социальные плагины должны загружаться после основного контента.

Оптимизация шрифтов

Веб-шрифты могут значительно замедлять отображение текста. Рекомендации:

HTTP/2 и HTTP/3

HTTP/2 поддерживает мультиплексирование — загрузку множества ресурсов через одно соединение. HTTP/3 (на базе QUIC) ещё быстрее благодаря устранению блокировки очереди и встроенному TLS 1.3.

Убедитесь, что ваш сервер поддерживает как минимум HTTP/2. Проверить протокол можно через анализатор HTTP-заголовков enterno.io.

Инструменты мониторинга

Регулярно отслеживайте производительность сайта с помощью:

Чек-лист оптимизации

  1. Проверьте TTFB — он должен быть менее 200 мс
  2. Настройте сжатие Brotli/Gzip
  3. Оптимизируйте и конвертируйте изображения в WebP/AVIF
  4. Добавьте ленивую загрузку для изображений за пределами экрана
  5. Минифицируйте CSS, JS и HTML
  6. Настройте Cache-Control для всех типов ресурсов
  7. Внедрите code splitting для JavaScript
  8. Подключите CDN
  9. Оптимизируйте загрузку шрифтов
  10. Устраните цепочки редиректов
  11. Обновите серверный протокол до HTTP/2 или HTTP/3
  12. Настройте мониторинг сайтов производительности

Проверьте сами

Используйте инструмент проверки HTTP-заголовков enterno.io, чтобы проанализировать время ответа сервера и заголовки кеширования вашего сайта.

Проверьте ваш сайт прямо сейчас

Проверить →
Другие статьи: Производительность
Производительность
Бюджеты производительности: установка, контроль и автоматизация лимитов
16.03.2026 · 26 просм.
Производительность
Стратегии кэширования веб-приложений
14.03.2026 · 15 просм.
Производительность
Оптимизация доставки контента: стратегии CDN и граничные вычисления
16.03.2026 · 12 просм.
Производительность
Graceful Degradation и Progressive Enhancement: стратегии и практические примеры
16.03.2026 · 43 просм.