Сайт без внешних CDN — убираем Cloudflare, Google Fonts, jsDelivr

Сайт грузит шрифт с fonts.googleapis.com, jQuery с jsDelivr, иконки с cdn.fontawesome.com — и в момент блокировки или фильтрации зарубежных CDN сайт ломается визуально и функционально. Разбираем, как убрать зависимости от внешних ресурсов за один день.

Откройте DevTools на типовом российском сайте → вкладка Network → отфильтруйте по 3rd party. С большой вероятностью увидите 10-30 запросов на зарубежные CDN: fonts.googleapis.com, fonts.gstatic.com, cdn.jsdelivr.net, cdnjs.cloudflare.com, unpkg.com, fontawesome.com, gravatar.com. В момент фильтрации зарубежных сегментов всё это ломается — шрифты не грузятся, скрипты падают, иконки исчезают.

Решение — перенести зависимости на свой сервер или российский CDN. За один день можно очистить весь типовой лендинг.

Шрифты

Google Fonts заменяется простым копированием WOFF2-файлов к себе:

  1. Скачать шрифт через google-webfonts-helper или gwfh.mranftl.com (если доступен).
  2. Положить файлы в /fonts/ на сайте.
  3. Заменить <link href="https://fonts.googleapis.com/..."> на собственный @font-face:
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter-regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

Грузите только нужные начертания (обычно 3-4 хватает), не 18.

JavaScript-библиотеки

jQuery, Bootstrap, htmx, Alpine, Three.js — всё на jsDelivr/cdnjs. Замена:

  • Скачать минифицированный .js файл с GitHub-релизов или npm.
  • Положить в /js/vendor/.
  • Заменить <script src="https://cdn.jsdelivr.net/..."> на <script src="/js/vendor/...">.

Загрузка локально — обычно быстрее, чем зарубежный CDN, особенно из РФ.

Иконки

FontAwesome через CDN — типовая зависимость, которую можно заменить:

  • Скачать SVG-иконки нужного набора с github.com/FortAwesome/Font-Awesome.
  • Использовать как inline SVG в HTML или подключить через спрайт.
  • Альтернатива — Tabler Icons, Lucide, Phosphor Icons — open source, можно положить локально.

Аналитика и счётчики

  • Google Analytics — заменить на Yandex.Metrica (российский) или Plausible self-host.
  • Google Tag Manager — заменить на Yandex.Tag Manager.
  • Hotjar — заменить на Вебвизор в Яндекс.Метрике.
  • Pixel Facebook — в РФ не работает с 2022, убирайте.

Карты

Google Maps в РФ блокируется. Альтернативы:

  • Яндекс.Карты JavaScript API — родное решение, бесплатно до 25 тыс хитов/день.
  • 2ГИС API — для локального бизнеса лучшее покрытие.
  • OpenStreetMap + Leaflet — self-host, без API ключа, тайлы можно поставить локально.

Видео

  • YouTube embed → VK Video или Rutube embed.
  • Vimeo — в РФ работает, но риск блокировки. Резерв на Kinescope.

Капча

  • Google reCAPTCHA — в РФ блокируется и портит UX. Заменить на Yandex SmartCaptcha.
  • Или использовать honeypot + rate limit без видимой капчи.

Чек-лист аудита за час

  1. DevTools → Network → отфильтровать домены отличные от вашего и российского CDN.
  2. Список из 10-30 внешних доменов — записать.
  3. По каждому — найти замену (локально, российский CDN, альтернативный сервис).
  4. Заменить и протестировать на staging.
  5. Проверить, что сайт не ходит на внешние домены, через chrome://net-internals/#dns или Wireshark.

Выигрыш

  • Сайт работает при фильтрации зарубежных сегментов.
  • Уменьшение количества DNS-запросов — −200-500 мс на cold start.
  • Контроль версий и стабильность — внешний CDN может тихо обновить файл.
  • Совместимость с whitelist РКН.

Вывод

Аудит внешних зависимостей сайта — задача на 4-8 часов работы разработчика. После очистки сайт не зависит от Cloudflare, Google и любых других зарубежных провайдеров. Это и SEO-бонус (меньше зависимостей = быстрее), и страховка от блокировок.

Узнайте подробнее о наших компетенциях
Разработка, ИИ, автоматизация — что мы делаем и как.