Buyukweb
CDN Nasıl Çalışır? Cloudflare ve Global İçerik Dağıtım Ağı Rehberi

CDN Nasıl Çalışır? Cloudflare ve Global İçerik Dağıtım Ağı Rehberi

CDN mimarisi, edge sunuculara, Cloudflare kurulumu, cache stratejileri ve CDN ile web sitesi performansı artırma rehberi.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü9 dakika okuma

CDN Nasıl Çalışır? Cloudflare ve İçerik Dağıtım Ağı Pratik Rehberi

CDN (Content Delivery Network), web sitenizin statik içeriklerini dünya genelindeki edge sunuculara dağıtarak ziyaretçinin coğrafi konumuna en yakın noktadan teslim eder. Bu, sayfa açılış sürelerinde ölçülebilir bir kazanç ve origin sunucunuzdaki yükte düşüş demek. Buyukweb müşterilerinden gelen "CDN'i hosting'imle birlikte mi kullanmalıyım?" sorusunu en sık duyduğum konu olduğu için bu rehberi pratik bir kaynak olarak hazırladım.

CDN'i Bir Cümleyle Anlatmak

Bir kullanıcı Tokyo'dan Türkiye'deki bir e-ticaret sitenize girdiğinde her görsel, her CSS dosyası 9.000 km'lik bir yolculuğa çıkar. Coğrafi mesafeye bağlı her gidiş-dönüş 100-250 ms gecikme demek. CDN bu yolculuğu kısaltır: Tokyo'da bir edge sunucu Türkiye sunucunuzun bir kopyasını tutar, kullanıcı oradan alır.

CDN olmadan:
[Tokyo Kullanıcı] ⟶ 9000km, 200ms ⟶ [Türkiye Origin]

CDN ile:
[Tokyo Kullanıcı] ⟶ 50km, 5ms ⟶ [Tokyo Edge] ⟶ (cache hit) ⟶ Yanıt

Pratik kazançlar:

  • Sayfa açılış süresi: 30-60% iyileşme (içerik dağılımına bağlı)
  • Origin yükü: %70-90 düşüş (statik içerikler edge'den serve)
  • DDoS koruması: Saldırı trafiği edge ağında absorbe edilir
  • Bant genişliği maliyeti: Origin'in ödediği trafik düşer

CDN Sözlüğü

Yazıda sıkça geçecek terimler:

  • Origin Server: Asıl web sunucunuz (Buyukweb'de hosting/VDS)
  • Edge Server (PoP — Point of Presence): CDN'in dünya genelindeki sunucuları
  • Cache Hit: İçerik edge'de var, origin'e gidilmedi
  • Cache Miss: Edge'de yok, origin'den çekilecek
  • TTL (Time-to-Live): İçeriğin edge'de ne kadar tutulacağı
  • Purge: Cache'i temizleme, edge'i origin'den yeniden çekmeye zorlama
  • Stale-While-Revalidate: Eski cache'i sun, arka planda yenile

CDN Türleri ve Kullanım Senaryoları

CDN tek tip değil; ihtiyaca göre 3 farklı kategori var:

1. Genel Amaçlı CDN (En Yaygın)

Cloudflare, Fastly, KeyCDN, BunnyCDN gibi ağlar. Web sitelerinin statik içeriklerini (görsel, CSS, JS) dünyaya dağıtır. Buyukweb hosting müşterilerinin %80'i için Cloudflare ücretsiz planı yeterli.

2. Video CDN

YouTube, Twitch'in arkasındaki ağ türü. Adaptive bitrate streaming, HLS/DASH protokol desteği gerekir. Kendi video platformunuzu kuruyorsanız Bunny Stream veya benzeri özel video CDN kullanın.

3. API CDN / Edge Computing

Cloudflare Workers, Vercel Edge Functions gibi yapılar. Kod edge'de çalışır; veritabanı yakınlığı düşük gecikme gerektiren API'ler için. Bu daha gelişmiş bir mimari, Buyukweb müşterilerinin küçük bir kısmı için anlamlı.

Cloudflare Kurulumu — Buyukweb Müşterisi İçin

Buyukweb hosting'inizi Cloudflare ile entegre etmek 3 adım:

Adım 1: Cloudflare Hesabı + Site Ekleme

1. cloudflare.com → Add a Site
2. Domain adınızı girin: ornek.com
3. Free plan yeterli (Pro/Business genelde gereksiz)
4. Cloudflare mevcut DNS kayıtlarınızı otomatik tarar ve içe aktarır
5. Eksik kayıt varsa elle ekleyin

Adım 2: Nameserver Değişikliği

Domain registrarınız (yurt dışı veya Türk registrar) panelinden:

Eski (örnek):
  ns1.buyukweb.com
  ns2.buyukweb.com

Yeni (Cloudflare):
  beth.ns.cloudflare.com
  liam.ns.cloudflare.com

24-48 saat propagasyon süresi vardır; Cloudflare bu süreçte aktivasyonu mail ile haber verir.

Adım 3: Proxy Modunu Aç (Orange Cloud)

Cloudflare DNS panelinde her A/CNAME kaydı yanında bulut ikonu görürsünüz:

Orange Cloud (Proxied) ☁️ → CDN aktif + DDoS koruma + WAF + SSL
Grey Cloud (DNS Only) ☁️  → Sadece DNS, CDN bypass

E-posta MX kayıtları Grey Cloud olmalı (mail servisi proxy üzerinden geçemez); web (A, CNAME, root) kayıtları Orange Cloud.

Buyukweb hosting + Cloudflare: cPanel paneliniz hâlâ ulaşılabilir kalır. Bazı eski cPanel temalarında https://cpanel.ornek.com Cloudflare proxy üzerinden çalışmayabilir; bu durumda cpanel subdomain için Grey Cloud yapın.

Cloudflare Cache Kuralları

Varsayılan Davranış

HTML: Cache'lenmez (kullanıcıya özel olabilir)
CSS, JS: 4 saat (browser TTL)
Görsel (PNG, JPG, WebP, AVIF): 4 saat
Font (WOFF, WOFF2): 4 saat

Bu varsayılanlar çoğu site için yeterli ama özelleştirme önemli.

Page Rules ile Özelleştirme (Free planda 3 kural ücretsiz)

Kural 1: Statik dosyaları uzun süre cache'le
  URL: ornek.com/*.css
  Setting: Browser TTL = 1 ay, Edge TTL = 1 ay

Kural 2: Admin paneli cache'leme
  URL: ornek.com/wp-admin/*
  Setting: Cache Level = Bypass, Disable Performance

Kural 3: Blog için "Cache Everything"
  URL: ornek.com/blog/*
  Setting: Cache Level = Cache Everything, Edge TTL = 1 saat

Cache Purge — Manuel Temizleme

İçerik güncellediniz, edge'de eski versiyon var:

# Cloudflare API ile spesifik URL purge
curl -X POST \
  "https://api.cloudflare.com/client/v4/zones/ZONE_ID/purge_cache" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"files":["https://ornek.com/blog/yeni-yazi"]}'

# Tüm cache'i temizle (dikkatli kullanın, origin yükü artar)
curl -X POST \
  "https://api.cloudflare.com/client/v4/zones/ZONE_ID/purge_cache" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"purge_everything":true}'

WordPress kullanıyorsanız "Cloudflare" eklentisi otomatik purge yapar; her post güncellemede ilgili URL temizlenir.

Origin Tarafında Cache Header'ları

CDN ne kadar iyi yapılandırılırsa yapılandırılsın, origin'inizden çıkan Cache-Control başlıkları doğru olmalı. Nginx örneği:

# /etc/nginx/conf.d/cache-headers.conf

# Statik dosyalar — uzun cache, immutable
location ~* \.(css|js|jpg|jpeg|png|gif|webp|avif|woff2|svg|ico)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
    add_header Vary "Accept-Encoding";
}

# HTML — kısa cache + must-revalidate
location / {
    expires 2h;
    add_header Cache-Control "public, must-revalidate";
    etag on;
}

# API — no-cache
location /api/ {
    add_header Cache-Control "no-store, no-cache, must-revalidate";
    add_header Pragma "no-cache";
    expires 0;
}

# Login/admin — kesinlikle cache yok
location ~* /(wp-admin|admin|login)/ {
    add_header Cache-Control "no-store, private";
    add_header Pragma "no-cache";
}

immutable ipucu önemli: tarayıcılar bu başlıklı dosyaların değişmeyeceğine güvenir, sayfayı yenilerken bile yeniden indirmez.

CDN Stratejileri

Strateji A: Cache Everything (Statik Site / Blog)

HTML dahil her şey edge'de
Güncelleme → Manuel/otomatik cache purge
Origin sadece purge anında ve cache miss'te yüklenir

Uygun: Blog, dokümantasyon, statik şirket sitesi
Uygun değil: Kullanıcı oturumu olan siteler, gerçek zamanlı veri

Strateji B: Hibrit (E-Ticaret, Uygulama)

/static/, /images/, /css/  → CDN cache (uzun TTL)
/                          → CDN cache (kısa TTL, HTML için)
/api/                      → CDN bypass
/sepet/, /hesabim/          → CDN bypass (kullanıcıya özel)

Uygun: WooCommerce, OpenCart, custom e-ticaret
Uygun değil: Tamamen statik içerik için overkill

Strateji C: Stale-While-Revalidate

Cache-Control: max-age=3600, stale-while-revalidate=86400

Edge: Cache 1 saat süreyle taze tutar
Stale period: 1 gün boyunca eski cache'i sunmaya devam ederken arka planda günceller
Kullanıcı: Hep hızlı yanıt alır, hiç bekleyişe takılmaz

Buyukweb e-ticaret VDS müşterilerinde bu strateji Black Friday gibi ani trafik artışlarında çok işe yarıyor.

Performans Ölçümü

# Cache HIT/MISS durumu
curl -I https://ornek.com/style.css | grep -i cf-cache-status
# CF-Cache-Status: HIT      → Edge'den geldi (iyi)
# CF-Cache-Status: MISS     → Origin'den çekildi (ilk istek)
# CF-Cache-Status: BYPASS   → Cache atlandı (rule veya cookie sebebiyle)
# CF-Cache-Status: EXPIRED  → TTL dolmuş, yeniden çekildi

Genel kural: Statik dosyalarda %95+ HIT oranı hedefleyin. Düşükse Page Rules veya Cache-Control header'larınızda sorun var demektir.

Detaylı performans testi için: GTmetrix, WebPageTest, PageSpeed Insights farklı şehirlerden test imkanı verir.

CDN Olmaması Gereken Durumlar

CDN her zaman gerekli değil. Şu senaryolarda atlayın:

  • Tamamen yerel hedef kitleye sahip site: Kullanıcılarınızın tamamı Türkiye'deyse ve hosting'iniz Türkiye'deyse, CDN'in gecikme avantajı sınırlı
  • Sıkı KVKK gereksinimi: Bazı sektörler (sağlık, finans) verinin Türkiye'de kalmasını şart koşar; Cloudflare uluslararası altyapısı bu gereksinimi karşılayamayabilir
  • Çok dinamik içerik: Her sayfa kullanıcıya özelse cache hit oranı düşük olur, CDN verim katmaz
  • Geliştirme/staging ortamları: CDN cache geliştirmeyi yavaşlatır

Buyukweb perspektifi: Müşterilerimizin %70'i için CDN gerekli; %20'si için "iyi olur" seviyesinde; %10'u için (yerel hedef kitleli site, KVKK kritik servis) CDN gerekmiyor. Tercih etmeyin: tamamen yerel sitelerde Cloudflare ücretsiz olsa bile yapılandırma karmaşıklığı getirir, gerçek fayda sınırlıdır.

Buyukweb Hosting Tarafında CDN Olmadan da Hızlandırma

CDN'siz performans için hosting altyapımızdaki avantajlar:

  • Türkiye Bursa Pendc Tier 3 lokasyonu: Yerel ziyaretçiler için 5-15 ms gecikme
  • LiteSpeed Web Server (cPanel paketlerimizde): Apache'den ~3x hızlı
  • LSCache eklentisi: WordPress için sunucu seviyesi cache
  • NVMe SSD: Disk I/O en az 5x daha hızlı
  • HTTP/3 + Brotli: Modern protokol/sıkıştırma

Yerel hedefli bir site CDN olmadan da bu altyapıda 1-2 saniyenin altında açılır. Global hedef kitle veya çok yüksek trafik durumlarında CDN ekleme zorunluluğu doğar.

Sık Sorulan Sorular

Cloudflare ücretsiz plan yeterli mi?

%85 müşteri için evet. Pro plan ($20/ay) WAF özelleştirme, image optimization, mobile redirects sunar. Business plan ($200/ay) 100% uptime SLA ve ek güvenlik. Çoğu Buyukweb müşterisinin Pro+ ihtiyacı yok.

CDN kullanırken hosting paketim küçülebilir mi?

Origin yükü azalır ama "küçültmek" risklidir. Cache miss anlarında veya purge sonrası tüm trafik origin'e gelir; küçük paket bunu kaldıramayabilir. Hosting paketinizi normal yük için boyutlandırın, CDN bonus iyileşme olarak görün.

CDN SEO'ya zarar verir mi?

Hayır, aksine yardımcı. Sayfa hızı Google ranking faktörüdür; Core Web Vitals (LCP, FID, CLS) doğrudan etkilenir. SSL kullanmanız ve Google Search Console'da "Core Web Vitals" raporunu takip etmeniz şart.

Cloudflare DNS-only modu (Grey Cloud) cache yapar mı?

Hayır. Grey Cloud sadece DNS çözümleme. Cache, DDoS koruması, WAF için Orange Cloud (proxy mode) gerekir.

Cloudflare hangi WordPress eklentisi ile entegre olur?

Resmi "Cloudflare" eklentisi otomatik cache purge, APO (Automatic Platform Optimization) ve Edge cache yönetimi sunar. Ek olarak WP Rocket, LiteSpeed Cache gibi popüler cache eklentileri de Cloudflare entegrasyonu içerir.

CDN aktif iken IP whitelist nasıl yapılır?

Cloudflare'de origin sunucunuza sadece Cloudflare IP'lerinin gelmesini sağlamak için https://www.cloudflare.com/ips/ listesini firewall'unuza ekleyin. Aksi durumda saldırgan origin IP'nizi bulup CDN'i bypass edebilir.

Kendi CDN sunucumu kurabilir miyim?

Teknik olarak mümkün ama nadiren mantıklı. Birden fazla VDS'i farklı coğrafyalarda kiralamak ve aralarında senkronizasyon kurmak büyük bir mimari iş. Buyukweb'de tek lokasyon hizmet veriyoruz; gerçek coğrafi dağıtım için ya Cloudflare gibi global servisleri kullanın ya da çok büyük ölçekli bir mimari planlayın.

Edge SSL ile origin SSL ayrı mı?

Cloudflare 4 SSL modu sunar: Off, Flexible (sadece edge), Full (origin self-signed kabul), Full (Strict — origin geçerli sertifika). Full (Strict) öneririz; Buyukweb hosting'iniz zaten Let's Encrypt SSL ile geliyor, bu modda hem edge hem origin şifreli.

Sonuç ve Buyukweb Tavsiyemiz

CDN modern web altyapısının vazgeçilmez bir parçası ama her senaryoda gerekli değil. Buyukweb hosting/VDS müşterilerimize tavsiyemiz:

  • Global hedef kitleli site: Cloudflare ücretsiz plan + WordPress eklentisi → hemen kuralım
  • E-ticaret (yerel + global): Cloudflare + LSCache + hibrit cache stratejisi
  • Tamamen yerel site: LiteSpeed + LSCache yeterli, CDN'siz başlayın
  • API / SaaS: Cloudflare Workers ile edge computing değerlendirin (Pro+ plan)

Buyukweb tarafında VDS sunucu paketleri ve cPanel hosting Cloudflare entegrasyonu için sorunsuz altyapı sağlar; teknik ekibimiz kurulum sürecinde rehberlik eder.

Soru ve teknik destek için: 0850 302 60 70.


İlgili Büyükweb Hizmetleri

Hızlı içerik teslimi için Buyukweb hosting ve sunucu paketlerimiz:

Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.

Ağ & Network İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#cloudflare#cdn#ağ yönetimi##network

Bu yazıyı paylaş