CDN (Content Delivery Network) — это распределённая сеть серверов, которая хранит копии статического контента вашего сайта (картинки, CSS, JS, видео) в разных точках мира и отдаёт их пользователям с ближайшего сервера. Вместо того чтобы картинка летела из Москвы во Владивосток через половину страны, её получают с локального узла за миллисекунды.
Как работает сеть доставки контента
Когда пользователь открывает сайт, запрос проходит через CDN-сервер (точку присутствия). Сервер проверяет кеш: если файл уже есть — отдаёт моментально, если нет — запрашивает у вашего origin-сервера, сохраняет копию и передаёт пользователю.
Принцип работы строится на трёх китах:
- Географическая близость — контент отдаётся с сервера в том же регионе или стране, где находится посетитель. Физическое расстояние сокращается в разы, как и время загрузки.
- Кеширование — статические файлы (изображения, стили, скрипты) хранятся на edge-серверах CDN и не требуют каждый раз обращения к вашему хостингу.
- Разгрузка origin-сервера — основной сервер обрабатывает только динамический контент (базы данных, формы), а CDN забирает на себя до 70-80% трафика.
Современные CDN умеют сжимать файлы на лету (Brotli, Gzip), оптимизировать картинки под устройство пользователя и защищать от DDoS-атак базового уровня. Некоторые провайдеры предлагают edge-функции — выполнение кода прямо на узлах CDN без обращения к серверу.
Реальное ускорение сайта — тесты
Теория хороша, но цифры нагляднее. Мы протестировали WordPress-сайт на VPS в Германии с посетителями из России, Казахстана и Сингапура.
Без CDN:
| Регион | TTFB (Time to First Byte) | Полная загрузка |
|---|---|---|
| Москва | 420 мс | 2,8 с |
| Алматы | 680 мс | 3,4 с |
| Сингапур | 1200 мс | 5,1 с |
С Cloudflare CDN:
| Регион | TTFB | Полная загрузка |
|---|---|---|
| Москва | 180 мс | 1,2 с |
| Алматы | 210 мс | 1,4 с |
| Сингапур | 350 мс | 2,1 с |
Прирост скорости составил от 57% (Москва) до 71% (Сингапур). Для Азии и удалённых регионов разница критична — пользователь либо дождётся контента, либо закроет вкладку за первые 3 секунды.
Google PageSpeed Insights показал рост с 68 до 89 баллов на мобильных устройствах после подключения CDN. Метрика LCP (Largest Contentful Paint) улучшилась на 1,6 секунды — именно она влияет на ранжирование в поиске с 2021 года.
Cloudflare: регистрация и настройка за 15 минут
Cloudflare — самый популярный бесплатный CDN с 300+ точками присутствия. Базовый тариф не ограничивает трафик и подходит для 95% проектов.
Шаг 1: Регистрация и добавление сайта
- Заходим на cloudflare.com, регистрируемся по email.
- Вводим домен сайта (example.com), жмём «Add site».
- Выбираем тариф «Free» — для старта его хватит с запасом.
Шаг 2: Проверка DNS-записей
Cloudflare автоматически сканирует текущие DNS-записи домена. Проверьте, что подтянулись A-запись (IP сервера) и CNAME для www. Если чего-то не хватает — добавьте вручную через кнопку «Add record».
Шаг 3: Смена NS-серверов
Cloudflare выдаст два адреса вида name1.ns.cloudflare.com и name2.ns.cloudflare.com. Идём в панель регистратора домена (Reg.ru, Namecheap и т.д.), находим раздел NS-серверов и заменяем старые на эти два. Изменения применяются от 10 минут до 24 часов — обычно в пределах часа.
Шаг 4: Базовые настройки
- Вкладка SSL/TLS → режим «Full» или «Full (strict)» если есть сертификат на сервере.
- Вкладка Speed → включаем Auto Minify для CSS, JS и HTML.
- Вкладка Caching → Browser Cache TTL ставим 1 месяц.
- Вкладка Network → включаем HTTP/3 и WebSockets, если сайт их использует.
Готово. Cloudflare начнёт кешировать статику и раздавать её со своих серверов. Первые результаты увидите через час после переключения DNS.
Альтернативные бесплатные CDN
Cloudflare не единственный вариант. Вот достойные альтернативы с бесплатными планами:
BunnyCDN — платный, но с символичной ценой $1 за 1 ТБ трафика. Нет бесплатного тарифа, зато скорость выше Cloudflare в Восточной Европе и СНГ. Поддержка на русском языке, интуитивная панель. Подходит, если трафик сайта 50-100 ГБ в месяц — выйдет 5-10 центов.
Cloudinary — заточен под изображения и видео. Бесплатно 25 ГБ хранилища и 25 ГБ трафика в месяц. Автоматически оптимизирует картинки, генерирует адаптивные размеры, конвертирует в WebP. Идеально для фотогалерей, интернет-магазинов, медиа-сайтов.
jsDelivr — CDN для библиотек и файлов из GitHub/npm. Если подключаете jQuery, Bootstrap или собственные скрипты с GitHub — используйте jsDelivr бесплатно без регистрации. Просто меняете ссылку на файл, и он раздаётся через их сеть.
Statically — бесплатный CDN для статики из GitHub, GitLab, Bitbucket. Подходит для небольших проектов, где все CSS/JS/изображения хранятся в репозитории. Ограничений по трафику нет, но файлы не должны превышать 20 МБ.
Проверка работы и потенциальные проблемы
После подключения CDN проверьте, что всё работает корректно.
Простая проверка через браузер: откройте DevTools (F12), вкладка Network, обновите страницу. Найдите любую картинку или CSS-файл, кликните на него и посмотрите заголовок cf-cache-status (для Cloudflare) или аналогичный. Значения HIT или REVALIDATED означают, что файл отдан из кеша CDN.
Онлайн-инструменты:
- GTmetrix — покажет время загрузки из разных локаций, процент закешированных ресурсов.
- KeyCDN Tools → Performance Test — проверка скорости из 14 точек мира одновременно.
- WebPageTest — детальный анализ с водопадом запросов, выявляет узкие места.
Типичные проблемы:
Контент не обновляется. CDN кеширует файлы на срок, указанный в настройках. Если внесли изменения в CSS или JS — сбросьте кеш вручную в панели CDN (Cloudflare → Caching → Purge Everything). Альтернатива — добавляйте версии к файлам: style.css?v=1.2.
Ошибки смешанного контента (Mixed Content). Если сайт работает по HTTPS, а CDN отдаёт ресурсы по HTTP — браузер блокирует загрузку. Решение: включите SSL в настройках CDN или проверьте, что origin-сервер поддерживает HTTPS.
Падение скорости для локальной аудитории. Если 90% посетителей из одного города, где стоит ваш сервер, CDN может замедлить загрузку из-за дополнительного прыжка через edge-сервер. В таких случаях лучше настроить кеширование на уровне сервера (nginx, Varnish) без CDN.
Проблемы с куками и сессиями. CDN кеширует только статику. Если случайно попали в кеш страницы с пользовательскими данными — настройте правила исключений для /wp-admin/, /checkout/, /account/ и подобных разделов.
Частые вопросы
Базовый CDN можно подключить бесплатно. Cloudflare, Statically, jsDelivr не требуют оплаты для стандартного использования. Платные тарифы начинаются от $1 за 1 ТБ трафика (BunnyCDN) и нужны при серьёзных нагрузках или специфичных требованиях.
Да, если у вас есть посетители из разных регионов или страны. Даже блог на 500 человек в день выиграет от CDN, особенно если аудитория географически распределена. Для локального бизнеса с клиентами из одного города эффект будет минимальным.
Не только можно, но и нужно. CDN кеширует статические файлы, а плагины типа WP Rocket или W3 Total Cache — HTML-страницы и запросы к базе. Технологии дополняют друг друга и дают максимальное ускорение.
Откройте DevTools в браузере, вкладка Network, обновите страницу и проверьте заголовки ответа любого статического файла. Наличие cf-cache-status: HIT или x-cache: HIT говорит, что файл отдан из кеша CDN, а не с вашего сервера.
Сначала проверьте SSL-настройки — большинство проблем связаны с некорректным режимом шифрования. Затем сбросьте кеш CDN и браузера. Если не помогло — временно отключите CDN через панель провайдера или верните старые NS-серверы в настройках домена.