🤔 Зачем вообще отключать Google Fonts?
Казалось бы, подключил строчку кода и красивые шрифты уже на сайте. Удобно! Но есть несколько весомых «но»:
- 📜 Закон 152-ФЗ: При загрузке шрифтов с серверов Google, IP-адреса ваших российских пользователей передаются за границу. Это прямое нарушение закона о локализации персональных данных, что может привести к штрафам и блокировке сайта.
- 🚀 Скорость загрузки: Каждый запрос к внешнему серверу — это задержка. Серверы Google могут быть далеко, а в РФ их работа может быть нестабильной. Локальные шрифты загружаются мгновенно вместе с сайтом, что напрямую влияет на поведенческие факторы и позиции в поиске.
- 🎨 Независимость и стабильность: Что если Google заблокирует свои сервисы в РФ или у них случится сбой? Ваш сайт останется без шрифтов и будет выглядеть «сломанным». Храня шрифты у себя, вы полностью контролируете ситуацию.
Готовы сделать сайт лучше? Поехали! 👇
Содержание статьи:
🚀 Самый простой и быстрый способ: google-webfonts-helper
Существует замечательный инструмент, который делает 90% работы за вас — google-webfonts-helper. Он позволяет в несколько кликов получить готовый CSS-код и архив со шрифтами в нужных форматах (WOFF и WOFF2).
Как им пользоваться:
- На сайте google-webfonts-helper найдите нужный вам шрифт (например, Roboto).
- В блоке "Select charsets" обязательно отметьте
cyrillicиlatin. - В блоке "Select styles" выберите нужные начертания (например,
regularи700 bold). - В блоке "Copy CSS" выберите опцию "Best Support". Сервис сразу сгенерирует готовый
@font-faceкод. - Важно: в поле "Customize folder prefix" укажите путь к папке со шрифтами на вашем сайте (например,
/fonts/). Код в CSS обновится автоматически. - Скопируйте сгенерированный CSS-код и вставьте его в свой
style.css. - Нажмите кнопку "Download files" и скачайте ZIP-архив.
В скачанном архиве уже будут лежать файлы в формате .woff2 и .woff. Вам останется только загрузить их в папку /fonts/ на вашем сайте (Шаг 3 из инструкции ниже) и применить стили (Шаг 5). Шаги 1, 2 и 4 можно пропустить!
Шаг 1: Находим и скачиваем нужный шрифт
Наша цель — получить файлы шрифтов в формате .ttf или .otf.
- Откройте Google Fonts и выберите понравившийся шрифт (например, Roboto).
- На странице шрифта вы увидите кнопку "Download family". Нажмите на нее.
- Вы скачаете ZIP-архив. Распакуйте его. Внутри вы найдете файлы с расширением
.ttf— это то, что нам нужно.
Пример страницы шрифта Roboto на Google Fonts с кнопкой скачивания.
Шаг 2: Конвертируем в веб-формат WOFF2 (Это важно!)
Формат .ttf — хороший, но для веба есть кое-что получше. WOFF2 (Web Open Font Format 2) — это современный стандарт, который отлично сжимает шрифты, уменьшая их вес на 30-50% без потери качества. Меньше вес — быстрее загрузка!
- Зайдите на любой онлайн-конвертер. Например, CloudConvert или FontSquirrel Webfont Generator.
- Загрузите ваши
.ttfфайлы. - Выберите в качестве конечного формата WOFF2.
- Скачайте сконвертированные
.woff2файлы.
Теперь у вас есть самые оптимизированные файлы шрифтов. Поздравляем, вы уже обошли многих! 🥳
Шаг 3: Загружаем шрифты на свой сайт
Теперь файлы шрифтов нужно разместить на вашем хостинге. Лучшая практика — создать для них отдельную папку.
- Подключитесь к вашему сайту по FTP или через файловый менеджер в панели управления хостингом.
- В корневой папке сайта создайте новую папку, например,
/fonts/(или/assets/fonts/). - Загрузите в эту папку все ваши
.woff2файлы.
Примерная структура папок будет выглядеть так:
your-site.ru/
├── index.html
├── style.css
└── fonts/
├── Roboto-Regular.woff2
└── Roboto-Bold.woff2
Шаг 4: Подключаем шрифты в CSS с помощью @font-face
Самая ответственная часть. Откройте ваш главный CSS-файл (часто это style.css или main.css) и добавьте в самое его начало следующий код. Этот код "объявляет" ваши локальные шрифты и делает их доступными для использования на сайте.
Для каждого начертания (обычный, жирный, курсив и т.д.) нужна своя декларация @font-face.
Пример для шрифта Roboto (обычное и жирное начертание):
/* Объявляем обычное начертание шрифта Roboto */
@font-face {
font-family: 'Roboto'; /* Придумываем имя для нашего шрифта */
src: url('/fonts/Roboto-Regular.woff2') format('woff2'); /* Путь к файлу на вашем сайте */
font-weight: 400; /* Указываем жирность: 400 - это normal */
font-style: normal; /* Указываем стиль: normal - обычный */
font-display: swap; /* Очень важный параметр! Ускоряет отображение текста */
}
/* Объявляем жирное начертание шрифта Roboto */
@font-face {
font-family: 'Roboto'; /* Имя то же самое! */
src: url('/fonts/Roboto-Bold.woff2') format('woff2'); /* Путь к жирному файлу */
font-weight: 700; /* Указываем жирность: 700 - это bold */
font-style: normal;
font-display: swap;
}
Разберем по частям:
font-family: Название, по которому вы будете обращаться к шрифту в CSS. Лучше использовать настоящее имя шрифта.src: Самое главное — путь к файлу шрифта на вашем сервере. Путь должен быть от корня сайта (начинаться с/).font-weight: Числовое значение жирности.400= normal,700= bold.font-style:normalилиitalic.font-display: swap;: Магическое свойство! Оно говорит браузеру сначала показать текст системным шрифтом, и как только ваш красивый шрифт загрузится — плавно его подменить. Это сильно улучшает восприятие скорости загрузки. Всегда используйте его!
✨ Интерактивный генератор @font-face
Не хотите писать код вручную? Воспользуйтесь нашим генератором! Просто заполните поля, и он создаст готовый CSS-код для вставки на ваш сайт.
Готовый CSS-код:
Шаг 5: Применяем новый шрифт к элементам сайта
Теперь, когда шрифты объявлены, можно их использовать. В том же CSS-файле найдите стили для ваших текстов и укажите им новое font-family.
body {
font-family: 'Roboto', sans-serif; /* Используем наше имя. 'sans-serif' - запасной вариант */
font-weight: 400; /* По умолчанию текст будет обычным */
}
h1, h2, h3, strong, b {
font-family: 'Roboto', sans-serif;
font-weight: 700; /* Заголовки и выделения будут жирными */
}
Браузер автоматически подберет нужный файл шрифта (Roboto-Regular.woff2 или Roboto-Bold.woff2) в зависимости от указанного font-weight. Удобно, правда?
Шаг 6: Удаляем старое подключение Google Fonts (Обязательно!)
Вся работа будет напрасной, если не удалить старую ссылку на Google Fonts. Иначе браузер будет грузить и локальные, и внешние шрифты.
Откройте HTML-код ваших страниц (чаще всего это файл header.php, index.html или аналогичный) и найдите внутри тега <head> строку, похожую на эту:
<!-- Вот это нужно найти и безжалостно удалить! -->
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
Также проверьте CSS-файлы на наличие импорта через @import:
/* И такую строку тоже нужно удалить из CSS */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
После удаления этих строк, очистите кэш вашего сайта и браузера и наслаждайтесь результатом! Ваш сайт стал быстрее, безопаснее и полностью соответствует закону. 💪
Бонус: Как локализовать иконочные шрифты (Font Awesome)
Принцип локализации иконок Font Awesome (как бесплатных, так и Pro-версии) очень похож на работу со шрифтами. Вы также скачиваете файлы, загружаете их на свой сервер и меняете одну строчку в коде.
Шаг 1: Скачиваем архив Font Awesome
В зависимости от вашей версии, действия немного отличаются:
- Для Font Awesome Free: Перейдите на официальную страницу загрузки и скачайте архив "Free for Web".
- Для Font Awesome Pro: Войдите в свой аккаунт на fontawesome.com, перейдите в раздел загрузок и скачайте архив для веба.
Распакуйте скачанный ZIP-архив. Нас интересуют две вещи: папка webfonts и файл css/all.min.css.
Шаг 2: Загружаем файлы на хостинг
Как и в случае с обычными шрифтами, создадим для иконок отдельную папку на сервере.
- В корне вашего сайта создайте папку, например,
/fontawesome/. - Внутрь этой папки загрузите всю папку
webfontsиз архива. - Также в папку
/fontawesome/загрузите папкуcss(или хотя бы один файлall.min.cssиз нее).
В итоге у вас должна получиться такая структура:
your-site.ru/
└── fontawesome/
├── css/
│ └── all.min.css
└── webfonts/
├── fa-brands-400.woff2
├── fa-regular-400.woff2
└── fa-solid-900.woff2
└── ... (другие файлы шрифтов)
Шаг 3: Меняем ссылку в коде сайта
Теперь осталось самое простое. Откройте HTML-код вашего сайта (файл header.php, index.html и т.д.) и найдите в теге <head> старую ссылку на CDN Font Awesome.
Найдите и удалите эту строку:
<!-- Пример ссылки на CDN, которую нужно удалить -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
А вместо нее добавьте ссылку на ваш локальный файл:
<!-- Новая ссылка на локальный файл -->
<link rel="stylesheet" href="/fontawesome/css/all.min.css">
Готово! Теперь иконки Font Awesome загружаются с вашего сервера, не создавая лишних запросов к иностранным CDN и не передавая данные пользователей. ✅