Google Fonts, reCAPTCHA, Gravatar не грузятся в РФ — как исправить
С 2024 года сайты в РФ всё чаще сталкиваются с тем, что ресурсы Google перестают загружаться. Это не баг хостинга и не проблема провайдера — это следствие блокировок на уровне DPI (Deep Packet Inspection). Быстрее всего проблема решается полным отказом от внешних сервисов Google на сайте, а не попытками их «разблокировать». Дальше — конкретные шаги для WordPress.
Почему это происходит
- Блокировка DPI на уровне операторов — РКН ограничивает доступ к IP-адресам и протоколам Google. Шрифты и reCAPTCHA хостятся на доменах googleapis.com, gstatic.com и google.com, которые частично или полностью недоступны с российских IP.
- Замедление Cloudflare в РФ — Cloudflare, через который идёт часть трафика Google, с 2024 года работает с перебоями на территории России. Время ответа может достигать 5-10 секунд вместо обычных 100-200 мс.
- Отсутствие CDN-узлов Google в России — после ухода Google из РФ кэширующие серверы недоступны, все запросы идут напрямую за границу с высокой задержкой.
Что конкретно ломается на сайте
- Google Fonts — шрифты не загружаются. Сайт показывает текст системным шрифтом или ждёт таймаута 5-10 секунд до отображения (FOUT — Flash of Unstyled Text).
- reCAPTCHA v2/v3 — форма не проходит проверку, висит крутилка «Подтвердите, что вы не робот», или капча не появляется вообще. Пользователи не могут отправить заявку.
- Gravatar — аватарки авторов и комментаторов не подгружаются. Вместо них — серые заглушки или битые изображения.
- Google Maps (если используется) — карты не рендерятся, консоль браузера полна ошибок CORS.
Как исправить: пошагово
Шаг 1. Замена Google Fonts на локальные
Самый простой способ — полностью отказаться от внешних шрифтов Google. Не пытайтесь «обойти блокировку» через прокси — это ненадёжно и замедляет сайт.
Вариант A: ручная загрузка
- Скачайте ZIP-архив нужных шрифтов с fonts.google.com (через VPN).
- Распакуйте в папку
/wp-content/fonts/на сервере. - Подключите шрифты через CSS
@font-faceили через functions.php сwp_enqueue_style(). - Удалите из кода темы вызов
wp_enqueue_style('google-fonts')или строку@import url('https://fonts.googleapis.com/...')из CSS.
Вариант B: плагин OMGF
Плагин OMGF | Host Google Fonts Locally автоматически скачивает все используемые Google Fonts на ваш сервер и подключает их локально. Никаких ручных правок CSS — плагин сам перехватывает вызовы. На Beget и Timeweb места для шрифтов хватит (обычно 1-2 MB).
Шаг 2. Замена reCAPTCHA на Яндекс SmartCaptcha
reCAPTCHA — самая критичная часть. Если она не грузится, все формы на сайте перестают работать.
- Зайдите в кабинет Яндекс SmartCaptcha (нужен аккаунт Яндекса).
- Создайте новый ключ: выберите «Виджет» и тип «Невидимая» или «Обычная».
- Получите
site_keyиserver_key. - Установите плагин Yandex SmartCaptcha for WordPress или SmartCaptcha by Yandex (есть в репозитории WordPress).
- В настройках плагина укажите site_key и server_key.
- Плагин автоматически заменит reCAPTCHA на SmartCaptcha во всех формах — Contact Form 7, WooCommerce, стандартной форме входа, комментариях.
Если используете Contact Form 7, добавьте в форму шорткод:
[smartcaptcha]
Или в файле темы functions.php для кастомного вызова:
add_filter('wpcf7_form_elements', function($content) {
if (strpos($content, 'submit') !== false) {
$content .= '<div id="smartcaptcha-widget"></div>';
}
return $content;
});
smartcaptcha.yandexcloud.net, который доступен в РФ без ограничений. Однако в некоторых регионах (ДНР, ЛНР, Крым) Яндекс может работать с перебоями — в таком случае используйте HCaptcha (non-Google) или отключите капчу вообще, заменив на honeypot.Шаг 3. Замена Gravatar на локальный кэш
Gravatar-аватарки хранятся на серверах Google (через secure.gravatar.com). В РФ они не грузятся или грузятся с большими таймаутами.
Вариант A: плагин Gravatar Cache
- Установите плагин Gravatar Cache или AO Gravatar Cache.
- Плагин создаёт папку
/wp-content/uploads/gravatar-cache/и скачивает аватарки на сервер при первом запросе. - Все следующие показы — с локального сервера, без запросов к Google.
- Настройте TTL кэша в 30 дней (по умолчанию) — так аватарки будут обновляться раз в месяц, а не при каждой загрузке страницы.
Вариант B: отключение Gravatar
Если аватарки не критичны, добавьте в functions.php:
add_filter('get_avatar', function($avatar) {
return '<img src="' . get_template_directory_uri() . '/images/default-avatar.png" alt="Аватар" class="avatar avatar-96 photo">';
});
Это заменит все Gravatar на одну стандартную картинку. Просто, быстро, без лишних запросов.
Шаг 4. Профилактика: проверьте DNS и кэш
Даже после замены служб, старый DNS-кэш может тянуть запросы к заблокированным ресурсам:
- Настройте DNS-серверы хостинга на российские DNS (например, от Яндекса:
77.88.8.8и77.88.8.1). На Beget DNS настраивается в разделе «DNS-серверы» панели управления. - Используйте плагин кэширования (LiteSpeed Cache, WP Rocket) — он может предотвратить подгрузку внешних ресурсов через оптимизацию HTML.
- Проверьте консоль браузера (F12 → Console) на ошибки вида
Failed to load resource: net::ERR_CONNECTION_TIMED_OUT— это укажет на конкретный заблокированный ресурс.
Как проверить результат
- Откройте сайт в обычном и инкогнито-режиме — шрифты должны отображаться сразу, без задержки.
- Отправьте тестовую заявку через форму — капча должна пройти с первого раза, без крутилки.
- Проверьте комментарии или раздел «Авторы» — аватарки должны быть видны.
- Откройте вкладку Network в инструментах разработчика — не должно быть запросов к
googleapis.com,gstatic.comилиgravatar.com. - Проверьте PageSpeed Insights — время LCP не должно вырасти из-за заблокированных ресурсов.
Когда этот способ не сработает
- Сайт использует десятки внешних скриптов Google — если помимо шрифтов и капчи подключены Google Maps, Google Analytics (GA4), Google Tag Manager, YouTube iframe, то заменять придётся всё по отдельности. GA4 можно заменить на Яндекс.Метрику, YouTube — на VK Видео или Rutube, Google Maps — на Яндекс.Карты.
- Тема жёстко зашивает Google Fonts в codebase — некоторые премиум-темы (особенно старые версии Avada, Betheme, Jupiter) вшивают вызов шрифтов в ядро темы, и отключение через плагин невозможно. Нужно редактировать файлы темы напрямую — искать
wp_enqueue_styleсfonts.googleapis.comвfunctions.php. - Плагин не поддерживает SmartCaptcha — если ваша форма обратной связи завязана на кастомную интеграцию через
curlк Google API, замена на SmartCaptcha потребует переписывания обработчика формы. В этом случае проще установить промежуточный плагин Contact Form 7 + SmartCaptcha addon. - Сайт на shared-хостинге с жесткими лимитами — кэширование аватарок занимает место на диске. На дешёвых тарифах Timeweb (стартовый) или Reg.ru может не хватить inode'ов. Проверьте лимиты в панели хостинга перед включением кэша Gravatar.
Сравнение: что на что менять
| Сервис Google | Аналог в РФ | Сложность замены | Потеря функциональности |
|---|---|---|---|
| Google Fonts | Локальные шрифты / OMGF | Низкая | Нет — шрифты те же |
| reCAPTCHA | Яндекс SmartCaptcha | Средняя | Нет — аналогичная защита |
| Gravatar | Локальный кэш / заглушка | Низкая | Минимальная — старые аватарки остаются |
| Google Maps | Яндекс.Карты / 2GIS | Высокая | Частичная — API разный |
| Google Analytics (GA4) | Яндекс.Метрика | Средняя | Минимальная — Метрика глубже для РФ |
| YouTube | VK Видео / Rutube | Средняя | Частичная — другой плеер |
Частые вопросы
Нужна помощь с адаптацией сайта под РФ?
Полностью заменю Google-сервисы на российские аналоги: шрифты, капча, карты, аналитика, видео. Гарантирую что сайт будет работать без потери функциональности.