Блог · Производительность
31 октября 2026

Веб-шрифты: как
не терять скорость

font-display, подмножества символов и почему один лишний шрифт стоит целой секунды загрузки.

Коротко
  • Каждое начертание шрифта (regular, bold, italic) — отдельный файл, который нужно скачать
  • font-display: swap показывает текст системным шрифтом сразу, не дожидаясь загрузки веб-шрифта
  • Подмножество символов (только кириллица или только латиница) может уменьшить файл шрифта в разы
  • Смена шрифта после загрузки сдвигает текст на странице — это ухудшает метрику CLS
01 / Проблема

Почему шрифты — это дорого

Незаметная, но частая причина медленной загрузки

Веб-шрифт — это отдельный файл (обычно 20-100 КБ на начертание), который браузер должен скачать, прежде чем показать текст этим шрифтом. Если сайт подключает 4-5 начертаний «на всякий случай», это может добавить к загрузке лишние сотни килобайт и заметную задержку до появления читаемого текста.

02 / font-display

font-display: что выбрать

Показывать текст сразу или ждать красивый шрифт

ЗначениеПоведение
swapПоказывает системный шрифт сразу, заменяет на веб-шрифт, когда он загрузится — рекомендуется для большинства сайтов
blockЖдёт веб-шрифт короткое время, текст невидим — риск FOIT (flash of invisible text)
optionalИспользует веб-шрифт, только если он успел загрузиться очень быстро — иначе остаётся системный навсегда в этой сессии
@font-face {
  font-family: 'Geologica';
  src: url('geologica.woff2') format('woff2');
  font-display: swap;
}
03 / Подмножества

Подмножества символов (subsetting)

Зачем грузить арабские и тайские символы, если сайт на русском

Полный файл шрифта включает символы для десятков языков и специальные знаки, которые сайту почти никогда не нужны. Google Fonts и большинство современных инструментов позволяют указать нужный unicode-range — например, только кириллицу и базовую латиницу для брендовых названий — и получить файл в разы легче.

Совет: у Google Fonts подмножество можно указать прямо в URL через параметр &subset=cyrillic — не нужна отдельная сборка шрифта.

04 / Начертания

Сколько начертаний реально нужно

Меньше, чем кажется дизайнеру на старте

  • Regular (400) — для основного текста, всегда нужен
  • Medium/Semibold (500-600) — для заголовков и акцентов, обычно достаточно одного жирного начертания
  • Italic — часто вообще не нужен на сайтах, кроме цитат

Переменные шрифты (variable fonts) — альтернатива: один файл покрывает весь диапазон начертаний через CSS-параметр font-variation-settings, вместо отдельного файла на каждый вес.

05 / FAQ

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

Короткие ответы на главное

Сколько начертаний шрифта разумно подключать?

Обычно достаточно 2-3: regular, medium/semibold для заголовков и, если нужно, bold. Каждое лишнее начертание — это ещё один файл на загрузку.

Стоит ли использовать системные шрифты вместо веб-шрифтов?

Системные шрифты (system-ui) грузятся мгновенно, потому что уже есть на устройстве — компромисс с уникальностью дизайна, но выигрыш в скорости заметный.

Что такое CLS и при чём тут шрифты?

Cumulative Layout Shift — метрика того, насколько страница «прыгает» при загрузке. Смена шрифта после загрузки веб-версии сдвигает текст и картинки, что ухудшает CLS.

Хотите быстрый сайт с хорошей типографикой?

Настроим шрифты так, чтобы сайт выглядел красиво и грузился мгновенно.