Оптимизация загрузки шрифтов в WordPress: как ускорить сайт

|

Почему важна оптимизация загрузки шрифтов в WordPress

Шрифты — это важный элемент дизайна сайта, который влияет на его внешний вид и восприятие пользователями. Однако не оптимизированные шрифты могут значительно замедлять загрузку страниц, ухудшать Core Web Vitals и влиять на SEO. Особенно это заметно, если на сайте используются нестандартные веб-шрифты, подключаемые с внешних сервисов, например Google Fonts.

При загрузке страницы браузер часто блокирует отрисовку контента до тех пор, пока шрифты не загрузятся, что вызывает эффект «мерцания» или FOUT (Flash of Unstyled Text). Оптимизация загрузки шрифтов решает эти проблемы, минимизирует задержки и повышает удовлетворенность посетителей.

Для WordPress существуют свои особенности, так как тема и плагины могут подключать шрифты автоматически, и важно правильно управлять этим процессом.

Способы оптимизации загрузки шрифтов в WordPress

1. Локальное хранение шрифтов вместо подключения с CDN

Многие темы и плагины подключают шрифты напрямую с Google Fonts или других CDN. Это удобно, но вызывает дополнительные DNS-запросы и задержки. Чтобы ускорить загрузку, рекомендуется скачать шрифты и разместить их на собственном сервере.

Пример скачивания и подключения шрифтов локально:

/* Скачайте нужные файлы шрифтов в папку темы, например /fonts/ */

@font-face {
  font-family: 'WpzoomRoboto';
  src: url('fonts/roboto-regular.woff2') format('woff2'),
       url('fonts/roboto-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

В файле стилей темы подключите этот шрифт, указав font-display: swap — это позволит показывать текст с запасным системным шрифтом, пока основной загружается.

2. Использование атрибута font-display для улучшения визуальной загрузки

Когда вы подключаете шрифты через @font-face или через Google Fonts, важно использовать font-display. Это CSS-свойство управляет стратегией отображения шрифтов, и его отсутствие может привести к блокирующей отрисовке.

Варианты значения:

Пример подключения Google Fonts с указанием font-display через PHP:

function wpzoom_enqueue_google_fonts() {
    wp_enqueue_style( 'wpzoom-google-fonts', 'https://fonts.googleapis.com/css2?family=Roboto&display=swap', false );
}
add_action( 'wp_enqueue_scripts', 'wpzoom_enqueue_google_fonts' );

3. Предзагрузка шрифтов (Preload) для ускорения первых запросов

Чтобы браузер начал загружать шрифты максимально рано, можно добавить тег <link rel="preload" as="font" crossorigin> в <head>. Это особенно эффективно для критичных шрифтов.

Добавим предзагрузку в WordPress через хук:

function wpzoom_preload_fonts() {
    echo '<link rel="preload" href="'.get_template_directory_uri().'/fonts/roboto-regular.woff2" as="font" type="font/woff2" crossorigin>';
}
add_action( 'wp_head', 'wpzoom_preload_fonts' );

Важно, чтобы путь и атрибуты были корректны, иначе эффект не появится.

Плагины для оптимизации шрифтов в WordPress

1. OMGF (Optimize My Google Fonts)

Плагин автоматически скачивает Google Fonts на ваш сервер и меняет ссылки в стилях, чтобы использовать локальные файлы. Это значительно улучшает скорость загрузки и позволяет контролировать font-display.

Преимущества:

2. WP Rocket

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

3. Asset CleanUp

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

Реальный пример: локальное подключение Google Fonts в теме WordPress с оптимизацией

Шаги:

  1. Скачайте нужные файлы шрифтов в форматах woff и woff2 (например, Roboto Regular и Bold) с сайта fonts.google.com или с помощью инструмента google-webfonts-helper.
  2. Загрузите файлы в папку вашей темы, например /wp-content/themes/your-theme/fonts/.
  3. Добавьте в файл style.css вашей темы следующий код:
@font-face {
  font-family: 'WpzoomRoboto';
  src: url('fonts/roboto-regular.woff2') format('woff2'),
       url('fonts/roboto-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'WpzoomRoboto';
  src: url('fonts/roboto-bold.woff2') format('woff2'),
       url('fonts/roboto-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
  1. В functions.php добавьте функцию предзагрузки шрифтов:
function wpzoom_preload_local_fonts() {
    echo '<link rel="preload" href="'.get_template_directory_uri().'/fonts/roboto-regular.woff2" as="font" type="font/woff2" crossorigin>';
    echo '<link rel="preload" href="'.get_template_directory_uri().'/fonts/roboto-bold.woff2" as="font" type="font/woff2" crossorigin>';
}
add_action( 'wp_head', 'wpzoom_preload_local_fonts' );
  1. В стилях темы используйте шрифт:
body {
  font-family: 'WpzoomRoboto', Arial, sans-serif;
}

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

Дополнительные советы по оптимизации шрифтов в WordPress

Используйте минимальное количество начертаний

Каждый дополнительный вес шрифта (например, 300, 400, 700, 900) — это отдельный файл, который нужно загрузить. Оставляйте только те варианты, которые действительно нужны дизайну.

Объединяйте и минимизируйте CSS

Объединение стилей и минимизация CSS сокращают размер файлов и ускоряют их загрузку. Многие плагины кэширования умеют это делать автоматически.

Управляйте загрузкой шрифтов через хуки WordPress

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

function wpzoom_dequeue_unwanted_fonts() {
    wp_dequeue_style( 'unwanted-font-handle' );
}
add_action( 'wp_enqueue_scripts', 'wpzoom_dequeue_unwanted_fonts', 20 );

Таким образом можно контролировать все подключаемые шрифты и исключать лишние.

Как добавить настройки в админ-панель WordPress: пошаговое руководство с примерами кода
27.11.2025
Оптимизация базы данных WordPress: практические советы и примеры кода
19.11.2025
Как автоматизировать удаление старых черновиков в WordPress без плагинов
20.02.2026
Как создать собственный шорткод в WordPress с примерами
01.11.2025
WooCommerce: решение проблемы с неактивными кнопками корзины после обновления
19.06.2026
×
WPShop
партнерка без «но»!

До 3225₽ за каждую продажу

Подключиться к игре