close
menu
labrika
Декабрь 13, 2021

Технология CDN: как работает, преимущества и риски для SEO

CDN (content delivery network) – это сеть доставки контента. Она представляет собой большое количество связанных между собой серверов, расположенных в разных географических точках, и предназначается для ускорения передачи содержимого веб-ресурса конечному пользователю.

Для чего используется CDN?

Ускорение загрузки статического содержимого

С помощью этой технологии можно кэшировать и сохранять многие элементы сайта, относящиеся к статическому (неизменяемому) контенту, в том числе изображения, аудио и видео, файлы JS и CSS). CDN хранит копии статического контента сайтов на своих серверах по всему миру, и когда пользователь открывает веб-ресурс, загрузка содержимого для него будет осуществляться с ближайшего сервера сети. Таким образом, трафик проходит по оптимальному маршруту, снижается нагрузка на сеть, достигается максимальная скорость соединения. В результате сайты, использующие CDN, загружаются быстрее.

Кроме того, для улучшения скорости загрузки сайта в CDN может осуществляться функция сжатия контента (текстов, изображений) и минификация кодов CSS и JS.

Доставка динамического контента

Некоторые CDN-провайдеры обрабатывают не только статические, но и динамические данные (изменяемые и адаптированные под конкретного пользователя, которые генерируются на сервере в момент получения запроса). Ускорение доставки динамического контента при использовании CDN достигается за счет выбора оптимального сетевого маршрута и улучшения пропускной способности. В отличие от отдельного сервера суммарная пропускная способность сети доставки контента легко масштабируется и практически не ограничена.

Раздача стримингового контента

Также CDN применяется для раздачи стримингового контента (потокового аудио и видео). В стриминговых CDN поток данных ретранслируется на серверы, входящие в состав сети, а уже с них идет раздача пользователям. При этом с помощью балансировщиков нагрузки запросы перенаправляются к наименее загруженным на текущий момент серверам.

Как работает CDN?

Для работы через CDN нужно создать домен вида cdn.domain.com, с которого будет идти раздача контента, и подключить его у CDN-провайдера. Как правило, клиентам предлагается два варианта URL-адреса CDN:

  1. URL-адрес, который создается автоматически;

    или

  2. настраиваемый URL. Настройка пользовательского URL-адреса с записью CNAME (канонического имени, которое указывает на основной домен) позволяет вам сохранять ваши активы, предназначенные для раздачи через CDN, на субдомене в вашем собственном домене (cdn.domain.com).

Пользователь набирает в строке браузера адрес www.domain.com, с которого он получает HTML-страницу. При этом весь статический контент, например, изображения или видео, подгружается из CDN (с адреса cdn.domain.com).

Чтобы подключить CDN к отдельным элементам страниц (изображениям, скриптам JS, стилям CSS и т.д.), нужно в исходном коде вашего сайта прописать их адреса на CDN-сервере, например, как показано на скриншоте ниже:

Для определения ближайших к пользователю кэширующих серверов используют технологии GeoDNS и AnyCast.

С помощью GeoDNS можно привязать к одному домену несколько IP-адресов. В зависимости от географического положения (которое определяется по IP-адресу, с которого был отправлен запрос) пользователь перенаправляется на ближайший к нему сервер.

При технологии AnyCast нескольким географически распределенным серверам присваивается один и тот же IP-адрес (IPv4 или IPv6), называемый anycast-адресом. Наиболее подходящий сервер выбирается системой маршрутизации.

Что следует учитывать при выборе CDN-провайдера?

  • Зону покрытия и количество точек присутствия (кэширующих серверов в составе CDN) – проверьте их наличие в интересующих вас регионах. Так, большинство мировых лидеров рынка CDN (например, Akamai Technologies, через сеть которого проходит до 30% всего мирового веб-трафика) не имеют физического присутствия в Российской Федерации.
  • Число соединений с операторами связи – количество таких стыковок также влияет на скорость и бесперебойную передачу данных в CDN.
  • Предоставление дополнительного функционала и возможностей (управление кэшированием, изображениями и HTTP-заголовками, очистка кэша, предзагрузка очень тяжёлого контента, анализ статистики и т. д.).
  • Наличие поддержки необходимых вашему проекту технологий и протоколов (SSL-сертификат, протоколы HTTP/2, IPv6 и др.).
  • Уровень сетевой безопасности. Помимо защиты от DDоS-атак должен быть отфильтрован неавторизованный доступ. Также хорошо, если есть встроенный брандмауэр веб-приложений (WAF) и шифрование SSL. Однако сетевая безопасность не должна осуществляться за счет производительности. Это тоже нужно учитывать при выборе провайдера.
  • Качество техподдержки. Обслуживание клиентов должно быть доступно круглосуточно и помогать в решении проблемами.
  • Стоимость услуг, ценообразование.

Сколько стоят услуги CDN?

Сети доставки контента относятся к достаточно дорогим видам услуг (в среднем, несколько тысяч рублей в месяц), поэтому критерий стоимости играет немаловажную роль при выборе конкретного поставщика.

Модели ценообразования могут быть различные:

Ежемесячная или годовая подписка (например, у провайдеров CDNvideo, CloudFlare):

Оплата за объем переданного через сеть контента (Amazon Cloudfront):

Чем больше трафик на серверы, тем меньше может быть стоимость одного Гб (Selectel):

Стоимость использования CDN зависит от количества задействованных серверов и их расположения, от входящих в пакет опций и т. д.

На рынке недорогих CDN можно найти тарифы от $0.01 (примерно 70 коп.) за 1 Гб трафика по факту потребления без необходимости покупать какую-либо месячную подписку (BunnyCDN):

Некоторые провайдеры предлагают бесплатный тестовый период, бесплатные тарифы для частных лиц и т.д.

Чем CDN полезны для SEO?

Скорость работы веб-сайтов имеет всё большее значение для продвижения в поисковых системах. Так, в 2021 году Google сделал время, необходимое для загрузки основного содержимого страницы, одним из сигналов ранжирования в составе показателя Core Web Vitals.

Если сайт загружается слишком медленно, это может привести к потере пользователей, а значит, к ухудшению поведенческих факторов веб-ресурса и снижению продаж.

Исследования Google наглядно показывают, как время загрузки контента влияет на поведенческие метрики cайта. Например, по мере того, как время загрузки страницы увеличивается с одной до 10 секунд, вероятность того, что посетитель мобильного сайта уйдет, увеличивается на 123%. 

Применение сетей доставки контента является одним из способов решения этой проблемы ― входящие в состав CDN географически распределенные cерверы помогают сделать время ответа сайта пользователям минимальным.

Повышается и надежность работы сайта – благодаря распределению по серверам CDN контент остается доступным даже во время пиковых нагрузок. В случае аварий и сбоев трафик автоматически направляется на другие сервера сети.

Минусы и риски использования сетей доставки контента

Задержки кэширования

Когда на основном сервере файл будет изменён, на кэширующих серверах он останется в неизмененном виде. Для решения этой проблемы в современных CDN предусмотрена функция периодической очистки и обновления кэша, то есть удаления старого контента и замены его на свежие версии.

Блокировка IP

Если по той какой-либо причине будут заблокированы ваши «соседи» по IP CDN-провайдера, вместе с ними может оказаться заблокированным и ваш сайт. В этом случае следует отправить CDN-провайдеру запрос на изменение IP-адреса.

Потеря трафика из вертикального поиска (по картинкам или видео)

Поисковый робот может получить загрузку страницы не с вашего сайта, а с сервера CDN, который закэшировал картинку. Для поисковой системы это значит, что картинка находится не на вашем сайте, а на другом. В результате вы можете потерять трафик по картинкам. Чтобы этого избежать, можно отдавать поисковым роботам только версию с картинкой, которая хранится на вашем сервере, а не версию из CDN. Либо нужно выносить загрузку картинок на субдомен на своем же домене второго уровня, например, на cdn. domain.com, а также сохранять названия и иерархию файлов.

Например, если путь к изображению до использования CDN выглядел вот так:

www.domain.com/wp-content/uploads/2021/06/image1.png

то потом он должно выглядеть следующим образом:

cdn.domain.com/wp-content/uploads/2021/06/image1.png

Это поможет поисковой системе связать изображения с вашим сайтом, и вы сохраните трафик из поиска картинок.

Хотя аналитик Google Джон Мюллер заявлял, что нет SEO-бонуса за размещение изображений на одном хосте / домене, однако некоторые зарубежные исследования показывают, что при использовании CDN даже наличие субдоменов может не решить проблему и не гарантирует небольшим веб-сайтам улучшения позиций в поиске по картинкам.

Появление дублей в индексе поисковых систем

CDN может вызвать проблемы с дублированием контента, если вы его неправильно настроите. Дубли возникают в случае индексирования поисковой системой копий страниц, загружаемых через CDN.

Кейс: С этой проблемой столкнулась одна из компаний, предоставляющих услуги SEO. В индекс Google попали полные копии страниц, которые сохранялись на CDN (компания кэшировала не только медиа-контент, но и сами веб-страницы). Поисковая система проиндексировала страницы на CDN-домене, и в результате получилось около 13,5 тыс. дублированных страниц.

Для решения этой проблемы нужно настроить канонический заголовок. Это дополнительный HTTP-заголовок, который добавляется в ваш CDN и сообщает сканеру Google, что контент в вашем CDN является только копией.

Также можно настроить атрибут rel=canonical тега <link>, указав в качестве канонического (предпочтительного для индексации) URL основного домена. Однако при наличии нескольких субдоменов такой способ подходит только для Google - Яндекс не будет учитывать кросс-доменный rel=canonical. Можно также запретить субдомен для индексации, но тогда не будут учитываться посещения пользователей, которые заходят на субдомен, что приведет к ухудшению поведенческих факторов веб-ресурса. Поэтому нужно выносить CDN-версию на отдельный субдомен cdn.domain.com, регистрировать его в панели Вебмастера, контролировать его индексацию и появление ошибок, которые могут возникнуть при использовании сетей доставки контента.

Некорректная оптимизация контента

Изменение контента при доставке (минификация кода, структурные изменения) может быть связано с высокими рисками. Даже некорректно сокращение исходного кода за счет удаления лишних пробелов, неважных элементов и т. д. может плохо сказаться на работоспособности веб-ресурса. Более значимые изменения (перенос кода JS в конец HTML-страницы, объединение файлов) в случае ошибки могут нарушить функционирование сайта в еще большей степени.

Так, например, один из обзоров поставщиков услуг CDN предупреждает, что если вы используете сервис Microsoft Azure, который сжимает изображения и оптимизирует HTML, CSS и JavaScript, нужно быть осторожным при оптимизации файлов CSS, поскольку этот CDN-сервис может некорректно изменять файлы таблиц стилей контента.

Таким образом, не получится автоматизировать всю оптимизацию контента, необходимую для ускорения веб-ресурса. Например, удаление неиспользуемого или дублирующего кода должно выполняться в ручном режиме. Как правило, все функции такой оптимизации в CDN управляются настройками, и те из них, которые связаны с наибольшими рисками, по умолчанию отключаются.

Повышение угрозы взлома и кражи данных

Сами по себе серверы CDN защищают исходный сервер от хакерских атак, но, с другой стороны, их использование создает больше возможностей для хакеров. Компаниям нужно соблюдать осторожность, особенно при передаче конфиденциальных данных. Поэтому сетевая безопасность также является важным критерием при выборе провайдера CDN.

Потеря контроля над данными

Поскольку контент больше не находятся только на вашем собственном сервере, а размещается также на нескольких серверах CDN, это приводит к определенной потере контроля над содержимым веб-ресурса.

Утрата контента, сохраненного в CDN, в случае закрытия сервиса

Например, есть кейс, когда компания размещала все изображения на сервисе, ускоряющем их загрузку. Спустя год этот ресурс перестал существовать и на сайте, разместившем там контент, в один момент исчезли все изображения в интернет-магазине, блоге и т. д. В итоге его позиции резко упали, и потребовалось много времени, чтобы найти новые изображения и восстановить позиции сайта.

Кому нужно использовать CDN?

Прежде всего, CDN могут быть полезны:

  • Крупным интернет-магазинам и другим проектам, ориентированным на продвижение в разных регионах или странах.

Например, интернет-магазин Ozon хранит на CDN-серверах статический контент (все изображения, шрифты, js-скрипты).

  • Сервисам, осуществляющим распространение мультимедийного контента и стриминг.

Например, онлайн-кинотеатр ivi использует CDN (CDNvideo) для бесперебойной трансляции видеоконтента в странах СНГ и ближнего зарубежья.

  • Ресурсам, которые занимаются дистрибуцией игрового контента и программного обеспечения.

Например, финская медиакомпания Rovio Entertainment, которая стоит за созданием и распространением серии игр Angry Birds, использует Amazon CloudFront, поскольку этот сервис помогает снизить задержку при вызовах API, а интеграция с AWS Shield и AWS WAF обеспечивает защиту от DDoS-атак.

Подведем итоги

Поскольку стоимость услуг CDN достаточно высока и использование данной технологии несёт в себе значительные риски, применять её имеет смысл крупным международным компаниям, передающим большое количество медиаконтента, с потоком которого не справляются их собственные серверы.

При этом важными условиями эффективного использования сети доставки контента являются:

  • выбор надежного CDN-провайдера, предоставляющего все необходимые возможности и имеющего точки присутствия в регионах продвижения вашей компании;
  • наличие квалифицированной команды техподдержки;
  • создание для раздачи контента через CDN субдомена в вашем собственном домене (cdn.domain.com).

Также нужно проверять скорость загрузки и другие показатели качества работы сайта до и после подключения CDN. Если показатели не улучшились, а ухудшились, следует отказаться от её использования.

Небольшим компаниям, у которых целевая аудитория сосредоточена в пределах одного региона, а на сайте нет большого объема «тяжёлых» статических данных (изображений, видео, аудио и т. п.), нет необходимости использовать сеть доставки контента.

В этом случае проблема медленной загрузки сайта решается проведением технических работ на самом ресурсе. Причинами низкой скорости его работы могут быть:

  • неоптимизированные изображения;
  • тяжелый и лишний код;
  • неправильное подключение JS и CSS;
  • ошибки в настройке базы данных;
  • недостаточная мощность сервера.

Проверить скорость загрузки сайта вы можете с помощью отчета сервиса Labrika «Скорость и юзабилити», который показывает оценку скоростных показателей и дает рекомендации по их оптимизации.

О том, как ещё можно улучшить скорость работы сайта, читайте в отдельной статье на Labrika.ru.

Online SEO-инструменты для продвижения сайтов

Проверьте свой сайт и сайты конкурентов на 205 факторов поисковых систем.