Формат шрифтов WOFF2 стал стандартом для веба благодаря высокой степени сжатия и поддержке современными браузерами. Однако даже такие оптимизированные шрифты могут замедлять загрузку страниц, если их не правильно подключать и не оптимизировать. В этой статье рассмотрим, как именно улучшить загрузку WOFF2 шрифтов в WordPress, чтобы ускорить отображение контента и повысить оценку Core Web Vitals.
Почему важна оптимизация загрузки WOFF2 в WordPress
WOFF2 — это формат веб-шрифтов, который обеспечивает лучшую компрессию по сравнению с предыдущими версиями (WOFF, TTF, EOT). Но даже с WOFF2 неправильное подключение шрифтов может привести к блокировке рендеринга, увеличению времени First Contentful Paint (FCP) и ухудшению пользовательского опыта.
Основные проблемы при загрузке шрифтов:
- Рендер-блокирующие запросы CSS, которые подключают шрифты.
- Большие файлы шрифтов без подгрузки по требованию.
- Отсутствие предварительной загрузки (preload) шрифтов.
- Неиспользование формата WOFF2 там, где это возможно.
Оптимизация загрузки шрифтов поможет сократить время до первой отрисовки текста и повысить скорость сайта в целом.
Основные техники оптимизации загрузки WOFF2 шрифтов
1. Использование preload для шрифтов
Тег <link rel="preload" as="font" crossorigin> позволяет браузеру начать загрузку шрифтов как можно раньше, даже до загрузки CSS. Это снижает задержку при отображении текста с нестандартными шрифтами.
В WordPress это можно сделать через хук wp_head или через фильтр для добавления тегов:
function wpspeed_preload_woff2_fonts() {
echo '<link rel="preload" href="'.get_template_directory_uri().'/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin>';
}
add_action('wp_head', 'wpspeed_preload_woff2_fonts');Если шрифты подключаются через плагин или Google Fonts, стоит проверить, поддерживают ли они preload, или добавить вручную.
2. Подключение шрифтов с атрибутом font-display
CSS-свойство font-display управляет тем, как браузер отображает текст до загрузки шрифта. Для улучшения UX и скорости рекомендуется использовать font-display: swap;, чтобы текст сразу отображался системным шрифтом, а затем заменялся на кастомный.
Пример подключения @font-face с font-display:
@font-face {
font-family: 'MyFont';
src: url('/wp-content/themes/mytheme/fonts/myfont.woff2') format('woff2');
font-display: swap;
}Если вы используете Google Fonts, можно добавить параметр &display=swap в URL запроса.
3. Разделение шрифтов по необходимым стилям и весам
Часто шрифты включают множество стилей и весов, которые не всегда нужны на всех страницах. Подгружайте только те варианты, которые реально используются, чтобы уменьшить общий размер загружаемых файлов.
Для этого можно:
- Создать отдельные @font-face с нужными весами.
- Подключать шрифты динамически с помощью PHP по типу страницы.
- Использовать плагин Clearfy Pro, который позволяет оптимизировать подключение шрифтов.
Пример реализации оптимизированного подключения WOFF2 шрифта в WordPress
Рассмотрим полный пример, как подключить шрифт с preload, font-display и минимальным набором стилей.
function wpspeed_enqueue_optimized_fonts() {
// Добавляем preload в head
echo '<link rel="preload" href="'.get_template_directory_uri().'/fonts/myfont-regular.woff2" as="font" type="font/woff2" crossorigin>';
// Подключаем CSS с @font-face
wp_add_inline_style('theme-style', "
@font-face {
font-family: 'MyFont';
src: url('".get_template_directory_uri()."/fonts/myfont-regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
");
}
add_action('wp_enqueue_scripts', 'wpspeed_enqueue_optimized_fonts');Этот код добавляет preload в head и внедряет нужный CSS без необходимости отдельного файла.
Использование плагинов для оптимизации загрузки WOFF2 шрифтов
Если вы не хотите внедрять код вручную, можно использовать специализированные плагины:
- Clearfy Pro — позволяет гибко управлять загрузкой шрифтов, добавлять preload, отключать ненужные стили и оптимизировать font-display. Подробнее на официальном сайте.
- OMGF — плагин для локального хостинга Google Fonts с поддержкой preload и font-display.
- WP Rocket — в настройках оптимизации позволяет управлять preload для шрифтов и уменьшать рендер-блокирующие ресурсы.
Эти инструменты облегчают внедрение оптимизаций без глубоких знаний PHP и CSS.
Дополнительные советы и рекомендации
1. Используйте локальное хранение шрифтов
Загрузка шрифтов с собственного сервера уменьшает зависимость от сторонних сервисов, повышает безопасность и контроль над кешированием.
Плагины вроде Clearfy Pro помогают автоматизировать этот процесс.
2. Минимизируйте количество используемых шрифтов
Чем меньше вариантов шрифтов и стилей, тем быстрее загрузка. Если возможно, ограничьтесь 2-3 вариантами.
3. Контролируйте кеширование и заголовки
Настройте сервер на отдачу шрифтов с длительным кешированием, чтобы повторные посетители не загружали файлы заново.
Выводы
Оптимизация загрузки WOFF2 шрифтов в WordPress — это комплекс мер: правильное подключение через preload, использование font-display: swap, минимизация количества шрифтов и веса файлов, а также использование специализированных плагинов для автоматизации. Это позволит существенно ускорить загрузку страниц, улучшить показатели Core Web Vitals и повысить удовлетворенность пользователей.
Для более удобной работы рекомендуем обратить внимание на плагин Clearfy Pro, который содержит инструменты для оптимизации шрифтов и других важных аспектов скорости WordPress.