SEO html5css.dev
html5css.dev

SEO продвижение сайтов

Полный цикл: от проектирования и семантики до ссылочного, перелинковки и текстов.

0. Старт С чего начинается работа: цели, инструменты, сервисы 2 1. Проектирование сайта Структура, семантика, title и description 11 2. Прототипирование Карточка товара и страница категории на примере магазина 3 3. Контент и ключевые слова Ключи в тексте, заголовки, объём, читаемость, изображения, внутренние ссылки 20 3.1. Сайт целиком и коммерция Структура, sitemap, крошки, домен, контакты, ассортимент, доставка, поддержка 22 3.2. Поведенческие факторы Домен и бренд, релевантность title, вложенность, удовлетворённость пользователя 11 4. Техническая оптимизация Скорость, дубли, robots.txt, sitemap.xml, битые страницы 9 5. Внешние факторы Ссылочное, доноры, анкоры, линкбилдинг 13 6. Продвижение бренда Брендовый трафик и его оценка 3 7. Нестандартные методы Актуализация контента, нулевая позиция, SILO, обрезка контента 17 8. Крауд-маркетинг Форумы, отзовики, Q&A, соцсети, поиск площадок и сервисы 16 8.1. Стратегии крауда Стратегии размещения, выживаемость постов, объёмы, делегирование 11 9. Юзабилити сайта Макет, навигация, формы, корзина, контрастность 10 10. Внутренняя перелинковка Вес страниц, анкоры, схемы связывания 10 11. Работа с текстами LSI, структура текста, применение ключей 8

С чего начать

Последовательный курс: проектирование → внутренняя оптимизация → техничка → ссылочное → тексты.

15глав
166уроков

Мобильная выдача

Отдельный курс про мобильный индекс: скорость, интерфейс, голосовой поиск и регионы.

6глав
44урока

Новый курс

Поиск всё чаще отвечает текстом. Курс о том, как попадать в источники этих ответов и не потерять доверие.

5глав
15уроков
  1. html5css.dev
  2. SEO
  3. Мобильное SEO
  4. Скорость сайта
  5. Минификация контента
Глава 4 · Скорость сайта Урок 2 из 7 Обновлено 26.08.2026

Минификация контента

Минификация — гигиена, а не ускорение: после сжатия выигрыш измеряется процентами. Реальный эффект дают критический CSS, отложенные скрипты и удаление того, что не используется.

Что изменилось с прошлой версии урока Раньше минификация подавалась как основной способ ускорения. С повсеместным сжатием Brotli её вклад стал небольшим. Основной эффект дают другие вещи — они и разобраны ниже.

Что даёт минификация на самом деле

ФайлИсходныйМинифицированныйПосле Brotli
CSS120 КБ95 КБ14 → 13 КБ
JS300 КБ180 КБ60 → 52 КБ
HTML90 КБ82 КБ12 → 11 КБ

Цифры ориентировочные, но соотношение типичное: после сжатия разница — единицы процентов. Минифицировать стоит (это бесплатно на сборке), но искать ускорение нужно в другом месте.

Что даёт больше: четыре приёма

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

Внешний CSS блокирует отрисовку: браузер не покажет ничего, пока не загрузит файл. Решение — встроить стили первого экрана в HTML, остальное подгрузить отложенно.

<style>/* критические стили первого экрана */</style>

<link rel="preload" href="/css/main.css" as="style"
      onload="this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/css/main.css"></noscript>

2. Отложенные скрипты

<script src="/js/app.js" defer></script>
  • defer — по умолчанию для всего: не блокирует разбор, порядок сохраняется.
  • async — для независимых счётчиков, где порядок не важен.
  • По требованию — чат, карта, видеоплеер грузятся по нажатию, а не при загрузке.
  • Ничего в <head> без атрибутов: такой скрипт блокирует отрисовку.

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

Откройте DevTools → Coverage и перезагрузите страницу. Красная часть полосы — загруженный, но не использованный код. Типичные источники:

  • CSS-фреймворк целиком ради десятка классов.
  • Иконочный шрифт с тысячей символов ради пятнадцати.
  • Библиотека дат ради одной функции форматирования.
  • Стили плагинов, отключённых год назад.
  • Слайдер на страницах, где слайдера нет.

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

Чаще всего именно они портят INP: чат, пиксели, виджеты отзывов, карты. Правило простое — подключать по необходимости и после взаимодействия.

// чат загружается только при первом действии пользователя
const load = () => {
  const s = document.createElement('script');
  s.src = 'https://chat.example.com/widget.js';
  document.body.appendChild(s);
};
['click','scroll','keydown'].forEach(e =>
  addEventListener(e, load, {once: true, passive: true}));
Осторожно с автоматической минификацией HTML Агрессивные настройки удаляют пробелы там, где они значимы — между инлайновыми элементами. Текст «слипается»: «купитьсейчас» вместо «купить сейчас». Проверяйте результат глазами после включения.

Порядок работ

  1. Включить сжатие Brotli на сервере — самый большой эффект за наименьшие усилия.
  2. Убрать блокирующие скрипты из <head>, проставить defer.
  3. Вынести критический CSS в инлайн, остальное отложить.
  4. Прогнать Coverage и удалить неиспользуемое.
  5. Перевести сторонние виджеты на загрузку по требованию.
  6. Включить минификацию на сборке — как гигиену.
  7. Проверить полевые данные через месяц.

Итог

Минификация — последний по эффекту пункт списка, хотя исторически считался первым. Начинайте со сжатия и порядка загрузки ресурсов, продолжайте удалением неиспользуемого кода и отложенной загрузкой сторонних виджетов. Дальше — сжатие на стороне сервера.

Частые вопросы

Насколько минификация ускоряет сайт?

Немного. После сжатия Brotli разница между минифицированным и обычным кодом обычно составляет единицы процентов. Делать её нужно, но ждать от неё заметного эффекта не стоит.

Что такое критический CSS?

Стили, необходимые для отрисовки первого экрана. Их встраивают прямо в HTML, а остальной CSS подгружают отложенно. Это убирает блокировку отрисовки и заметно улучшает LCP.

Чем defer отличается от async?

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

Как понять, сколько кода не используется?

Вкладка Coverage в Chrome DevTools показывает долю загруженного, но не выполненного CSS и JS на конкретной странице. Часто оказывается, что не используется больше половины.

Вся глава «Скорость сайта» — 7 уроков
  1. Производительность сайта и способы её измерения
  2. Минификация контента
  3. Сжатие: Brotli и GZIP
  4. Оптимизация изображений
  5. Протоколы HTTP/2 и HTTP/3
  6. Настройка многоуровневого кеширования
  7. Использование CDN