Sitenizin sunucusu İstanbul'da ve ziyaretçiniz Berlin'de olsa, her istek iki şehir arasındaki mesafeyi kat eder; mesafe gecikme demektir. CDN (Content Delivery Network, İçerik Dağıtım Ağı), sitenizin içeriğinin kopyalarını dünyanın çeşitli noktalarındaki sunuculara yerleştirerek ziyaretçiye en yakın noktadan hizmet verir. Bu yazıda CDN'in nasıl çalıştığını, ne zaman fark yarattığını ve nelere dikkat etmeniz gerektiğini anlatıyoruz.
CDN nasıl çalışır?
- Ziyaretçi bir görsel veya CSS dosyası ister.
- İstek, en yakın kenar (edge) sunucuya gelir.
- Kenar sunucuda dosyanın bir kopyası varsa (cache hit) doğrudan ziyaretçiye verir.
- Yoksa (cache miss) kaynak sunucudan (origin) alır, ziyaretçiye iletir ve bir kopyasını bir süre saklar.
Dosyaların ne kadar süre saklanacağı, sizin sunucunuzun gönderdiği Cache-Control başlıklarına ve CDN'deki kural ayarlarına bağlıdır.
CDN'in sağladığı faydalar
- Daha düşük gecikme: İçerik ziyaretçiye daha yakın olduğundan sayfa daha hızlı açılır; bu, özellikle LCP gibi hız metriklerini iyileştirir (Core Web Vitals).
- Kaynak sunucuda yük azalması: Statik dosyaları kenar sunucular verdiğinden sunucunuz daha az istek alır ve trafik artışlarına dayanıklı hale gelir.
- Saldırılara karşı koruma: Birçok CDN, DDoS azaltma ve web uygulama güvenlik duvarı (WAF) sunar.
- Ek hizmetler: Görsel optimizasyonu, sıkıştırma, HTTP/2 ve HTTP/3 desteği, TLS sonlandırma ve bot yönetimi sağlanabilir.
- Erişilebilirlik: Kaynak sunucuda kısa süreli sorun olsa bile önbellekteki içerik sunulmaya devam edebilir.
Ne zaman gerçekten gerekir?
- Ziyaretçileriniz birden fazla ülke veya kıtada bulunuyorsa.
- Sitenizde çok sayıda görsel, video veya büyük statik dosya varsa.
- Kampanya, yayın veya haber nedeniyle ani trafik artışları yaşıyorsanız.
- Saldırı veya bot trafiğiyle uğraşıyorsanız.
Yalnızca yerel ziyaretçisi olan küçük bir site için CDN zorunlu değildir; yine de birçok sağlayıcının ücretsiz katmanı kolay kurulum, önbellekleme ve ek güvenlik katmanı sağladığı için tercih edilir.
Neleri önbelleğe almalı?
- İyi adaylar: Görseller, CSS, JavaScript, yazı tipleri, videolar, PDF'ler gibi değişmeyen veya nadiren değişen dosyalar.
- Dikkat gerektirenler: HTML sayfaları. Kişiselleştirilmemiş statik sayfalar önbelleğe alınabilir; ancak giriş yapmış kullanıcıya özel içerik (sepet, hesap sayfası) asla herkese açık olarak önbelleğe alınmamalıdır.
- Almayın: Kullanıcıya özel veriler, ödeme adımları, yönetim paneli, API yanıtlarının kişiye özel olanları.
Kurulum adımları (genel akış)
- Bir CDN sağlayıcısı seçin ve alan adınızı ekleyin. Cloudflare, Fastly, Amazon CloudFront ve Bunny gibi çeşitli sağlayıcılar vardır; ücretsiz katmanları ve kapsamları farklıdır.
- Entegrasyon yöntemi sağlayıcıya göre değişir: nameserver'ı CDN'e yönlendirmek (tam proxy) veya yalnızca statik varlıklar için bir CDN alt alan adı (
cdn.ornek.com) kullanmak (DNS rehberi). - HTTPS ayarını doğru yapın: CDN ile kaynak sunucu arasındaki bağlantı da şifreli olmalı. "Esnek (flexible)" gibi kaynak bağlantısını şifresiz bırakan modlardan kaçının (HTTPS rehberi).
- Önbellek kurallarını belirleyin ve sunucunuzdan uygun
Cache-Controlbaşlıkları gönderin. - Gerçek ziyaretçi IP'sini sunucunuzda doğru okuyun (
X-Forwarded-Forgibi başlıklar); aksi halde günlükleriniz ve güvenlik kurallarınız yalnızca CDN adreslerini görür. - Test edin.
Önbellek durumunu kontrol etme
curl -I https://www.ornek.com/gorsel.jpg cache-control: public, max-age=31536000 age: 3600 cf-cache-status: HIT
Başlık adları sağlayıcıya göre değişir (x-cache, cf-cache-status gibi); HIT içeriğin kenardan, MISS kaynak sunucudan geldiğini gösterir.
Sık yapılan hatalar
- Dosya değişince eski sürümün görünmesi: Uzun süreli önbellekte güncelleme için dosya adına sürüm/özet ekleyin (
stil.8f3a2c.css) veya CDN panelinden önbelleği temizleyin (purge). - Kişiye özel içeriğin önbelleğe alınması: Çerez ve oturum içeren yanıtların nasıl ele alındığını mutlaka test edin.
- Yanlış HTTPS modu: Kaynak bağlantısının şifresiz kalması.
- Kaynak IP'sini açık bırakmak: Saldırgan CDN'i atlayıp sunucuya doğrudan ulaşabilir; sunucuda yalnızca CDN adreslerine izin vermeyi düşünün.
- CDN'i tek çözüm sanmak: Yavaş bir veritabanı veya şişkin bir sayfayı CDN düzeltmez; önce uygulama tarafını optimize edin (hızlandırma rehberi).
Kaynaklar ve ileri okuma
Sık Sorulan Sorular
CDN SEO'yu etkiler mi?
Doğrudan bir sıralama sinyali değildir; ancak sayfa hızını ve erişilebilirliği iyileştirdiği için dolaylı olarak faydalıdır. Yanlış yapılandırma (örneğin botların engellenmesi veya yinelenen URL'ler) ise zarar verebilir.
CDN kullanınca sunucumu değiştirmem gerekir mi?
Hayır. CDN, mevcut sunucunuzun önüne eklenir; sunucunuz kaynak (origin) olarak çalışmaya devam eder.
Ücretsiz CDN yeterli mi?
Küçük ve orta ölçekli siteler için çoğu zaman yeterlidir. Gelişmiş güvenlik, özel kurallar ve destek ihtiyacı arttığında ücretli planlar değerlendirilebilir.