Site Hızı & Performans

    CDN Nedir, Nasıl Çalışır

    İçerik dağıtım ağının çalışma mantığı, kurulum yöntemleri ve ne zaman işe yaradığı.

    9 dk okuma Güncellendi: 25 Ağustos 2026

    Sunucun İstanbul'da duruyor ve İstanbul'dan bakınca site uçuyor. Ama Almanya'daki bayin "yavaş" diyor, Amerika'daki müşterin sayfanın açılmasını bekliyor. Sunucuda CPU boşta, RAM rahat, disk sorunsuz; yine de uzaktaki ziyaretçi için her istek bir eziyet. Bunun sebebi kaynak yetersizliği değil, fizik: veri kablo içinde ışık hızının biraz altında ilerler ve İstanbul ile Los Angeles arasındaki gidiş-dönüş süresini hiçbir donanım yükseltmesi kısaltamaz. CDN, tam olarak bu problemi çözmek için var: içeriği kullanıcıya götürmek yerine, kullanıcıya yakın bir yere önceden koymak.

    Bu rehberde CDN'in ne olduğunu, bir isteğin CDN üzerinden adım adım nasıl geçtiğini, PoP ve anycast gibi kavramların pratikte ne anlama geldiğini, pull ve push modelleri arasındaki farkı, kurulumun nasıl yapıldığını ve en önemlisi CDN'in ne zaman işe yaramadığını anlatacağım. Sonunda kendi siten için CDN'e ihtiyacın olup olmadığına sağlam gerekçelerle karar verebileceksin.

    CDN Nedir ve Hangi Problemi Çözer#

    CDN, açılımıyla Content Delivery Network yani içerik dağıtım ağı, dünyanın farklı noktalarına dağıtılmış önbellek sunucularından oluşan bir ağdır. Senin sunucun (buna origin yani kaynak sunucu denir) tek bir yerde durur; CDN ise aynı içeriğin kopyalarını onlarca ülkedeki veri merkezlerinde tutar. Ziyaretçi siteye girdiğinde isteği origin'e kadar gitmez, kendisine en yakın CDN düğümünden karşılanır.

    Kazanç iki yerden gelir. Birincisi gecikme (latency): fiziksel mesafe kısaldığı için gidiş-dönüş süresi düşer. Bunun etkisi tek bir dosyada küçük görünür ama bir sayfa onlarca istek yapar ve her istek bu mesafeyi ayrı ayrı öder. İkincisi origin yükünün azalması: statik dosyaların büyük bölümü CDN'de karşılandığı için sunucuna ulaşan istek sayısı çarpıcı biçimde düşer, aynı donanımla çok daha fazla ziyaretçi taşırsın.

    Mesafenin maliyetini somutlaştırmak için tipik gidiş-dönüş sürelerine bakalım. Rakamlar ağ koşullarına göre değişir ama büyüklük mertebesi şudur:

    Kullanıcı konumuOrigin İstanbul'daYakın CDN düğümüFark
    İstanbulÇok düşükÇok düşükKayda değer değil
    FrankfurtOrtaDüşükBelirgin
    New YorkYüksekDüşükÇok belirgin
    SingapurÇok yüksekDüşükDramatik

    Buradaki kritik nokta şu: CDN sunucunu hızlandırmaz. Sunucun yavaşsa CDN önbelleğe alamadığı her istekte aynı yavaşlığı görürsün. CDN, hızlı bir sunucunun hızını uzaktaki kullanıcıya taşır; yavaş bir sunucuyu hızlı yapmaz.

    Bir İstek Adım Adım Nasıl İşler#

    CDN'i anlamanın en iyi yolu tek bir isteğin yolculuğunu izlemektir. Kullanıcı firmaniz.com/logo.png adresini istediğinde sırasıyla şunlar olur:

    1. Tarayıcı firmaniz.com için DNS sorgusu yapar. Alan adı CDN'e yönlendirilmişse dönen IP, CDN'in anycast adresidir.
    2. Anycast sayesinde bu tek IP'ye yapılan bağlantı, ağ topolojisi olarak en yakın CDN düğümüne (PoP) düşer. Yani kullanıcının nerede olduğunu kimsenin ayrıca hesaplamasına gerek kalmaz.
    3. PoP kendi diskine bakar. Dosya önbellekte varsa ve TTL'i dolmamışsa doğrudan kullanıcıya döner. Buna cache HIT denir.
    4. Dosya yoksa PoP, origin sunucuna gider, dosyayı çeker, kullanıcıya iletir ve bir kopyasını kendinde saklar. Buna cache MISS denir.
    5. Aynı bölgeden gelen bir sonraki kullanıcı artık HIT alır ve istek origin'e hiç ulaşmaz.

    Bu döngünün hangi aşamada olduğunu yanıt başlıklarından görürsün. Neredeyse tüm sağlayıcılar bir durum başlığı ekler:

    # Yanit basliklarini gor: HIT mi MISS mi, hangi PoP karsiladi
    curl -sSI https://firmaniz.com/logo.png | grep -iE 'cache|age|server|cf-ray|x-cache'
    
    # Ornek cikti:
    # cache-control: public, max-age=31536000, immutable
    # age: 84213
    # x-cache: HIT
    

    age başlığı dosyanın o PoP'ta kaç saniyedir durduğunu söyler; x-cache (ya da sağlayıcıya göre cf-cache-status, x-cache-status) HIT/MISS/EXPIRED durumunu verir. İlk isteğin MISS, hemen sonrakinin HIT dönmesi normaldir. Sürekli MISS alıyorsan bir sorun var demektir ve bunun sebeplerini CDN cache hit oranını artırma yazısında tek tek ele aldım.

    PoP, Anycast ve Origin Kavramları#

    Bu üç kelime CDN pazarlama sayfalarında sürekli geçer, hadi netleştirelim.

    PoP (Point of Presence), CDN'in bir şehirdeki varlık noktasıdır: içinde önbellek sunucuları bulunan bir veri merkezi kabini. Sağlayıcılar "200 şehirde PoP" gibi rakamlar verir. Bu rakam tek başına bir kalite göstergesi değildir; senin ziyaretçilerinin bulunduğu yerlerde PoP olup olmadığı önemlidir. Türkiye'deki ziyaretçiler için İstanbul PoP'u olan bir sağlayıcı, dünyada 300 PoP'u olup Türkiye'ye Frankfurt'tan hizmet veren bir sağlayıcıdan daha iyi sonuç verir.

    Anycast, aynı IP adresinin dünyanın birçok noktasından aynı anda duyurulmasıdır. Kullanıcı o IP'ye bağlandığında, internet yönlendirme protokolü onu kendisine ağ olarak en yakın kopyaya götürür. Bu, CDN'in "en yakın düğümü bulma" işini yazılımla değil doğrudan yönlendirme katmanında çözmesini sağlar. Sonuç: ek bir gecikme olmadan yerel karşılama.

    Origin, senin gerçek sunucundur. CDN'in arkasında durur ve yalnızca önbellekte olmayan istekleri görür. Origin'i doğrudan IP'siyle erişilebilir bırakmak yaygın bir hatadır; saldırganlar CDN'i atlayıp doğrudan sunucuna vurabilir. Origin'i yalnızca CDN IP aralıklarına açmak, DDoS koruma katmanının işe yaraması için şarttır.

    Bir de origin shield vardır: PoP'lar origin'e doğrudan gitmek yerine ara bir katmana gider, o katman origin'e tek bir istek yapar. Böylece aynı dosya için yüzlerce PoP'un origin'i ayrı ayrı yormasının önüne geçilir.

    Pull ve Push Modelleri#

    CDN'e içeriğin iki yolla girer ve hangisini seçtiğin işleyişi baştan aşağı değiştirir.

    Pull (çekme) modeli en yaygın olanıdır. CDN'e "origin'im şu adres" dersin, gerisini o halleder: bir dosya ilk kez istendiğinde CDN onu senin sunucundan çeker ve saklar. Avantajı sıfır bakımdır; sen dosyayı sunucuna koyarsın, CDN'e ayrıca bir şey yüklemezsin. Dezavantajı, her dosyanın ilk isteğinin yavaş olmasıdır (soğuk önbellek).

    Push (itme) modelinde dosyaları CDN'in depolama alanına sen yüklersin. Origin'e hiç gidilmez; içerik zaten oradadır. Büyük video dosyaları, yazılım kurulum paketleri gibi origin'den çekilmesi pahalı içerikler için mantıklıdır. Bedeli, yükleme ve senkronizasyon sorumluluğunun sende olmasıdır.

    KriterPull zonePush / storage zone
    Kurulum zorluğuDüşükOrta
    İlk istek hızıYavaş (soğuk)Hızlı
    Origin bağımlılığıVarYok
    Uygun içerikSite varlıkları, görsellerVideo, büyük indirmeler
    Güncelleme yöntemiOrigin'i değiştir, purge etYeniden yükle

    Çoğu site için doğru cevap pull zone'dur. Bunu pratikte kurmak istersen BunnyCDN kurulumu yazısında baştan sona adım adım anlattım; Cloudflare tarafında yapılandırma yapacaksan Cloudflare cache kuralları rehberi işini görür.

    Kurulum Yöntemleri#

    CDN'i devreye almanın üç yaygın yolu var ve hangisini seçeceğin altyapına bağlı.

    Tam alan adı yönlendirme (proxy modu). Alan adının nameserver'larını ya da A kaydını CDN'e verirsin; tüm trafik CDN üzerinden akar. Cloudflare'ın "turuncu bulut" modu budur. Avantajı, HTML dahil her şeyin CDN'den geçmesi ve güvenlik katmanlarının otomatik devreye girmesidir. Dikkat: SSL modunu doğru seçmezsen yönlendirme döngüsü ya da sertifika hatası alırsın.

    Ayrı CDN alt alan adı. Statik dosyaları cdn.firmaniz.com gibi ayrı bir isimden sunarsın, HTML kendi sunucundan gelmeye devam eder. Kurulumu en az riskli yöntemdir çünkü bir sorun çıkarsa CNAME'i geri almak yeterlidir.

    ; Statik dosyalar icin ayri CDN alt alan adi
    cdn.firmaniz.com.   3600   IN   CNAME   firmaniz.b-cdn.net.
    

    Sonra uygulamanda varlık adreslerini bu isme çevirirsin:

    # Origin tarafinda: CDN'in cekecegi dosyalara uzun omur ver
    location ~* \.(jpg|jpeg|png|webp|avif|gif|svg|woff2|css|js)$ {
        add_header Cache-Control "public, max-age=31536000, immutable";
        access_log off;
    }
    

    Uygulama seviyesinde entegrasyon. WordPress gibi sistemlerde bir eklenti, sayfa çıktısındaki varlık adreslerini otomatik olarak CDN adresiyle değiştirir. Hızlı bir başlangıçtır ama eklentinin ne yaptığını bilmeden kullanmak, ileride teşhis edilmesi zor önbellek karışıklıkları doğurur.

    Kurulum sonrası mutlaka doğrulama yap. Aynı dosyayı iki kez isteyip ikincisinde HIT gördüğünden, Cache-Control başlığının beklediğin gibi çıktığından ve HTTPS'in sertifika hatası vermediğinden emin ol. Başlıkların ne anlama geldiğini tam oturtmak istersen Cache-Control başlıkları rehberine bak.

    CDN Ne Zaman İşe Yaramaz#

    Şimdi kimsenin söylemediği kısma gelelim. CDN her sitenin ihtiyacı değildir ve bazı durumlarda hiçbir şey kazandırmaz.

    Ziyaretçilerinin neredeyse tamamı Türkiye'deyse ve sunucun da Türkiye'deyse, mesafeden kazanacağın şey azdır. Bu durumda CDN'in katkısı origin yükünü azaltmakla sınırlı kalır; hız algısında büyük sıçrama beklememelisin. Böyle bir siteyi hızlandırmanın yolu genellikle önbellekleme ve sunucu tarafı optimizasyondan geçer; Nginx FastCGI cache ya da LiteSpeed Cache gibi katmanlar çok daha fazla kazandırır.

    İkinci durum, içeriğinin tamamen kişiselleştirilmiş olmasıdır. Her kullanıcıya farklı HTML üreten bir panel, sepet sayfası ya da üyelik alanı önbelleğe alınamaz; CDN bu isteklerde sadece bir ara durak olur. Böyle sitelerde CDN'i statik varlıklarla sınırlamak en doğrusudur.

    Üçüncü durum, yanlış yapılandırmadır ve pratikte en sık gördüğüm senaryodur. Çerez gönderen bir origin, her istekte değişen bir başlık ya da Cache-Control: no-store ile çıkan varlıklar, CDN'i tamamen etkisiz hâle getirir. Rakamla söylersem: hit oranı yüzde 30'un altındaysa CDN'in sana kazandırdığı neredeyse yoktur, üstelik araya bir katman daha girdiği için bazı isteklerde işler yavaşlar bile.

    Dördüncü ve son durum, sunucunun asıl darboğaz olmasıdır. Veritabanı sorguların yavaşsa ya da PHP işlem süren yüksekse, CDN dinamik sayfayı hızlandıramaz. Önce origin'i düzelt, sonra CDN ekle. Sıralama ters olursa yalnızca problemi bir katman arkasına saklamış olursun.

    Sıkça Sorulan Sorular#

    CDN kullanmak SEO'ya zarar verir mi#

    Doğru kurulduğunda zarar vermez, aksine fayda sağlar; sayfa hızı arama sıralamasında dikkate alınan bir sinyaldir. Zarar, yanlış yapılandırmadan gelir: aynı içeriğin hem CDN alt alan adından hem ana alan adından erişilebilir olması, kanonik etiketlerin karışması veya yönlendirme döngüleri sorun çıkarır. Kurulum sonrası arama motoru araçlarında tarama hatalarını kontrol etmeyi ihmal etme.

    CDN ücretsiz mi, ne kadara mal olur#

    Birkaç sağlayıcı temel seviyede ücretsiz plan sunar ve küçük siteler için bu genellikle yeterlidir. Ücretli planlarda fatura çoğunlukla aktarılan veri miktarı ve istek sayısı üzerinden hesaplanır, bölgeye göre birim fiyat değişir. Video gibi ağır içerik dağıtıyorsan aylık maliyeti önceden hesaplaman şart; trafik faturası sürprizle karşılaşmanın en klasik yoludur.

    CDN sunucumun yerine geçer mi#

    Hayır. CDN yalnızca önbelleğe alabildiği içeriği sunar; uygulaman, veritabanın ve dinamik sayfa üretimin hâlâ origin sunucunda çalışır. Statik bir site tamamen CDN üzerinden yayınlanabilir, ancak veritabanı kullanan bir sitede origin her zaman gereklidir. CDN bir barındırma değil, barındırmanın önüne konan bir hızlandırma ve koruma katmanıdır.

    Önbelleği güncellemek ne kadar sürer#

    İçeriği değiştirdiğinde CDN'deki eski kopya, o dosyanın TTL süresi dolana kadar dağıtılmaya devam eder. Anında güncelleme için sağlayıcının purge (temizleme) fonksiyonunu kullanırsın; çoğu sağlayıcıda temizleme birkaç saniye içinde tüm PoP'lara ulaşır. Daha temiz yöntem, dosya adına sürüm eklemektir: dosya adı değişince eski kopyayı temizlemek gerekmez.

    CDN ile hosting arasındaki fark nedir#

    Hosting sitenin dosyalarını ve uygulamanı çalıştıran yerdir; CDN ise o dosyaların kopyalarını dünyaya dağıtan ağdır. Biri diğerinin alternatifi değildir, birlikte çalışırlar. Sadece CDN alıp hosting almazsan çalıştıracak bir uygulaman olmaz; sadece hosting alıp CDN almazsan uzaktaki ziyaretçiler daha yavaş erişir.

    CDN'in çalıştığını nasıl doğrularım#

    En hızlı yöntem yanıt başlıklarına bakmaktır. curl -sSI https://firmaniz.com/dosya.jpg komutunu iki kez çalıştır; ikinci çağrıda önbellek durum başlığının HIT dönmesi gerekir. Ayrıca age başlığının sıfırdan büyük olması, dosyanın PoP'ta beklediğini gösterir. Farklı ülkelerden test etmek istersen çevrimiçi çok bölgeli test araçları aynı dosyayı birden fazla noktadan ölçer.

    Kapanış#

    CDN'in tek bir işi var: içeriği kullanıcıya yaklaştırmak. Bunu iyi yaptığında uzak ziyaretçilerin için ciddi bir hız kazancı ve sunucun için belirgin bir yük azalması sağlar. Aklında tutman gereken dört şey: CDN yavaş bir sunucuyu hızlandırmaz, hit oranı düşükse hiçbir kazanç yoktur, origin'i doğrudan erişime kapatmadan koruma tamamlanmaz ve her kurulumdan sonra yanıt başlıklarıyla doğrulama yapmadan "kuruldu" denmez.

    Kendi durumun için hangisinin daha çok kazandıracağını merak ediyorsan CDN mi daha iyi hosting mi karşılaştırmamız iyi bir başlangıç. Origin tarafını güçlendirmek istersen hızlı NVMe diskli web hosting ve WordPress hosting paketlerimize, tam kontrol istiyorsan VDS sunucularımıza bakabilirsin. Saldırı trafiğini CDN katmanının önünde durdurmak istersen DDoS koruma ve WAF hizmetlerimiz bu işi senin yerine üstlenir.

    CDNPerformansAltyapı

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.