Что такое CDN и когда он действительно нужен
CDN — сеть серверов, которые раздают копии файлов вашего сайта из точки, ближайшей к посетителю. Совет «подключите CDN» дают почти на любую жалобу на скорость, но помогает он не всегда и кое-что при этом ломает. Разбираемся, когда он нужен и когда нет.
Как это работает
Обычно все запросы идут на один сервер: посетитель из Владивостока и посетитель из Москвы обращаются к одной и той же машине. Данные летят по проводам не мгновенно, и чем дальше человек, тем дольше ответ — только на дорогу туда и обратно может уходить заметное время.
CDN размещает копии файлов на десятках серверов в разных городах. Посетитель получает картинку или стиль с ближайшего узла, а не через полстраны. Второй эффект важен не меньше: узел отдаёт файл сам, не тревожа ваш сервер, поэтому основная машина разгружается.
Что CDN ускоряет, а что нет
Здесь кроется главное разочарование: CDN отлично работает со статикой и почти ничего не делает с медленным бэкендом.
| Что | Помогает ли CDN |
|---|---|
| Картинки, стили, скрипты, шрифты | Да, это его основная работа |
| Видео и тяжёлые файлы | Да, и заодно сильно разгружает канал сервера |
| Медленный ответ сервера (высокий TTFB) | Нет, если страница генерируется под каждого посетителя |
| Тяжёлые запросы к базе данных | Нет, они как выполнялись на вашем сервере, так и выполняются |
| Личный кабинет, корзина, оформление | Нет, персональные страницы кэшировать нельзя |
| Всплески нагрузки и мелкие атаки | Да, узлы принимают удар на себя |
Практический вывод: если у вас медленно открывается главная и карточки товара, сначала разберитесь со скоростью самого сервера. CDN, поставленный поверх медленного бэкенда, ускорит загрузку картинок, а ощущение «сайт тормозит» останется.
Когда он нужен, а когда нет
Нужен, если посетители распределены географически — по России от Калининграда до Владивостока или по нескольким странам. Нужен, если на сайте много тяжёлой графики или видео. Нужен, если случаются резкие всплески трафика: рекламная кампания, распродажа, упоминание в СМИ.
Не нужен сайту-визитке с сотней посетителей в день из одного города — эффект будет неразличим, а точек отказа прибавится. Не нужен, если весь ваш контент персонализирован и кэшировать нечего. И точно не нужен как замена нормальному хостингу: перенос на приличный сервер часто даёт больше, чем CDN поверх плохого.
Что ломается при подключении
Сертификат. Теперь их фактически два: между посетителем и узлом CDN и между узлом и вашим сервером. Оба нужно следить и продлевать, и забывают обычно про второй.
Устаревший кэш. Классическая жалоба: «поменял цену, а на сайте старая». Узел раздаёт сохранённую копию, пока не истечёт срок или пока вы не сбросите кэш вручную. Правила кэширования нужно продумать до запуска, а не после первой такой истории.
Реальные адреса посетителей. Без правильной настройки сервер видит адреса узлов CDN вместо адресов людей. Ломается геотаргетинг, статистика и блокировки по адресу.
Новая точка отказа. Если ляжет CDN, ляжет и ваш сайт — даже при полностью исправном сервере. Это не аргумент против, но повод понимать, что доступность теперь зависит и от чужого сервиса.
Как проверить, что он работает
Откройте инструменты разработчика, вкладку «Сеть», и посмотрите на заголовки ответа для картинки: у большинства CDN в них есть отметка о попадании в кэш. Слово, означающее промах, на каждом запросе говорит, что кэширование настроено неправильно и толку от подключения мало.
Второе — сравните время загрузки из разных городов. Смысл CDN именно в географии, и проверять его нужно географически, а не из своего браузера.
Эффект от CDN виден только при проверке из разных регионов. Пруфен проверяет доступность и время ответа из 13 точек — 11 в России, Минск и Испания, с интервалом от 2 минут. По истории видно, выровнялось ли время ответа по регионам после подключения CDN и не начал ли какой-то узел отдавать ошибки. Проверка отклика по сети дополняет картину. Уведомления приходят на Email, в Telegram, в Макс или звонком.
Частые вопросы
Улучшит ли CDN позиции в поиске? Косвенно, через скорость: она входит в оценку удобства страницы. Но если сервер отвечает медленно, а CDN раздаёт только картинки, заметного улучшения метрик ждать не стоит.
Можно ли раздавать через CDN сам HTML? Можно, и для сайтов с одинаковым для всех контентом это даёт наибольший эффект. Но нужно аккуратно исключить из кэширования персональные страницы: корзину, личный кабинет, оформление заказа, иначе посетители начнут видеть чужие данные.
Заменяет ли CDN защиту от атак? Частично помогает поглощать нагрузку, но специализированная защита решает другую задачу — распознаёт и фильтрует вредный трафик. Полагаться только на CDN при целенаправленной атаке не стоит.
Нужно ли что-то менять в robots.txt и sitemap? Обычно нет, если сайт остаётся на прежнем домене. Проследите только, чтобы файлы отдавались с вашего домена и не появилось второй доступной копии сайта на техническом адресе CDN — это создаст дубли.