WordPress CDN Entegrasyonu: Cloudflare ve BunnyCDN Adım Adım
WordPress’te CDN entegrasyonunu Cloudflare ve BunnyCDN ile kurun. Caching, purge, görsel optimizasyon ve güvenlik ayarlarını net adımlarla öğrenin.
WordPress sitelerinde hız, yalnızca web sayfası optimizasyonu ile değil; içerik dağıtım ağı (CDN) ve doğru önbellek (cache) stratejisiyle kalıcı hale gelir. CDN kurulumunda en sık yaşanan sorunlar; yanlış cache ayarı, “purge” (temizleme) yönetilememesi ve statik olmayan içeriklerin yanlışlıkla CDN’den servis edilmesidir. Bu rehberde Cloudflare ve BunnyCDN ile WordPress’e CDN entegrasyonunu net ve uygulanabilir adımlarla anlatıyorum: hangi ayarlar yapılacak, hangi testler yapılacak ve purge planı nasıl kurgulanacak.
CDN seçerken WordPress’te kritik fark: içerik türleri
WordPress, “tam sayfa” ve “parça içerik” dağıtımını farklı yönetir. CDN tarafında başarılı kurulum, şu ayrımı doğru yapınca gelir:
- CDN’den servis edilecekler (ideal): resimler (jpg/png/webp), CSS, JavaScript, font dosyaları (woff2), ikonlar, statik medya.
- CDN’den servis edilmeyecekler (riskli): admin paneli (wp-admin), giriş/oturum sayfaları, dinamik PHP çıktıları, arama sonuçları ve bazı özel sayfalar.
- Cache yönetimi (en kritik): içerik güncellendiğinde CDN önbelleğinin temizlenmesi (purge). Aksi halde eski görseller ve eski CSS/JS kullanıcıya gider.
Bu noktada iki CDN yaklaşımı vardır: - Reverse proxy benzeri kurulum: Cloudflare gibi servisler HTTP trafiğinin bir kısmını proxy’ler. - Pull/Push edge dağıtımı: BunnyCDN gibi bazı CDN’ler belirli URL desenlerini edge’de önbellekler.
Cloudflare ile WordPress CDN entegrasyonu
Cloudflare, WordPress’te en yaygın çözümlerden biridir çünkü DNS, SSL, WAF ve caching katmanlarını tek panelde toplar. Hedefimiz: statik dosyaları CDN’den servis etmek, dinamik WordPress sayfalarını ise gereksiz cache’lememek.
1) DNS yönlendirmesini doğru yapın
Cloudflare’a domain ekleyin ve DNS kayıtlarınızı Cloudflare panelinde doğrulayın.
- A kaydı: Kök domain (örn.
example.com) → hosting IP’si veya load balancer IP’si. - CNAME:
www.example.com→example.comveya hostingteki canonical adrese.
En sık hata: yanlış CNAME/AAAA kaydı nedeniyle proxy trafiği yanlış sunucuya gider.
2) SSL/TLS modunu seçin (WordPress için net öneri)
Cloudflare’da SSL/TLS ayarlarında üç mod görebilirsiniz. WordPress için en pratik güvenlik ve uyumluluk yaklaşımı şudur:
- SSL/TLS şeması: Full (strict) (mümkünse)
- Sunucunuzda (origin) gerçek sertifika yüklü olmalı.
Eğer origin sertifikası self-signed ise, “Full (strict)” hata üretir. O zaman “Full” seçeneği çalışır ama güvenlik düzeyi düşer. (Self-signed kullanımını tercih etmeyin; WordPress admin tarafında oturum ve tarayıcı uyarıları doğar.)
3) Cloudflare caching: “Cache Everything” yerine WordPress uyumlu strateji
Cloudflare’da Caching bölümünde “Cache Rules” mantığıyla ilerlemek en doğru yoldur.
Net hedef: - Statik dosyaları önbellekle - Dinamik sayfaları cache’lemeye zorlamayın
Başlangıç için şu desenleri düşünün:
- /*.jpg, /*.jpeg, /*.png, /*.webp, /*.gif
- /*.css, /*.js
- /*.woff2, /*.woff, /*.ttf
- /wp-content/uploads/*
“Cache everything” gibi agresif ayarlar, bazı WordPress eklentilerinin (özelleştirilmiş sayfa çıktısı, üyelik, sayfa bazlı varyant) yanlış içerik servis etmesine yol açar.
4) Otomatik purge (temizleme) planı kurun
CDN başarısının %50’si purge yönetimidir.
Uygulama planı (net): - WordPress’te içerik güncellendiğinde görsel/CDN purge tetiklenmeli. - Cloudflare tarafında Purge by URL kullanın; “purge all” her seferinde performans kaybı yaratır.
Önerilen iş akışı: 1. WordPress’te cache katmanı için bir eklenti kullanın (sayfa cache veya obje cache). 2. Eklenti içinde Cloudflare entegrasyonu varsa API ile purge çalıştırın. 3. En azından “yeni görsel yükleme” ve “post güncelleme” olaylarında purge tetikleyin.
5) Cache Header testleriyle doğrulayın
En küçük doğrulama seti: - Tarayıcıda devtools → Network tabı → görsel ve JS/CSS isteklerine bakın. - Cloudflare’dan gelen yanıtlarda şu mantığı arayın: - İlk istek “MISS”, sonraki istekler “HIT” olmalı. - Cache-Control ve CDN ile ilgili header’lar tutarlı olmalı.
Ek olarak ücretsiz bir test için curl kullanabilirsiniz:
- curl -I https://example.com/wp-content/uploads/1.webp
Buradaki amaç: ilgili dosyanın gerçekten edge’den servis edilip edilmediğini görmek.
BunnyCDN ile WordPress CDN entegrasyonu
BunnyCDN, WordPress’te özellikle edge cache ayarları ve maliyet-performans dengesi için tercih ediliyor. Kurulumda dikkat edilmesi gereken kısım: origin (WordPress sunucusu) ve pull/invalidasyon (purge) davranışını doğru tanımlamak.
1) Zone (zone’yi) ve origin tanımını yapın
BunnyCDN panelinde:
- Origin server: WordPress sitenizin origin URL’si (örn. https://example.com)
- Pull zones / Caching settings: Edge’de saklama sürelerini belirleyin.
Net öneri başlangıç ayarı: - Static asset’ler: daha uzun TTL (time-to-live) - HTML ve dinamik içerik: çok kısa veya hiç cache değil
2) Cache rules: URL desenleriyle statik içerik odaklayın
BunnyCDN’de cache rule yazarken şunları hedefleyin:
- /wp-content/uploads/* için uzun TTL
- /*.css, /*.js, /*.webp, /*.woff2 için uzun TTL
- /wp-admin/* için cache bypass (atla)
- /wp-login.php ve oturumla ilgili sayfalarda cache’i kapat
Bu desenlerin amacı, WordPress’in dinamik davranışını CDN’den etkilenmeyecek şekilde korumaktır.
3) Purge (invalidasyon) yöntemini seçin
BunnyCDN’de purge/invalidasyon gereklidir. Net yaklaşım: - İçerik güncellenince ilgili URL’leri temizleyin. - “Global purge” yerine mümkün olduğunca URL bazlı purge yapın.
WordPress tarafında entegrasyon için: - BunnyCDN API ile purge tetikleyen bir eklenti kullanın veya eklentinin sunduğu webhook/entegrasyon mekanizmasını değerlendirin. - Eklenti seçerken “post update”, “media upload” olayları için purge tetikleyip tetiklemediğini kontrol edin.
4) Origin cache header’larını uyumlayın
CDN tarafı, origin’in verdiği cache-control değerlerinden ciddi ölçüde etkilenir. Net hedef:
- Statik dosyalarda Cache-Control: public, max-age=... yaklaşımı
- Versiyonlu dosya stratejisi (query string veya dosya revizyonu) varsa daha sorunsuz sonuç alınır.
5) Test: edge hit oranı ve yanlış içerik riski
BunnyCDN ile iki test yapın: 1. Aynı görseli art arda 3 kez çağırın; TTL süresi içinde ikinci çağrılarda edge hit oranı artmalı. 2. Aynı zamanda bir HTML sayfayı çağırın; sayfanın cache’lenmediğinden emin olun.
Cloudflare vs BunnyCDN: WordPress için karar tablosu
Aşağıdaki tablo “kurulum karmaşıklığı, purge yönetimi, kontrol paneli kapsamı ve WordPress uyumu” açısından net bir kıyas sunar.
| Kriter | Cloudflare | BunnyCDN | Net sonuç |
|---|---|---|---|
| Kurulum bileşenleri | DNS + SSL + WAF + cache tek yerde | CDN edge + origin + cache rules | Cloudflare daha “platform”; Bunny daha “CDN odaklı” |
| SSL/HTTPS yönetimi | Tam entegre SSL seçenekleri | Origin’e bağlı doğrulama | Origin sertifikası uyumluysa ikisi de çalışır |
| Cache yönetimi | Cache Rules + purge | Cache rules + invalidasyon | İkisi de kural tabanlı; WordPress desenleri şart |
| Purge opsiyonu | URL bazlı purge pratik | URL bazlı invalidasyon kullanılmalı | Purge’yi otomatikleştirmek ana başarı şartı |
| Yan etki riski | “Cache everything” yanlış kullanılırsa artar | Yanlış rule dinamiği etkileyebilir | Doğru desenlerle risk ciddi biçimde düşer |
| İzleme ve header doğrulama | Panel + detaylı rapor | Edge log/rapor + header | Her iki tarafta da “HIT/MISS” kontrolü yapın |
WordPress tarafında CDN’i bozmayan 6 net ayar
CDN doğru yapılsa bile WordPress tarafında yapılan ayarlar performansı belirler.
1) Görselleri sürümleyin (opsiyonel ama net faydalı)
CDN’de purge maliyeti her zaman “sıfır” değildir. Görseller güncellendiğinde URL aynı kalıyorsa eski dosya edge’de kalma eğiliminde olur. Net çözüm: - Görsel dosya adını değiştiren bir strateji (dosya revizyonu) - Ya da WordPress medya güncellemesinde purge tetiklemek
2) Uygun cache eklentisi ile uyumu sağlayın
WordPress cache eklentileri (sayfa cache) CDN ile birlikte çalışmalı. - CDN ile cache çakışması (çift cache) her zaman kötü değildir; ancak purge senaryosu net olmalıdır.
3) “admin” ve “login” yollarını kesinlikle ayırın
/wp-admin/ve/wp-login.phprotaları CDN cache dışında kalmalı.- Statik asset cache’lenebilir; HTML sayfalar yönetici akışına göre değişir.
4) Tarih/arama gibi dinamik sayfalarda cache’i kısıtlayın
Arama sonuçları, filtreli sayfalar veya üyelik sayfaları dinamik çıktıdır. - Bu sayfaların CDN üzerinden cache servis edilmesi yanlış içerik üretir.
5) Brotli/Gzip uyumunu kontrol edin
Cloudflare veya BunnyCDN sıkıştırmayı yönetebilir. Net test:
- CSS/JS isteklerinde content-encoding değerini kontrol edin.
- Sunucu origin’de çifte sıkıştırma (çakışma) yaşanmasın.
6) Purge tetiklerini ölçün
CDN purge otomatik olmalı ama ölçülmelidir. - Çok sık purge etmek cache hit oranını düşürür. - Çok seyrek purge etmek görsel/asset gecikmesi yaratır.
Yayına almadan önce kontrol listesi (15 dakika doğrulama)
Aşağıdaki listeyi birebir uygulayın:
- [ ] Domain DNS Cloudflare/Bunny’ye doğru bağlı
- [ ] Origin SSL durumu kontrol edildi (Full strict hedef, mümkün değilse net istisna)
- [ ] Statik asset desenleri cache’leniyor
- [ ] wp-admin, wp-login.php cache bypass
- [ ] wp-content/uploads için TTL/route kuralı var
- [ ] Purge by URL senaryosu çalışıyor (post update + media upload)
- [ ] İlk istek MISS, sonraki istek HIT kontrol edildi
- [ ] Bir HTML sayfa cache’lenmiyor (veya beklenen şekilde)
- [ ] Tarayıcı devtools ile header’lar doğrulandı
- [ ] Mobil ve masaüstünde görsel yükleme testi yapıldı
Sonuç: Hız kazanımı için hedefi netleştirin
WordPress’te CDN entegrasyonu, “CDN açtım bitti” işi değildir; asıl başarı cache kuralları, purge otomasyonu ve doğrulama testlerindedir. Cloudflare daha geniş güvenlik ve ağ servislerini tek panelde sunduğu için pratik ilerleme sağlar; BunnyCDN ise CDN odaklı kural setiyle maliyet-performans dengesi kurabilir. Net aksiyon önerim: Önce sadece statik asset desenlerini CDN cache’e alın, ardından URL bazlı purge otomasyonunu kurun ve “HIT/MISS” testleriyle doğrulayın. Bu sırayı takip ettiğinizde yanlış içerik riski düşer ve hız kazanımı ölçülebilir hale gelir.
Hosting karşılaştırması yapmaya hazır mısın?
100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.
Hosting Karşılaştır →İlgili Yazılar
Yedeklerin Gerçekten Çalıştığını Test Etme Rehberi (Net Plan)
Otomatik yedek alındığını sanmak yerine doğrulayın: restore testi, geri dönüş süresi, kontrol listesi ve rapor şablonuyla net yöntem.
Hosting iadesi (30 gün) gerçekten çalışır mı? Net kontrol listesi
30 gün para iadesi genelde “şartlı” çalışır: aktivasyon, iptal tarihi, kullanım kısıtları ve ücret kesintilerini loglarla doğrulayın.
Linode (Akamai) Hosting: Türkiye'den Kullanımda Net Kurulum Rehberi
Linode Türkiye’den erişimde gecikme, IP ve ağ yapılandırması, güvenlik duvarı ve izleme adımlarını net karşılaştırma ile adım adım anlatır.
DirectAdmin Nedir? Kimlere Uygun ve Neler Sağlar?
DirectAdmin nedir, yönetim paneli ne sağlar? Kimlerin tercih etmesi gerekir, VPS/VDS’te pratik kullanım senaryoları ve net seçim kriterleri.
