Технический SEO

Ускорение сайта — пошаговое руководство к зелёной зоне

TL;DR

Ускорение сайта в 2026 = доведение Core Web Vitals в зелёную зону + общая оптимизация UX. Главные точки роста: оптимизация изображений (WebP/AVIF + lazy load), удаление лишнего JS, минификация CSS, кэширование, CDN, шрифты с font-display swap.

С чего начать

Замер текущего состояния

  1. PageSpeed Insights — основные метрики.
  2. Lighthouse в DevTools — детально.
  3. WebPageTest — глубокий анализ.
  4. Chrome User Experience Report — реальные данные.

Сделайте скриншоты «до» — потом сравните с «после».

Приоритизация проблем

В Lighthouse в разделе Opportunities — список оптимизаций с прогнозируемой экономией времени. Начните с самых больших.

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

Форматы

Формат Размер vs JPEG Поддержка
WebP -25-35% Все современные
AVIF -50% 95%+ браузеров
JPEG базовый Все
PNG для прозрачности Все

Рекомендация: WebP как основной, AVIF где возможно, fallback JPEG.

Адаптивные изображения

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

Размеры

<img srcset="small.jpg 320w,
             medium.jpg 768w,
             large.jpg 1200w"
     sizes="(max-width: 768px) 100vw, 800px"
     src="large.jpg" alt="...">

Браузер выберет нужное под устройство.

Lazy loading

Для всех изображений ниже первого экрана:

<img src="image.jpg" loading="lazy" alt="...">

Для главного (LCP) — наоборот:

<img src="hero.jpg" fetchpriority="high" alt="...">

Width и height

Всегда указывайте размеры — это убирает CLS:

<img src="image.jpg" width="800" height="600" alt="...">

Сжатие

  • TinyPNG / TinyJPG — браузерный сервис.
  • Squoosh — продвинутый.
  • ImageMagick / Sharp — серверная обработка.
  • Cloudinary / ImageKit — облачные сервисы с автоматической оптимизацией.

CSS

Минификация

# Через postcss-cli
npx postcss styles.css -o styles.min.css --use cssnano

Экономит 20-40%.

Удаление неиспользуемого

PurgeCSS, UnCSS — удаляют неиспользуемые селекторы.

Критический CSS

CSS, нужный для отрисовки первого экрана, — inline в <head>. Остальной — асинхронно:

<style>/* критический CSS */</style>
<link rel="preload" href="main.css" as="style" onload="this.onload=null;this.rel='stylesheet'">

Загрузка из CDN

Bootstrap, Tailwind с CDN загружаются быстрее. Но осторожно — CDN может тормозить.

JavaScript

Минификация

npx terser script.js -o script.min.js

Tree-shaking

Удаление неиспользуемого кода. Webpack, Rollup, Vite делают автоматически.

Code splitting

Разбиение на чанки. Загружаются по необходимости:

const Component = () => import('./HeavyComponent.js');

Async и defer

<script src="analytics.js" async></script>
<script src="non-critical.js" defer></script>
  • async — выполняется как только загружен.
  • defer — после парсинга HTML.

Для большинства скриптов — defer.

Удаление лишнего

Часто на сайте десятки скриптов, из которых половина не нужна:

  • jQuery, если не используется.
  • Старые библиотеки.
  • Дубликаты.

Аудит через Coverage в DevTools.

Сторонние скрипты

Главный убийца скорости:

  • Аналитика.
  • Чаты.
  • Виджеты.
  • Реклама.

Решения:

  • Загружать после взаимодействия (requestIdleCallback).
  • Отключать ненужное.
  • Использовать lite-версии (WhatsApp Lite Widget вместо тяжёлого).

Шрифты

Форматы

WOFF2 — современный, сжатый. Используйте.

font-display

@font-face {
  font-family: 'MyFont';
  src: url('myfont.woff2') format('woff2');
  font-display: swap;
}

swap — показывает fallback пока шрифт грузится. Убирает FOIT.

Preload

Для главных шрифтов:

<link rel="preload" href="myfont.woff2" as="font" type="font/woff2" crossorigin>

Subsetting

Удаление неиспользуемых символов из шрифта. Экономит 30-70%.

Сервисы: glyphhanger, Google Fonts с фильтром символов.

Размер

  • 1-2 шрифта максимум.
  • 2-3 начертания каждого.
  • Не загружать всё семейство.

Кэширование

HTTP-заголовки

Cache-Control: public, max-age=31536000, immutable

Для статики (CSS, JS, шрифты, изображения) — длительный кэш с версионированием в URL.

Apache

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"
  ExpiresByType font/woff2 "access plus 1 year"
</IfModule>

nginx

location ~* \.(jpg|jpeg|png|webp|css|js|woff2)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
}

Service Worker

Для PWA — service worker кэширует ресурсы в браузере. Полное оффлайн-режим.

Сжатие

Gzip / Brotli

Включить на сервере. Brotli лучше Gzip на 15-25%.

brotli on;
brotli_comp_level 6;
brotli_types text/html text/css application/javascript;

gzip on;
gzip_comp_level 6;
gzip_types text/html text/css application/javascript;

Сервер

TTFB

Должен быть < 600 мс.

Что влияет:

  • Качество хостинга.
  • PHP версия (8.2+).
  • OPcache.
  • Database optimization.
  • CDN.

HTTP/2 и HTTP/3

Включить на сервере. Параллельная загрузка ресурсов = быстрее.

CDN

Раздача статики с edge-серверов:

  • Cloudflare (бесплатно есть).
  • BunnyCDN.
  • ImageKit.
  • KeyCDN.

Особенно эффективно для глобального трафика.

База данных

Индексы

Без индексов на популярных запросах — каждый запрос скандает всю таблицу.

Кэширование запросов

Redis, Memcached, OPcache.

Денормализация

Иногда правильно — хранить вычисленные данные, а не считать на лету.

Чек-лист

Изображения

  • [ ] WebP/AVIF.
  • [ ] Lazy loading.
  • [ ] Width/height указаны.
  • [ ] Сжаты.
  • [ ] Адаптивные (srcset).

CSS

  • [ ] Минифицирован.
  • [ ] Критический inline.
  • [ ] Удалён неиспользуемый.

JS

  • [ ] Минифицирован.
  • [ ] Async/defer.
  • [ ] Удалены лишние библиотеки.
  • [ ] Сторонние с задержкой.

Шрифты

  • [ ] WOFF2.
  • [ ] font-display: swap.
  • [ ] Preload главных.

Сервер

  • [ ] HTTPS.
  • [ ] HTTP/2 или HTTP/3.
  • [ ] Gzip/Brotli.
  • [ ] Кэширование.
  • [ ] PHP 8.2+.

CDN

  • [ ] Раздача статики.

Инструменты

  • PageSpeed Insights
  • Lighthouse
  • WebPageTest
  • GTmetrix
  • Pingdom
  • Cloudflare Analytics

Заказать ускорение

Доведу ваш сайт до зелёной зоны Core Web Vitals. Услуга — от 30 000 ₽. С отчётом до и после.

скорость оптимизация core web vitals

Нужна помощь по этой теме?

Закажите аудит сайта или часовую консультацию — разберём вашу ситуацию лично.

Написать в Telegram Оставить заявку

Похожие статьи

Технический SEO
Чек-лист SEO-миграции сайта: 47 пунктов до и после переезда
Чек-лист SEO-миграции сайта: 47 пунктов до и после переезда без потери трафика. Личный опыт переноса: редиректы, мониторинг, типичные ошибки.
Читать
Технический SEO
301 и 302 редиректы — всё, что нужно знать
301 vs 302 редиректы: чем отличаются, когда использовать. Разбор от практика: настройка через .htaccess и nginx, переезд без потери позиций. С примерами.
Читать
Технический SEO
Crawl budget — как оптимизировать обход бота на крупных сайтах
Что такое crawl budget и как экономить его на крупных сайтах. Разбор от практика: анализ логов, sitemap, robots, internal linking. Для сайтов 10 000+ страниц.
Читать
Технический SEO
Mobile-First SEO — оптимизация под мобильный поиск
Mobile-First Indexing в Google и Яндексе. Личный опыт частного SEO: адаптивный дизайн, скорость, юзабилити, попапы. Чек-лист мобильной оптимизации сайта.
Читать

Есть вопрос по теме статьи?

Если статья не закрыла вопрос — напишите в Telegram с деталями вашего сайта. Отвечу лично, без менеджеров и форм.

Написать в Telegram Заказать SEO-аудит