Разработка

Как ускорить загрузку веб-шрифтов

Шрифты часто оказываются среди первых файлов, которые нужны странице. Эти семь способов перечислены примерно по степени влияния, и большинство из них занимает всего несколько минут.

Средний · Чтение: 7 мин · Обновлено 31 октября 2026 г.

Как ускорить загрузку веб-шрифтов

1. Используйте WOFF2

Это самый компактный распространённый формат. Если вы всё ещё отдаёте TTF или OTF, это самый простой выигрыш. Чтобы сконвертировать шрифты, воспользуйтесь генератором веб-шрифтов.

2. Удалите неиспользуемые символы

Многие шрифты содержат алфавиты, которые ваш сайт никогда не показывает. Субсеттер шрифтов оставляет только те языки, которые вы выберете. Сначала проверьте лицензию и сохраните все языки, которые использует ваш сайт.

3. Загружайте меньше начертаний

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

4. Рассмотрите вариативный шрифт

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

5. Предзагрузите основной шрифт

Обычно браузер находит шрифт только после того, как прочитает CSS. Предзагрузка позволяет начать загрузку раньше:

<link rel="preload" href="/fonts/brand-regular.woff2" as="font" type="font/woff2" crossorigin>

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

6. Настройте font-display

Это свойство определяет, что видит посетитель, пока шрифт загружается. Значение swap сразу показывает запасной шрифт, поэтому текст никогда не бывает невидимым. Значение optional исключает позднюю замену, но на медленном соединении при первом визите ваш шрифт может не появиться.

7. Кешируйте шрифты надолго

Файлы шрифтов меняются редко, поэтому пусть браузеры их сохраняют. Добавьте в имя файла версию или хеш, а затем отправьте заголовок:

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

Измерьте результат

Проверьте страницу в тесте скорости страницы до и после изменений и сравните Largest Contentful Paint и смещение макета.

Часто задаваемые вопросы

Каким должен быть размер веб-шрифта?
Жёсткого ограничения нет, но латинский субсет в WOFF2 часто весит около 15–40 КБ на одно начертание. Общий объём зависит от того, сколько файлов вы загружаете.
Нужно ли предзагружать каждый шрифт?
Нет. Предзагрузка слишком большого количества файлов может замедлить более важные загрузки. Ограничьтесь одним-двумя шрифтами, которые используются в начале страницы.
Стоит ли встраивать шрифты в CSS в виде Base64?
Обычно нет. Это увеличивает размер CSS и блокирует отрисовку страницы во время загрузки. Такой подход лучше оставить для очень маленьких шрифтов.

Читайте также