CDN, içerik dağıtım ağı anlamına gelir. Bu, coğrafi olarak dağıtılmış ve birbirine bağlı sunuculardan oluşan bir ağdır. Amaç, web içeriğinin kullanıcıya daha hızlı iletilmesini sağlamaktır; bu, kullanıcının yaşadığı bölgeye göre verilere erişim verilerek yapılır. Örneğin, bir kullanıcı İspanya’dan bir web sayfasına erişiyorsa, kullanıcının bu verilere İspanya’da veya komşu bir ülkedeki bir sunucudan erişmesi daha mantıklıdır.
CDN teknolojisi ile, resimler, ses, video, JS ve CSS dosyaları gibi statik (değiştirilemez) içeriklere ait çeşitli site öğelerini önbelleğe alabilir ve saklayabilirsiniz. Bir CDN, statik site içeriğinin kopyalarını dünya çapında sunucularında depolar ve bir kullanıcı bir web kaynağını açtığında, içerik kendisine en yakın ağ sunucusundan indirilir.
Bu sayede trafikte en optimal rota izlenir, ağ üzerindeki yük azalır ve maksimum bağlantı hızı elde edilir. Sonuç olarak, CDN kullanan siteler daha hızlı yüklenir.
Ayrıca, site yüklenme hızını artırmak için CDN, içerikleri (metinler, resimler) sıkıştırmak ve CSS ile JavaScript kodlarını küçültmek (minify) için de kullanılabilir.
Bazı CDN sağlayıcıları statik ve dinamik verileri işleyebilir. Dinamik veri, değiştirilebilir ve belirli bir kullanıcıya uyarlanmış, isteğin alındığı anda sunucu tarafından oluşturulan verilerdir. CDN kullanımında dinamik içerik tesliminin hızlanması, optimize edilmiş ağ rotası seçimi ve bant genişliğinin artırılması ile sağlanır. Ayrı bir sunucuya kıyasla, CDN'nin toplam bant genişliği kolayca ölçeklenebilir ve pratikte sınırsızdır.
CDN'ler ayrıca akış (örneğin ses ve video yayını) içeriğinin dağıtımı için kullanılır. Streaming CDN’lerde veri akışı, önceden ağın parçası olan sunuculara aktarılır ve buradan kullanıcılara dağıtılır. Yük dengeleyiciler sayesinde istekler, o anda en az yüke sahip sunuculara yönlendirilir.
CDN kullanmak için şu biçimde bir alan adı oluşturmanız gerekir:
cdn.domain.com
Burası içeriğin dağıtılacağı ve CDN sağlayıcısına bağlanacağı yerdir. Genellikle müşterilere CDN URL'si için iki seçenek sunulur:
veya
Kullanıcı, tarayıcı çubuğuna www.domain.com
gibi bir adres yazar (HTML sayfasının bulunduğu yer). Aynı anda tüm statik içerikler (resim veya videolar gibi), CDN’den (cdn.domain.com
adresinden) yüklenir.
CDN'yi sayfa öğelerine (resimler, JS script'ler, CSS stilleri vb.) bağlamak için bu öğelerin adreslerini sitenizin kaynak kodunda CDN sunucusuna kaydetmeniz gerekir. Örnek aşağıdaki ekran görüntüsündeki gibidir:
Kullanıcıya en yakın önbellekleme sunucularını belirlemek için GeoDNS ve AnyCast teknolojileri kullanılır.
GeoDNS ile aynı domaine birden fazla IP adresi bağlayabilirsiniz. İstek gönderilen IP’nin coğrafi konumuna bağlı olarak kullanıcı en yakın sunucuya yönlendirilir.
AnyCast teknolojisinde ise coğrafi olarak dağıtılmış birkaç sunucuya aynı IP adresi (IPv4 veya IPv6) atanır, buna anycast adresi denir. Yönlendirme sistemi en uygun sunucuyu seçer.
İçerik dağıtım ağları genellikle oldukça pahalıdır, bu yüzden maliyet kriteri tedarikçi seçiminde önemli bir rol oynar.
Fiyatlandırma modelleri farklı olabilir:
Aylık veya yıllık abonelik (örneğin Cloudflare sağlayıcısında):
Ağ üzerinde iletilen içerik miktarına göre ödeme (Amazon Cloudfront):
Sunuculara olan trafik arttıkça, 1 GB için maliyet düşer.
CDN kullanım maliyeti, dahil edilen sunucu sayısı ve konumu, paket içeriği vb. faktörlere bağlıdır.
Düşük maliyetli CDN pazarında, aylık abonelik gerektirmeden GB başına 0,01 $ gibi tarifeler bulabilirsiniz (BunnyCDN):
Bazı sağlayıcılar deneme süresi, bireysel kullanıcılara ücretsiz tarifeler vb. sunar.
Web sitelerinin hızı, arama motorlarında iyi sıralama için giderek daha önemli hale geliyor. 2021 yılında Google, bir sayfanın ana içeriğinin yüklenme süresini, Core Web Vitals göstergesi kapsamında sıralama sinyallerinden biri yaptı.
Site çok yavaş yüklenirse, kullanıcı kaybına yol açabilir. Bu aynı zamanda Google'ın baktığı kullanıcı davranış faktörlerini (örneğin hemen çıkma oranı) etkiler ve sıralamada düşmeye sebep olabilir.
Google’ın araştırmaları, içerik yüklenme süresinin site davranış metriklerini nasıl etkilediğini açıkça göstermektedir. Örneğin, bir sayfanın yükleme süresi 1 saniyeden 10 saniyeye çıktığında, mobil siteyi terk etme olasılığı %123 artar.
İçerik dağıtım ağlarının kullanımı bu sorunu çözmenin yollarından biridir. CDN’deki coğrafi olarak dağıtılmış sunucular, sitenin yanıt süresini kullanıcılar için en aza indirir.
Sitenin güvenilirliği de artar — CDN sunucularının dağıtımı sayesinde içerik, yoğun yük anlarında bile erişilebilir kalır. Arıza ve hatalarda, trafik otomatik olarak ağdaki diğer sunuculara yönlendirilir.
Dosya ana sunucuda değiştirildiğinde, önbellekleme sunucularında değişmeden kalır. Ancak modern CDN'ler bu sorunu çözmek için önbelleği periyodik olarak temizleme ve güncelleme, eski içeriği silip yenisiyle değiştirme fonksiyonları sağlar.
Bir sebepten CDN sağlayıcısının IP'sindeki "komşularınız" engellenirse, siteniz de onlarla birlikte engellenebilir. Bu durumda CDN sağlayıcısına IP adresini değiştirmesi için başvurmalısınız.
CDN SEO Riskleri, İçerik Optimizasyonu ve Kullanım Alanları
Sitenizden gelen içerik, örneğin resimler, resmin önbelleğe alındığı CDN sunucusundan yüklenebilir, sitenin kendisinden değil. Bu arama motorları için, resmin aslında sizin sitenizde değil başka bir yerde olduğu anlamına gelir. Sonuç olarak, resimlerinize olan trafik kaybı yaşanabilir.
Bunu önlemek için arama robotlarına, CDN’den değil, sizin sunucunuzda depolanan resim versiyonunu verebilirsiniz. Ya da resimleri ikinci seviye domaininizin bir alt domainine, örneğin cdn.domain.com’a yükleyip dosya adlarını ve dizin yapısını korumalısınız.
Örneğin, CDN kullanmadan önce bir resmin yolu şu şekildeyse:
www.domain.com/wp-content/uploads/2021/06/image1.png
Kullanımdan sonra şu şekilde olmalıdır:
cdn.domain.com/wp-content/uploads/2021/06/image1.png
Bu, arama motorunun resimleri sitenizle ilişkilendirmesine yardımcı olur ve resim aramalarından gelen trafiği korursunuz.
Ancak Google analisti John Muller, resimlerin aynı host/domain üzerinde yer almasının SEO için bir avantaj sağlamadığını belirtmiştir. Bazı çalışmalar, CDN kullanılırken alt domainlerin varlığının bile bu sorunu çözmeyebileceğini göstermektedir. Dolayısıyla küçük sitelerin resim aramasındaki konumunu iyileştireceği garantisi yoktur.
CDN’yi yanlış yapılandırırsanız, çoğaltılmış içerik sorunu ortaya çıkabilir. Çoğaltmalar, CDN üzerinden yüklenen sayfaların kopyaları arama motoru tarafından indekslendiğinde oluşur.
Örnek vaka: Bir SEO hizmeti sunan şirket bu sorunla karşılaştı.
Google indeksinde, şirketin CDN’sinde depolanan sayfaların tam kopyaları yer aldı (şirket sadece medya içeriğini değil, web sayfalarını da önbelleğe almıştı). Arama motoru, sayfaları hem CDN domaini hem de normal domain üzerinde indeksledi. Sonuçta yaklaşık 13.5 bin çoğaltılmış sayfa ortaya çıktı.
Bu sorunu çözmek için canonical başlığını yapılandırmanız gerekir. Bu, CDN’nize eklenen ek bir HTTP başlığıdır ve Google tarayıcısına CDN’deki içeriğin sadece bir kopya olduğunu belirtir.
Ayrıca <link>
etiketi içinde canonical (tercih edilen indeksleme adresi) olarak ana domainin URL’sini rel=canonical özniteliği ile gösterebilirsiniz. Alt domainin indekslenmesini engellemek de mümkündür.
Bununla birlikte alt domaini ziyaret eden kullanıcılar dikkate alınmayacağından site davranışsal faktörlerde düşüş yaşanabilir. Bunu düzeltmek için CDN versiyonunu ayrı bir alt domaine (cdn.domain.com) taşımalı, Webmaster panelinde kayıt etmeli ve CDN kullanımında oluşabilecek indeksleme ve hata durumlarını takip etmelisiniz.
İletim sırasında içerikte yapılan değişiklikler (kod küçültme, yapısal değişiklikler) riskli sonuçlar doğurabilir. Gereksiz boşluklar ve önemsiz öğelerin kaldırılması gibi hatalı kaynak kod küçültmeleri bile web kaynağının performansını olumsuz etkileyebilir. Daha ciddi değişiklikler (JS kodunun HTML sonunda toplanması, dosyaların birleştirilmesi) küçük bir hata durumunda sitenin işlevselliğini bozabilir.
CDN hizmet sağlayıcısı Microsoft Azure’un incelemesinde bu konuda bir örnek vardır. Görselleri sıkıştırırken ve HTML, CSS, JavaScript optimizasyonu yaparken CSS dosyalarının yanlış değiştirilme ihtimaline karşı dikkatli olunması gerektiği uyarısı yapılır.
Bu nedenle, otomatik servislerin hata yaratması ihtimaline karşı kullanılmayan veya yinelenen kodların manuel olarak silinmesi en iyi uygulamadır. CDN içinde bu işlevler genellikle varsayılan olarak kapalıdır çünkü en çok hataya sebep olanlar onlar olabilir.
CDN sunucuları kaynak sunucuyu saldırılardan korusa da, kullanım hali hackerlara daha fazla imkan sunar. Şirketlerin özellikle hassas veri aktarırken çok dikkatli olması gerekir. Bu nedenle ağ güvenliği CDN sağlayıcı seçerken önemli bir kriterdir.
İçerik artık sadece kendi sunucunuzda değil, birkaç CDN sunucusu üzerinde de barındırıldığı için web kaynağının içeriği üzerinde kontrol kaybı yaşanır.
Örneğin, bir şirket tüm görsellerini yüklenme hızını artırmak için CDN hizmetine aktardı. Bir yıl sonra bu servis kapandı. İçeriğini oraya yükleyen site, online mağaza ve blogundaki tüm görselleri kaybetti. Sonuç olarak SERP sıralaması dramatik şekilde düştü ve yeni görselleri bulup site konumunu geri kazanması uzun zaman aldı.
CDN’ler şunlar için çok yararlı olabilir:
Farklı bölge veya ülkelerde içeriklerini daha erişilebilir kılmaya odaklanan büyük online mağazalar ve diğer site türleri.
Örnek:
Amazon online mağazası, statik içeriğini CDN sunucularında depolar.
Multimedya içerik ve yayın dağıtan servisler.
Örneğin kiswe, konser, spor etkinlikleri ve canlı televizyon gibi etkinliklerde hayranlara canlı bilet yayını sağlar.