
На странице
- Почему скорость сайта — это бизнес-метрика
- Как измерить скорость сайта
- Бенчмарки скорости: какая скорость считается нормальной
- 14 проверенных техник ускорения сайта
- 1. Оптимизация и сжатие изображений
- 2. Включение кэширования в браузере
- 3. Использование CDN
- 4. Минификация CSS, JavaScript и HTML
- 5. Устранение ресурсов, блокирующих рендеринг
- 6. Ленивая загрузка изображений
- 7. Сокращение времени ответа сервера (TTFB)
- 8. Включение сжатия Gzip или Brotli
- 9. Уменьшение количества HTTP-запросов
- 10. Оптимизация веб-шрифтов
- 11. Предзагрузка критических ресурсов
- 12. Code-splitting и tree-shaking JavaScript
- 13. Оптимизация сторонних скриптов
- 14. Постоянный мониторинг и тестирование
- Чек-лист оптимизации скорости сайта
- Выводы
Сайт, который загружается за 2 секунды, конвертирует заметно лучше, чем тот, что тянется 4 секунды. Это не теория. Данные Google показывают: секунда задержки на мобильном снижает конверсию на 20%. Исследование Portent фиксирует падение на 4.42% за каждую лишнюю секунду.
Проблема большинства гайдов по скорости в том, что они заканчиваются на "почему скорость важна". Вы уже знаете, что важна. Нужен конкретный список: что чинить и в каком порядке.
В этом гайде 14 техник для загрузки под 2 секунды. Каждая с пошаговыми действиями, примерами кода где уместно, и бизнес-эффектом. Создаете новый сайт или оптимизируете существующий — это те же шаги, что мы используем в Vezert для ускорения сайтов в каждом проекте.
Почему скорость сайта — это бизнес-метрика
Скорость и конверсия связаны напрямую, и цифры тут однозначны:
- Amazon зафиксировали: каждые 100мс задержки стоят им 1% продаж.
- Walmart получили +2% к конверсии за каждую секунду улучшения загрузки.
- Исследование Portent замерило среднее падение конверсии на 4.42% за секунду по 20 индустриям.
Скорость влияет и на SEO напрямую. Google использует Core Web Vitals (LCP, CLS, INP) как факторы ранжирования. Медленный сайт теряет не только посетителей, но и видимость в поиске. SEO и разработка больше не разные разговоры.
Вывод: время загрузки и конверсия движутся вместе. Каждая техника в этом гайде оценивается через эту призму — не только техническая производительность, но и бизнес-результат.
Как измерить скорость сайта
Перед оптимизацией нужен базовый уровень. Вот инструменты, которые дают четкую картину:
Google PageSpeed Insights (pagespeed.web.dev) дает данные Core Web Vitals от реальных пользователей (field data) и лабораторные тесты. Это самый важный инструмент, потому что показывает то, что Google реально учитывает при ранжировании.
Lighthouse (встроен в Chrome DevTools, вкладка Audits) запускает детальные аудиты с конкретными рекомендациями. Откройте DevTools, перейдите на панель Lighthouse, запустите тест производительности на мобильном.
WebPageTest (webpagetest.org) генерирует waterfall-графики, показывающие где именно уходит время при загрузке. Полезно для диагностики конкретных узких мест.
GTmetrix (gtmetrix.com) объединяет данные Lighthouse с визуальной шкалой и историческим отслеживанием.
Ключевые метрики для отслеживания
- LCP (Largest Contentful Paint): когда основной контент становится видимым. Цель: меньше 2.5 секунд.
- CLS (Cumulative Layout Shift): насколько страница прыгает при загрузке. Цель: меньше 0.1.
- INP (Interaction to Next Paint): как быстро страница реагирует на клики. Цель: меньше 200мс.
- TTFB (Time to First Byte): как быстро сервер начинает отвечать. Цель: меньше 800мс.
Запускайте тесты и на мобильном, и на десктопе. Мобильная версия — это то, что Google в первую очередь использует для ранжирования, и там чаще всего всплывают проблемы со скоростью.
Бенчмарки скорости: какая скорость считается нормальной
Вот к чему стремиться. Если любая метрика попадает в колонку "Плохо" — это приоритет номер один.
| Метрика | Плохо | Требует работы | Хорошо | Бизнес-влияние |
|---|---|---|---|---|
| LCP | > 4.0с | 2.5с - 4.0с | < 2.5с | Высокое: видимость контента |
| CLS | > 0.25 | 0.1 - 0.25 | < 0.1 | Высокое: визуальная стабильность |
| INP | > 500мс | 200 - 500мс | < 200мс | Высокое: отклик на клики |
| TTFB | > 1.8с | 0.8 - 1.8с | < 0.8с | Среднее: эффективность сервера |
| Вес страницы | > 5 МБ | 2 - 5 МБ | < 2 МБ | Среднее: общая скорость |
| Time to Interactive | > 7.3с | 3.8 - 7.3с | < 3.8с | Высокое: готовность к работе |
Стремитесь чтобы все Core Web Vitals были в зеленой зоне одновременно. Чинить LCP и игнорировать CLS — это просто перекладывать проблему. Используйте PageSpeed Insights для проверки field data от реальных пользователей, а не только лабораторных оценок.

14 проверенных техник ускорения сайта
Техники отсортированы примерно по влиянию. Начинайте сверху и двигайтесь вниз. Каждая включает: что делать, как делать, и что это дает для бизнеса.
1. Оптимизация и сжатие изображений
Изображения — обычно самая большая часть веса страницы. По данным HTTP Archive, они занимают более 40% от общего объема.
Решение простое:
- Конвертируйте в WebP или AVIF: на 25-50% меньше JPEG/PNG при том же качестве.
- Используйте responsive images через
srcset, чтобы мобильные не грузили десктопные версии. - Задавайте явные
widthиheightдля предотвращения сдвигов (улучшает CLS). - Сжимайте агрессивно. Большинство изображений можно ужать на 40-60% без видимой потери качества.
<img
src="/hero.webp"
srcset="/hero-480.webp 480w, /hero-800.webp 800w, /hero-1200.webp 1200w"
sizes="(max-width: 800px) 100vw, 1200px"
width="1200" height="630"
alt="Скриншот продукта"
loading="lazy"
/>
Бизнес-эффект: Оптимизация изображений обычно снижает вес страницы на 30-50%, что напрямую улучшает LCP и общее время загрузки. Для лендингов, где hero-изображение — это LCP-элемент, это часто самый большой выигрыш.
2. Включение кэширования в браузере
Когда посетитель возвращается на сайт, кэш браузера определяет: перекачивать ли ресурсы или брать из локального хранилища. Без правильных заголовков кэша каждый визит как первый.
Настройте Cache-Control для статики:
# Статические ресурсы (изображения, шрифты, JS, CSS)
Cache-Control: public, max-age=31536000, immutable
# HTML-страницы
Cache-Control: public, max-age=0, must-revalidate
Флаг immutable говорит браузеру не проверять обновления на версионных файлах. Для HTML используйте must-revalidate — пользователи всегда получат свежий контент, а ресурсы останутся в кэше.
Если используете фреймворк вроде Next.js (как мы в Vezert), статические ресурсы получают content-hash в имени файла по умолчанию, что делает длинные сроки кэширования безопасными.
Бизнес-эффект: Кэширование может ускорить повторную загрузку страниц на 80%. Для сайтов, где пользователи просматривают несколько страниц за сессию — корпоративные сайты или веб-порталы, — это дает заметно более плавный опыт.
3. Использование CDN
CDN кэширует ваш сайт на серверах по всему миру, и пользователи получают контент с ближайшей точки. Без CDN посетитель из Токио делает запрос к серверу в Вирджинии.
Популярные варианты:
- Vercel Edge Network (встроена в деплои Next.js)
- Cloudflare (бесплатного тарифа хватит для большинства)
- AWS CloudFront (для кастомной инфраструктуры)
CDN снижает задержку на 50-70% для пользователей, далеких от основного сервера. Также разгружает хостинг, что улучшает производительность под нагрузкой.
Для международных сайтов с аудиторией в разных регионах CDN — не опция, а необходимость. Это единственный способ стабильно держать загрузку под 2 секунды для глобальной аудитории.
Бизнес-эффект: CDN обычно сокращает TTFB на 100-300мс для удаленных пользователей. Если сайт обслуживает несколько стран, это часто разница между "Хорошо" и "Требует работы" по метрике TTFB.
4. Минификация CSS, JavaScript и HTML
Минификация убирает пробелы, комментарии и лишние символы из CSS и JavaScript. Код делает то же самое, но файлы меньше.
Современные билд-инструменты делают это автоматически:
- Next.js / Webpack / Vite: минификация включена по умолчанию в production.
- Отдельный CSS: используйте
cssnanoилиlightningcss. - Отдельный JS:
terserилиesbuild.
Если не используете билд-инструмент, онлайн-сервисы вроде Minifier.org сработают для разовых файлов.
Бизнес-эффект: Минификация обычно уменьшает файлы на 10-20%. Само по себе звучит скромно, но в комбинации со сжатием (техника 8) эффект умножается. Каждый килобайт важен на мобильных соединениях.
5. Устранение ресурсов, блокирующих рендеринг
Блокирующие CSS и JavaScript не дают браузеру отрисовать страницу, пока они не загрузятся и не выполнятся. Это одна из самых частых причин высокого LCP.
Решения:
- Inline critical CSS прямо в
<head>, чтобы первый рендер не ждал внешней таблицы стилей. - Откладывайте некритичный CSS через
media="print" onload="this.media='all'". - Добавляйте
asyncилиdeferк скриптам, чтобы JavaScript не блокировал рендеринг.
<!-- Отложить некритичный CSS -->
<link rel="stylesheet" href="/non-critical.css" media="print" onload="this.media='all'">
<!-- Отложить JavaScript -->
<script src="/analytics.js" defer></script>
Lighthouse конкретно показывает блокирующие ресурсы. Откройте аудит, найдите пункт "Eliminate render-blocking resources" и пройдитесь по списку файлов.
Бизнес-эффект: Устранение блокирующих ресурсов может улучшить First Contentful Paint на 1-3 секунды, что напрямую ускоряет, как быстро пользователи видят осмысленный контент. Это критично для качественных сайтов, которым нужно произвести сильное первое впечатление.
Исправлять скорость после запуска всегда дороже и сложнее, чем заложить ее изначально. Если планируете новый сайт или редизайн, сделайте производительность требованием с первого дня, а не тем, что оптимизируют потом.
6. Ленивая загрузка изображений
Lazy loading откладывает загрузку изображений и видео ниже первого экрана до момента, когда пользователь до них доскроллит. Браузер грузит только то, что сразу видно, сильно сокращая начальный вес страницы.
Простейший способ — нативный атрибут loading="lazy":
<img src="/team-photo.webp" loading="lazy" width="800" height="600" alt="Фото команды" />
НЕ используйте lazy loading для hero-изображений и контента в первом экране. Они должны грузиться сразу (используйте loading="eager" или просто опустите атрибут), потому что это обычно LCP-элемент.
Для большего контроля используйте Intersection Observer API, чтобы триггерить загрузку при появлении элемента в viewport.
Бизнес-эффект: Lazy loading обычно снижает начальный вес страницы на 30-40%. Для контентных страниц — блогов или портфолио, — экономия еще больше, потому что большинство изображений находятся ниже первого экрана.
7. Сокращение времени ответа сервера (TTFB)
TTFB (Time to First Byte) измеряет, сколько серверу нужно, чтобы начать отвечать. Все остальное — рендеринг, изображения, скрипты — ждет этого. Если TTFB медленный, ничто другое не компенсирует.
Распространенные причины и решения:
- Медленный хостинг: дешевый shared-хостинг часто дает TTFB больше секунды. Переходите на managed-хостинг или edge-деплой (Vercel, Netlify, Cloudflare Pages).
- Неоптимизированные запросы к БД: профилируйте медленные запросы, добавляйте индексы, кэшируйте частые чтения.
- Нет серверного кэширования: добавьте Redis или Memcached для динамического контента. Для статики — prerender при сборке.
- Нет CDN: см. технику 3.
По данным web.dev, цель — TTFB меньше 800мс. Меньше 200мс получается со статическим хостингом или edge-функциями.
Бизнес-эффект: TTFB влияет на каждую загрузку страницы. Снижение с 1.5с до 300мс дает больше секунды запаса на все остальное, часто это разница между загрузкой под 2 секунды или нет.

8. Включение сжатия Gzip или Brotli
Текстовые файлы (HTML, CSS, JavaScript, JSON, SVG) отлично сжимаются. Gzip уменьшает их размер на 60-80%. Brotli, более новая альтернатива, сжимает на 15-20% лучше Gzip.
Большинство хостингов и CDN включают Gzip по умолчанию. Brotli требует HTTPS и может понадобиться явная настройка на кастомных серверах.
Чтобы проверить: откройте Chrome DevTools, вкладка Network, и посмотрите заголовок Content-Encoding в ответах. Должно быть br (Brotli) или gzip.
Бизнес-эффект: Если сжатие выключено, вы отдаете файлы в 3-5 раз больше необходимого. Это одно из самых простых исправлений с максимальной отдачей, особенно для сайтов с большим количеством JavaScript.
9. Уменьшение количества HTTP-запросов
Каждый файл, который нужно скачать браузеру — каждый CSS, каждый скрипт, каждое изображение — это HTTP-запрос. Больше запросов значит больше round trips, больше задержек и дольше время до готовности страницы.
Шаги по сокращению:
- Объединяйте CSS-файлы где возможно (большинство бандлеров делают это).
- Inline critical CSS прямо в HTML
<head>, убирая один round trip. - Используйте CSS-спрайты или inline SVG для маленьких иконок вместо отдельных файлов.
- Удаляйте неиспользуемый CSS и JavaScript. Вкладка Coverage в Chrome DevTools показывает, какой код выполняется, а какой нет.
Бизнес-эффект: Сокращение с 80 до 40 HTTP-запросов может убрать 500мс-1с с времени загрузки на медленных соединениях. Это больше всего важно для мобильных пользователей, которые все еще составляют большинство веб-трафика.
10. Оптимизация веб-шрифтов
Кастомные шрифты — частая причина невидимого текста (FOIT) или сдвигов верстки (FOUT). Если файл шрифта грузится 2 секунды, пользователи либо ничего не видят, либо видят мелькание системного шрифта.
Исправьте так:
@font-face {
font-family: 'Inter';
src: url('/fonts/inter-var.woff2') format('woff2');
font-display: swap;
unicode-range: U+0000-00FF;
}
font-display: swapпоказывает fallback-шрифт сразу, затем меняет когда загрузится кастомный.- Субсет шрифтов — включайте только нужные символы (
unicode-range). - Используйте variable fonts где возможно. Один файл вместо 4-6 вариантов веса/стиля.
- Хостите шрифты сами вместо загрузки с Google Fonts, чтобы избежать лишнего DNS-lookup.
Бизнес-эффект: Оптимизация шрифтов предотвращает невидимый текст при загрузке и уменьшает CLS. Для корпоративных сайтов с сильным брендом это сохраняет чистое первое впечатление вместо дерганой загрузки.
11. Предзагрузка критических ресурсов
Браузер находит ресурсы по мере парсинга HTML, значит глубоко вложенные файлы (шрифты в CSS, фоны в стилях) обнаруживаются поздно. Preload говорит браузеру начать загружать их раньше.
<!-- Предзагрузить hero-изображение (LCP-элемент) -->
<link rel="preload" as="image" href="/hero.webp" type="image/webp">
<!-- Предзагрузить критичный шрифт -->
<link rel="preload" as="font" href="/fonts/inter-var.woff2" type="font/woff2" crossorigin>
<!-- Preconnect к сторонним доменам -->
<link rel="preconnect" href="https://fonts.googleapis.com">
Будьте избирательны. Preload слишком многих ресурсов сводит пользу на нет, потому что все конкурируют за bandwidth. Preload только LCP-изображение, основной шрифт и критичные сторонние домены.
Бизнес-эффект: Preload одного только LCP-изображения может улучшить Largest Contentful Paint на 200-500мс. Вместе с preconnect к сторонним доменам — мало усилий, большая отдача.
12. Code-splitting и tree-shaking JavaScript
Отдача одного огромного JavaScript-бандла означает, что каждый пользователь качает код для страниц, на которые он может никогда не зайти. Code splitting разбивает бандл на чанки, которые грузятся по требованию.
В фреймворках вроде Next.js и React:
// Динамический импорт — грузится только когда нужно
const HeavyComponent = dynamic(() => import('./HeavyComponent'), {
loading: () => <Skeleton />,
});
Tree-shaking убирает неиспользуемые экспорты из бандла при сборке. Современные бандлеры (Webpack 5, Vite, Turbopack) делают это автоматически для ES-модулей, но это ломается с CommonJS require().
Проверяйте размер бандла инструментами вроде @next/bundle-analyzer или source-map-explorer, чтобы найти главных виновников.
Бизнес-эффект: Хорошо разделенное приложение может сократить начальный JavaScript на 40-60%. Меньше JavaScript — быстрее Time to Interactive, что напрямую влияет на то, как быстро пользователи могут взаимодействовать с сайтом.
13. Оптимизация сторонних скриптов
Аналитика, чаты, реклама, социальные виджеты: сторонние скрипты часто оказываются самым тяжелым на странице, и у вас меньше всего контроля над ними.
Шаги по управлению:
- Аудитируйте всё. Откройте Chrome DevTools, вкладка Network, фильтр "third-party" и проверьте, сколько каждый скрипт стоит в размере и времени.
- Откладывайте некритичные скрипты. Аналитика и чаты не нужны до тех пор, пока страница не станет юзабельной.
- Используйте
loading="lazy"для встраиваемого контента (YouTube, карты, социальные фиды). - Меняйте тяжелые виджеты на более легкие. Чат-виджет на 300КБ может иметь альтернативу на 30КБ.
- Задавайте бюджет скриптов. Если сторонний скрипт добавляет больше 50мс к загрузке — вопросите, стоит ли он того.
Бизнес-эффект: Мы видели сайты, где сторонние скрипты занимали 60%+ всего JavaScript. Чистка может убрать секунды с времени загрузки и сильно улучшить INP (отзывчивость на клики).
14. Постоянный мониторинг и тестирование
Оптимизация скорости — не разовый проект. Новые фичи, обновления контента и апгрейды зависимостей могут незаметно ухудшать производительность, если за этим не следить.
Настройте постоянный мониторинг:
- Google Search Console отслеживает Core Web Vitals от реальных пользователей со временем. Проверяйте отчет "Core Web Vitals" ежемесячно.
- Lighthouse CI (или аналоги) запускает тесты производительности в пайплайне деплоя, чтобы регрессии ловились до продакшена.
- Real User Monitoring (RUM) инструменты вроде Vercel Analytics или библиотеки web-vitals собирают реальные field data от посетителей.
Создайте performance budget: задайте максимальные значения для веса страницы, размера JavaScript и LCP, при превышении которых срабатывают алерты.
Бизнес-эффект: Команды, которые мониторят производительность, находят регрессии в 10 раз быстрее тех, кто аудит раз в квартал. Пост-запускная оптимизация работает только если у вас есть данные, чтобы видеть что изменилось и когда.
Нужна помощь с оптимизацией скорости сайта?
Мы проводим аудиты производительности и внедряем эти техники в каждом проекте. Получите загрузку сайта до 2 секунд.
Заказать аудит производительностиЧек-лист оптимизации скорости сайта
Используйте как быструю проверку. Если не хватает нескольких пунктов — начинайте с тех, что влияют на Core Web Vitals.
Сервер и инфраструктура
- TTFB меньше 800мс во всех регионах
- CDN раздает статические ресурсы
- Время ответа сервера стабильно под нагрузкой
- Gzip или Brotli включены для текстовых файлов
Изображения и медиа
- Все изображения в WebP или AVIF
- Responsive images используют
srcsetдля разных экранов - Изображения ниже первого экрана имеют
loading="lazy" - У всех изображений заданы
widthиheight
CSS и JavaScript
- CSS и JS минифицированы в продакшене
- Critical CSS встроен в
<head> - JavaScript бандлы разделены по роутам
- Неиспользуемый CSS и JS удалены (проверьте вкладку Coverage)
- Блокирующие рендеринг скрипты используют
asyncилиdefer
Шрифты
- Веб-шрифты используют
font-display: swap - Шрифты субсетированы до нужных символов
- Основной шрифт предзагружен через
<link rel="preload">
Мониторинг
- Core Web Vitals отслеживаются в Google Search Console
- Тесты производительности запускаются в CI/CD пайплайне
- Сторонние скрипты аудируются ежеквартально
- Бюджет веса страницы задан и контролируется
Этот чек-лист покрывает ту же область, что и полный аудит сайта. Если ваш сайт проходит все пункты, производительность в порядке.
Готовы ускорить ваш сайт?
От аудитов производительности до полной оптимизации — мы помогаем бизнесам загружаться до 2 секунд и конвертировать больше посетителей.
Обсудить проектВыводы
Оптимизация скорости сайта — это не одно большое исправление. Это 14 маленьких, которые складываются. Изображения, кэширование, CDN, сжатие, блокирующие ресурсы, шрифты, lazy loading, ответ сервера, code splitting и мониторинг — каждое отнимает время, а вместе они дают загрузку под 2 секунды.
Начните с оценки в PageSpeed Insights. Чините то, что он отмечает первым. Проходите список от техники 1 до 14, замеряя после каждого изменения. Не нужно делать все сразу, но нужно делать.
Бизнес-кейс простой: быстрые сайты конвертируют лучше, ранжируются выше, стоят дешевле в обслуживании. Каждая секунда, которую вы убираете с загрузки — это деньги.
Если нужна помощь — Vezert закладывает скорость в каждый проект с самого начала. Мы применяем те же техники, что описаны здесь, в процессе разработки, и результаты видны в нашем портфолио. Скорость — это не то, что мы чиним потом. Это то, как мы строим.

На странице
- Почему скорость сайта — это бизнес-метрика
- Как измерить скорость сайта
- Бенчмарки скорости: какая скорость считается нормальной
- 14 проверенных техник ускорения сайта
- 1. Оптимизация и сжатие изображений
- 2. Включение кэширования в браузере
- 3. Использование CDN
- 4. Минификация CSS, JavaScript и HTML
- 5. Устранение ресурсов, блокирующих рендеринг
- 6. Ленивая загрузка изображений
- 7. Сокращение времени ответа сервера (TTFB)
- 8. Включение сжатия Gzip или Brotli
- 9. Уменьшение количества HTTP-запросов
- 10. Оптимизация веб-шрифтов
- 11. Предзагрузка критических ресурсов
- 12. Code-splitting и tree-shaking JavaScript
- 13. Оптимизация сторонних скриптов
- 14. Постоянный мониторинг и тестирование
- Чек-лист оптимизации скорости сайта
- Выводы



