
WordPress CDN Kurulumu: Cloudflare ile Hızlanma
WordPress için CDN nedir, neden statik siteden zordur? Cloudflare DNS + proxy, LSCache + edge cache koordinasyonu, APO, Polish, WAF, Workers, real visitor IP, cache purge, KVKK perspektifi ve TR datacenter + Cloudflare karar matrisi.
WordPress CDN Kurulumu: Cloudflare ile Hızlanma
WordPress dünyanın en yaygın CMS'i. Performans optimizasyonunun en kritik adımlarından biri CDN katmanı. Ama "WordPress + CDN" konusu sıradan bir statik site CDN'inden çok daha karmaşık: dinamik PHP rendering, veritabanı sorguları, admin-ajax çağrıları, oturum açan kullanıcılar, e-ticaret sepetleri, REST API çağrıları... Hepsi farklı cache davranışı ister.
Bu rehberde WordPress'e özel Cloudflare CDN kurulumunu, origin cache (LSCache, WP Rocket, W3 Total Cache) ile edge cache koordinasyonunu, APO (Automatic Platform Optimization), Polish (görsel optimizasyon), WAF + Wordfence ilişkisini, real visitor IP problemini, cache purge stratejilerini ve TR datacenter + Cloudflare karar matrisini adım adım işliyoruz. Genel CDN kavramı ve Cloudflare DNS yönetimi için ayrı rehberlerimiz var; bu yazı tamamen WP odaklı.
Buyukweb perspektifi: Bursa Tier 3 veri merkezimizdeki cPanel paketlerinde LiteSpeed Web Server + LSCache standart geliyor (₺350-2000/yıl). LSCache, WordPress için origin-side tam sayfa cache + ESI fragmant cache sağlar; bu yüzden Türkiye trafiği için Cloudflare olmadan da 8-15 ms TTFB elde edilebilir. Global trafik (AB, Kuzey Amerika, Asya) ağırlıklı sitelerde Cloudflare proxy + edge cache ek değer katar. Cloudflare'ı siz kendi hesabınızdan açar, NS değişikliği ile devreye alırsınız — Buyukweb paketinde "Cloudflare dahil" bir entegrasyon paketi yoktur, ama DNS yönetimi panelimizden NS bilgilerinizi serbestçe değiştirebilirsiniz. 0850 302 60 70 destek hattımızdan WordPress + Cloudflare planlamanız için yardım alabilirsiniz.
Önce: WordPress'in Cache'lemesi Neden Statik Siteden Zor?
Düz HTML bir site için CDN basittir: her dosya statik, edge bir kez çeker, TTL bitene kadar tutar, kullanıcıya verir. WordPress'te tablo tersine döner:
```
[Ziyaretçi]
|
v
[Edge / CDN Cache]
| cache miss
v
[Origin (Buyukweb LiteSpeed)]
|
v
[PHP-FPM] -> [MariaDB] -> WP Core + Plugins + Theme
|
v
[Render HTML] -> [Cache layer kaydeder] -> Ziyaretçiye dön
```
Her sayfa istek geldiğinde:
- PHP çalışır (her hit'te WordPress'in 5-15 MB belleği yüklenir)
- MariaDB sorgu çalıştırılır (
wp_posts,wp_postmeta,wp_options,wp_usersjoin'leri) - WP Core + tema + 20-40 eklenti koduna girer
- HTML üretilir, son anda WP cache eklentisi veya LSCache tutar
Eğer hiç cache yoksa bu döngü her ziyaretçide tekrarlanır. 100 eşzamanlı kullanıcı geldiğinde CPU ve MySQL bağlantısı dolar, sayfa açılış süresi 800-2.500 ms'ye kadar yükselir. Cache, WordPress için tercih değil zorunluluktur.
Ek olarak şu durumlar cache bypass gerektirir:
- /wp-admin ve /wp-login.php — admin sayfaları cache'lenmemeli (sürekli değişen UI, sürekli güncel veri)
- Logged-in kullanıcılar — cookie'ye göre kişiselleşen içerik
- WooCommerce sepet/checkout — kullanıcıya özel
- WordPress REST API (
/wp-json/) — dinamik veri uçları - Önizleme (preview), AJAX, cron —
?p=...&preview=true,/wp-admin/admin-ajax.php,/wp-cron.php
Bu bypass kurallarını doğru vermezseniz sitenize giren admin başka birinin gördüğü cache'i görür, ya da sepetler birbirine karışır. WP + CDN konfigürasyonunun en kritik kısmı bypass listeleri.
CDN Mimarisi: PoP, Edge Cache, Anycast — Kısa Hatırlatma
(Detaylı genel CDN kavramları için ayrı rehberimiz var; burada WordPress'e nasıl bağlandığını hatırlatıyoruz.)
- PoP (Point of Presence): Cloudflare'ın dünya genelindeki 300+ edge sunucu lokasyonu (Istanbul PoP dahil)
- Edge cache: PoP'ta tutulan kopya; ziyaretçiye en yakın noktadan teslim
- Origin shield: Edge'lerin önünde tek bir orta katman, origin'e olan istekleri tek noktadan toplar (Cloudflare Argo Smart Routing ile gelir)
- Anycast routing: Aynı IP dünyada birden çok yerden duyurulur, BGP otomatik en yakın PoP'a yönlendirir
- Latency azaltma: Türkiye'den İstanbul Cloudflare PoP'una 5-15 ms; AB/Kuzey Amerika ziyaretçi için de yakın PoP
- Bandwidth offload: Origin'in çıkış trafiği %70-90 azalır (statik içerik edge'den)
- DDoS koruma: L3/L4 SYN flood, UDP flood + L7 HTTP flood Cloudflare edge'inde absorbe
- WAF: OWASP Top 10 (SQL injection, XSS, RFI/LFI) için kural seti
WordPress + Cache Katmanları: Üç Seviye
Profesyonel bir WordPress kurulumunda üç cache katmanı birlikte çalışır:
```
+---------------------------------+
| Tarayıcı Cache (Browser) | Cache-Control: max-age=...
+---------------------------------+
|
+---------------------------------+
| Edge Cache (Cloudflare PoP) | s-maxage=..., stale-while-revalidate
+---------------------------------+
|
+---------------------------------+
| Origin Cache (LSCache / WP) | WP eklenti veya LiteSpeed
+---------------------------------+
|
+---------------------------------+
| WordPress Core + DB |
+---------------------------------+
```
Her katmanın görevi:
| Katman | Süre | Amaç | Geçersizleştirme |
|---|---|---|---|
| Tarayıcı | 7-365 gün (statikler) | Tekrar ziyarette anında | Versionlama (file?ver=) |
| Edge | 1 saat - 30 gün (HTML için sayfaya göre) | Coğrafi yakınlık | Purge API, Cache Rules |
| Origin | 1-12 saat (HTML) | PHP/MySQL yükü düşür | Eklenti save, manuel purge |
| WP/DB | Sürekli | Asıl içerik | İçerik update |
Buyukweb cPanel paketinde origin cache olarak LSCache çalışır (LiteSpeed Web Server + LiteSpeed Cache WP eklentisi). Cloudflare eklemek istediğinizde edge cache katmanı eklenir ve LSCache ile birlikte koordineli çalışır.
Origin Cache Seçenekleri (WordPress Tarafı)
LiteSpeed Cache (LSCache) — Buyukweb cPanel Varsayılan
LiteSpeed Web Server, Buyukweb cPanel paketlerinde origin web server olarak çalışır. LiteSpeed Cache WP eklentisi (ücretsiz, wp-admin'den kurulur) aşağıdaki özellikleri sağlar:
- Tam sayfa cache (full page cache) — HTML çıktısı disk/RAM'de
- ESI (Edge Side Includes) — sayfanın bazı bölümleri (mini-cart, kullanıcı adı) ayrı cache, geri kalan sayfa cache
- Object cache —
wp_optionsvewp_postmetasorgu sonuçları Redis veya Memcached'de - Image optimization — WebP dönüşüm, lossy/lossless
- CSS/JS minification + combine
- Critical CSS — above-the-fold öncelik
- Lazy load images + iframes
- DNS prefetch / preconnect
- Database optimizer — revision temizleme, transient temizleme
LSCache'in özelliği: LiteSpeed Web Server'ın doğrudan dosya sistemine yazdığı yüksek performanslı cache. PHP'yi tamamen bypass eder; cache hit edildiğinde PHP-FPM dahi çalışmaz. Bu yüzden Türkiye trafiği için LSCache tek başına çok güçlü.
WP Rocket / W3 Total Cache / WP Super Cache (Genel Apache/Nginx)
LiteSpeed olmayan sunucularda (Apache + mod_php, Nginx + PHP-FPM) WordPress için kullanılan tipik cache eklentileri:
- WP Super Cache — açık kaynak, basit, statik HTML üretir (.html dosyaları)
- W3 Total Cache (W3TC) — daha kapsamlı, object/page/browser/database cache modülleri, CDN sekmesi (her statik dosyaya cdn.example.com prefix ekler)
- WP Rocket — ticari, kullanıcı dostu UI, agresif default ayarları (genel kabul gören "kolay" çözüm)
Buyukweb cPanel'de LiteSpeed çalıştığı için LSCache yeterli ve ücretsizdir, ek eklenti gerekmez. LSCache'in yokluğunda diğer eklentilere ihtiyaç olur.
Object Cache: Redis veya Memcached
WordPress'in wp_options, wp_postmeta gibi sorgularını disk yerine RAM'de tutmak için object cache kullanılır:
- Redis — daha popüler, persistence opsiyonu var, pub/sub destekler
- Memcached — daha basit, RAM-only
Buyukweb cPanel paketlerinde Redis veya Memcached paket kotanıza göre etkinleştirilir. Redis Object Cache WP eklentisi LSCache ile birlikte çalışır.
Cloudflare WordPress Kurulumu: Adım Adım
Adım 1: Cloudflare Hesabı ve Site Ekleme
```
- dash.cloudflare.com -> Add a Site
- Domain: ornek.com.tr
- Plan: Free (çoğu site için yeterli)
- DNS auto-scan: Cloudflare cPanel'inizdeki DNS Zone'u tarar
- Eksik kayıt varsa elle ekleyin (özellikle mail/ftp/cpanel subdomain'ler)
```
Free plan WordPress için yeterlidir. Pro/Business/Enterprise planlar Page Rules sayısı, Image Resizing, custom WAF kuralı gibi gelişmiş özellikler getirir.
Adım 2: Nameserver Değişikliği
Domain registrar panelinizden NS'leri Cloudflare'ın atadığı iki sunucu adresiyle değiştirin:
```
Eski (Buyukweb varsayılan, örnek):
ns1.buyukweb.com
ns2.buyukweb.com
Yeni (Cloudflare, örnek):
beth.ns.cloudflare.com
liam.ns.cloudflare.com
```
Propagasyon 24-48 saat. Cloudflare aktivasyonu e-posta ile bildirir. Geçiş süresince hem eski hem yeni NS yanıt verebilir; bu normal.
Önemli: Cloudflare'a geçtikten sonra DNS yönetimi Cloudflare dashboard'undan yapılır. cPanel DNS Zone Editor'ında yapacağınız değişiklikler artık etkili olmaz — çünkü dünya artık Cloudflare NS'lerini soruyor.
Adım 3: Proxy Modu — Turuncu vs Gri Bulut (WordPress Özel)
WordPress için kayıt-kayıt karar matrisi:
| Kayıt | Proxy modu | Sebep |
|---|---|---|
| @ (root domain) A | Turuncu | WP ana sayfa, edge cache + WAF |
| www CNAME | Turuncu | Aynı, edge cache + WAF |
| mail A | Gri (KESİN) | SMTP 25/465/587 proxy üzerinden geçmez |
| webmail CNAME | Gri | Webmail genelde mail server üzerinden çalışır |
| ftp A | Gri | FTP/SFTP proxy desteklenmez |
| cpanel A | Gri | cPanel panel doğrudan erişim ister |
| autoconfig A | Gri | Mail autoconfig XML, mail server üzerinden |
| autodiscover A | Gri | Outlook autodiscover, mail server üzerinden |
En sık yapılan hata: mail subdomain'i turuncuya almak. Bir kullanıcı Outlook'tan mail göndermeye çalışır, SMTP 587 bağlantısı kurulamaz; çünkü Cloudflare proxy sadece HTTP/HTTPS (port 80, 443, 8080, 2052, 2053, 2082, 2083, 2086, 2087, 2095, 2096) trafiğini geçirir. Mail kaydını mutlaka gri bulut (DNS Only) bırakın.
Adım 4: SSL/TLS Ayarları (WordPress İçin Kritik)
Cloudflare'da SSL/TLS sekmesi dört modu destekler:
```
- Off : Şifreleme yok (kullanmayın)
- Flexible : Ziyaretçi -> Cloudflare HTTPS, Cloudflare -> Origin HTTP
(WP için ÇOK TEHLİKELİ: mixed content + sonsuz redirect döngüsü) - Full : Ziyaretçi -> Cloudflare HTTPS, Cloudflare -> Origin HTTPS
(Origin self-signed sertifika kabul edilir) - Full (Strict) : Ziyaretçi -> Cloudflare HTTPS, Cloudflare -> Origin HTTPS
(Origin'de geçerli CA imzalı sertifika zorunlu)
```
WordPress için doğru ayar: Full (Strict). Buyukweb cPanel paketlerinde AutoSSL (Let's Encrypt) ile geçerli sertifika ücretsiz geldiği için Full (Strict) modu sorunsuz çalışır.
Flexible mode neden tehlikeli? WordPress siteurl ve home ayarınız HTTPS ise WordPress sonsuz redirect döngüsüne girer (Cloudflare HTTP'den geliyor, WP HTTPS'e zorlamaya çalışıyor). Ek olarak admin oturumu güvenli değildir — origin ile Cloudflare arasındaki bacak şifresizdir.
Authenticated Origin Pulls (AOP)
Cloudflare ile origin arasındaki bağlantıyı yalnızca Cloudflare'ın kendi CA'sinden imzalı bir istemci sertifikası ile zorunlu kılan modus. Origin'in Apache/LiteSpeed konfigürasyonunda SSLVerifyClient require + Cloudflare client cert eklenir. Bu sayede biri origin IP'nizi keşfetse bile, Cloudflare olmadan HTTPS bağlantısı kuramaz. Yüksek güvenlik isteyen WordPress siteleri için önerilir.
Cloudflare Origin CA Sertifikası
Cloudflare ücretsiz olarak 15 yıl geçerli bir Origin CA sertifikası verir. Bu sertifika sadece Cloudflare ile origin arasındaki bacakta geçerlidir; ziyaretçi tarayıcısı bu sertifikayı görmez (Cloudflare edge'de kendi sertifikası ile ziyaretçiye sunum yapar). Buyukweb cPanel'de AutoSSL zaten Let's Encrypt veriyor, Origin CA opsiyonel — ama uzun süreli sabit bir sertifika tercih ederseniz uygundur.
Adım 5: Cloudflare WordPress Resmi Eklentisi (Opsiyonel ama Önerilir)
WordPress.org repository'de Cloudflare isimli resmi eklenti vardır. Eklenti şunları yapar:
- Otomatik cache purge — yeni yazı yayınlandığında veya tema güncellendiğinde Cloudflare edge cache otomatik temizlenir
- Development Mode — anlık değişiklik için 3 saatlik cache bypass
- Security Level ayarı (Low/Medium/High/I'm Under Attack)
- Image optimization ayarı (Polish on/off)
- APO toggle (eğer APO aboneliğiniz varsa)
Kurulum: wp-admin -> Plugins -> Add New -> "Cloudflare" arayın -> Install + Activate. Sonra Cloudflare hesap mail adresinizi ve Global API Key'inizi (veya API Token scope'lu) girin.
Adım 6: Cache Rules (Eski Page Rules'un Modern Halefi)
Cloudflare Free planda 3 Page Rule + sınırsız Cache Rule sunar. WordPress için kritik kurallar:
```
Kural 1: Admin Bypass
URL: example.com/wp-admin/*
Cache: Bypass
Security: Off (Cloudflare'ın bot fight mode wp-admin'i bozabilir)
Kural 2: Login Bypass
URL: example.com/wp-login.php
Cache: Bypass
Kural 3: Preview ve AJAX Bypass
URL: contains "preview=true" or contains "/wp-json/" or contains "/wp-admin/admin-ajax.php"
Cache: Bypass
Kural 4: Statik Dosyalar Agresif Cache
URL: example.com/wp-content/uploads/*
Cache TTL: 1 month
Edge Cache TTL: 1 month
Kural 5: Tema/Eklenti Asset
URL: example.com/wp-content/themes/* veya /wp-content/plugins/*
Cache TTL: 7 days
```
Free planda Page Rule sınırı 3 olduğu için yukarıdaki kuralların hepsini ayrı ayrı yazmak için Pro plana geçiş gerekebilir. Alternatif olarak Cache Rules + Configuration Rules + Workers ile aynı sonuç elde edilir.
Cloudflare APO (Automatic Platform Optimization for WordPress)
APO, Cloudflare'ın WordPress'e özel sunduğu ücretli bir özellik (kavramsal olarak değiniyoruz, güncel fiyat için Cloudflare dashboard kontrol edin):
- Tam sayfa HTML cache Cloudflare'ın Workers KV üzerinde saklanır
- Origin'e neredeyse hiç istek gitmez (TTFB 30-100 ms'ye düşer dünya genelinde)
- WordPress eklentisi ile entegre — yeni post yayınlandığında otomatik purge
- Mobile/desktop ayrı cache — responsive temalar için
- Logged-in cache bypass — cookie tabanlı
APO + LSCache koordinasyonu: APO açıkken LSCache'in page cache özelliği çakışmaz — sıralı çalışır. LSCache origin tarafında cache'i yapar (ziyaretçi cache miss olduğunda), Cloudflare APO ise edge tarafında. Object cache (Redis) her iki katmanda da faydalıdır.
Buyukweb cPanel paketinde APO yüklü gelmez — siz kendi Cloudflare hesabınızdan aboneliğinizi seçer, eklentiden API key ile bağlarsınız. APO ücretli, sitenizin trafik profiline göre değerlendirin.
LSCache + Cloudflare Çakışır mı? Karar Matrisi
Müşterilerimizin sık sorduğu soru: "LiteSpeed Cache zaten var, Cloudflare ekleyince çakışır mı?"
Kısa cevap: Hayır, koordineli çalışır.
```
[Ziyaretçi]
|
v
[Cloudflare Edge] (cache hit ise burada biter)
| cache miss
v
[LiteSpeed (origin)] (LSCache hit ise PHP'siz dön)
| LSCache miss
v
[PHP-FPM + WordPress + MariaDB]
```
İki katman birbirini tamamlar:
- Türkiye trafiği baskın: Cloudflare İstanbul PoP'una giden istek, oradan İstanbul -> Bursa origin'e dönen iç trafik 8-15 ms. Bu durumda Cloudflare cache TTL'i kısa tutabilir, LSCache origin'de zaten hızlı dönüyor.
- Global trafik baskın: Cloudflare PoP'un coğrafi yakınlığı kazanç sağlar (örn. Almanya ziyaretçi Frankfurt PoP). LSCache yine origin'de var ama LSCache hit'i yalnızca AB/Kuzey Amerika edge cache miss olduğunda devreye girer.
Purge koordinasyonu kritik: Yeni yazı yayınladığınızda:
- LSCache eklentisi origin cache'i temizler (anında)
- Cloudflare eklentisi edge cache'i Purge API ile temizler (saniyeler içinde dünya genelinde)
- Tarayıcı cache'i
Cache-Control: max-agesüresine göre yenilenir
Eğer Cloudflare WP eklentisi yüklü değilse edge cache eski içeriği göstermeye devam eder. Bu yüzden Cloudflare WP eklentisi zorunlu (manual purge dashboard'dan yapılabilir ama otomatize değil).
QUIC.cloud — LiteSpeed'in Kendi CDN'i (Alternatif)
LiteSpeed'in kendi CDN ağı QUIC.cloud. LSCache eklentisi içinden tek tıkla aktive edilir:
- WP-spesifik optimize edilmiş edge cache
- LSCache eklentisi ile native entegrasyon — purge, ESI fragment, image optimization aynı arayüzden
- Image Optimization servisi (lossy/lossless + WebP) ücretsiz quota ile gelir
- CDN node ağı Cloudflare kadar geniş değil ama 80+ PoP
QUIC.cloud, Cloudflare alternatifi olarak WordPress + LiteSpeed kullanıcılarına özel önerilir. İki ürün arasındaki seçim:
| Kriter | Cloudflare | QUIC.cloud |
|---|---|---|
| WP entegrasyon | İyi (eklenti + APO) | Mükemmel (LSCache native) |
| PoP sayısı | 300+ küresel | 80+ küresel |
| Free plan | Çok cömert | Cömert |
| WAF | Olgun, OWASP rule set | Var ama daha yeni |
| DDoS | L3/L4/L7 enterprise grade | L3/L4 + temel L7 |
| DNS yönetimi | Olgun dashboard | Sade dashboard |
Karar: WAF ve DDoS koruması ön planda ise Cloudflare; saf WordPress hız optimizasyonu öncelik ise QUIC.cloud. İkisi birlikte de kullanılabilir (Cloudflare DNS + WAF, QUIC.cloud image optimizasyon servisi).
Cloudflare Polish + Mirage (Görsel Optimizasyon)
WordPress sitelerinin yükünün %50-70'i görsellerdir. Cloudflare iki görsel optimizasyon özelliği sunar (Pro plan ve üstü):
Polish
- Lossless — kayıpsız sıkıştırma (PNG, JPEG metadata silimi, deflate)
- Lossy — kayıplı sıkıştırma (JPEG quality azaltma)
- WebP dönüşüm — destekleyen tarayıcılara WebP, eskilere JPEG/PNG
- AVIF dönüşüm (yeni özellik) — daha iyi sıkıştırma WebP'den
Polish ekranına gerek olmadan edge'de otomatik çalışır. Origin'de görsel WebP üretmenize gerek kalmaz.
Mirage
- Mobile-aware image delivery — düşük bant genişliği bağlantılarda küçük versiyon
- Lazy load edge tabanlı (eklenti olmadan)
Origin Tarafı: WP Image Optimizasyon Eklentileri
Cloudflare Polish'in yokluğunda veya ek katman olarak WP'de yerelde görsel optimizasyonu yapılır:
- LiteSpeed Image Optimizer — LSCache ile gelir, QUIC.cloud API kullanır
- ShortPixel — popüler ticari WP eklentisi, server-side WebP üretir
- Imagify — alternatif ticari eklenti, lossy/lossless mod
- EWWW Image Optimizer — yerel + bulut hibrit mod
Bu eklentiler origin'de yeni boyutlar üretir, WordPress media library'sine kaydeder. Cloudflare Polish farklı: edge'de geçici WebP üretir, origin değişmez.
Karar matrisi: Polish + WP eklenti birlikte kullanmak gereksiz tekrar. Ya Polish ya WP eklentisi — biri yeterli. Buyukweb LSCache + LiteSpeed Image Optimizer + QUIC.cloud üçlüsü zaten güçlü; Cloudflare Polish opsiyoneldir.
Cache Header'ları: Cache-Control, ETag, s-maxage, stale-while-revalidate
CDN cache davranışını HTTP header'lar belirler. Cloudflare ve origin (LSCache) bu header'ları birlikte üretir/yorumlar.
Cache-Control
```
Cache-Control: public, max-age=31536000, s-maxage=86400, stale-while-revalidate=3600
```
public— herkesin cache'ine alınabilir (proxy, CDN, tarayıcı)private— sadece son kullanıcı tarayıcısı (CDN cache'leyemez)no-store— hiç cache'lememax-age=31536000— tarayıcı cache 1 yıls-maxage=86400— CDN/proxy cache 1 gün (max-age'i override eder CDN için)stale-while-revalidate=3600— TTL bittikten sonra 1 saat boyunca eski sürümü servis et, arka planda yenile
ETag ve Last-Modified
Dosya değişip değişmediğini kontrol için:
```
ETag: "abc123hash"
Last-Modified: Wed, 11 Mar 2026 12:00:00 GMT
```
Tarayıcı bir sonraki istekte If-None-Match: "abc123hash" gönderir; değişmemişse sunucu 304 Not Modified ile boş yanıt verir (bant genişliği tasarrufu).
LSCache otomatik ETag üretir; Cloudflare bu header'ı respekt eder.
Cache Purge Stratejisi
Otomatik Purge (Eklenti Tarafında)
- LSCache eklentisi — post yayınla, kategori değişikliği, eklenti güncelle gibi olaylarda otomatik origin purge
- Cloudflare WP eklentisi — aynı olaylarda Cloudflare Purge API ile edge purge
Tag-Based Purge (Gelişmiş)
Cloudflare Enterprise plan Cache Tag header'ı destekler. LSCache ile origin'de cache tag'leri üretilir (X-LSCache-Tag: cat_5,post_123); Cloudflare aynı tag'leri respekt eder ve selective purge yapabilir (sadece kategori 5'in cache'i temizlenir, geri kalan kalır).
Free planda tag-based purge yok; URL bazlı veya purge everything kullanılır.
Purge Everything (Acil)
Cloudflare dashboard -> Caching -> Purge Everything butonu, tüm edge cache'i anında temizler. Sadece acil durumda kullanılır (sitenin yapısı toptan değişti, eski cache hata gösteriyor). Sık kullanmayın — origin'e ani trafik geri tepkisi yapar.
Development Mode
3 saatlik tam cache bypass modu. Tema/eklenti geliştirirken edge cache'i tamamen kapatır. 3 saat sonra otomatik kapanır. Sürekli açık tutarsanız CDN avantajı kaybolur.
WAF: Cloudflare + WordPress Güvenlik
Cloudflare WAF (Web Application Firewall)
- OWASP Top 10 kural seti (SQL injection, XSS, CSRF, LFI/RFI)
- WordPress-specific rule pack (Pro plan ve üstü) — WP login brute force, wp-cron abuse, xmlrpc.php saldırı
- Rate limiting — IP başına saniye/dakikalık istek sınırı
- Bot Fight Mode (Free) ve Super Bot Fight Mode (Pro) — bilinen kötü bot listesi
- I'm Under Attack Mode — saldırı altında JavaScript challenge ile tüm trafiği filtre
Wordfence + Cloudflare Birlikte
Wordfence WordPress'in en popüler güvenlik eklentilerinden. Cloudflare ile birlikte kullanım mümkün ama dikkat:
- Wordfence origin'de çalışır (PHP). Saldırı önce Cloudflare'a, sonra origin'e, sonra Wordfence'e ulaşır.
- Cloudflare'da bir IP block edilirse Wordfence o IP'yi göremez.
- Çift WAF avantajı: Cloudflare edge'de kaba filtre, Wordfence origin'de PHP/WP-spesifik kontrol (login attempt loglama, file integrity scan, malware tarama).
Wordfence'in Cloudflare modülü vardır: gerçek ziyaretçi IP'sini Cloudflare
CF-Connecting-IPheader'ından okur, yanlış IP block etmez.
XMLRPC ve REST API Koruma
`/xmlrpc.php` WordPress'in legacy uzaktan API uç noktasıdır; brute force ve amplification saldırılarda hedef. Cloudflare Cache Rule veya WAF rule ile:
```
If URL contains "/xmlrpc.php" then Block (or Managed Challenge)
```
Eğer Jetpack veya WordPress Mobile App kullanıyorsanız xmlrpc.php gerekir; bu durumda rate limit uygun (örn. 5 istek/dakika).
REST API (/wp-json/) için benzer: anonymous endpoint listeleme bazı plugin'lerde kullanıcı bilgisi sızdırabilir. Cache Rule ile bypass + WAF rule ile rate limit önerilir.
Real Visitor IP Problemi ve Çözümü
Cloudflare proxy aktifken WordPress'e gelen tüm istekler Cloudflare IP'sinden gelir görünür. $_SERVER['REMOTE_ADDR'] hep 173.245.x.x benzeri Cloudflare IP'si döner. Sonuç:
- Wordfence yanlış IP'yi block eder (Cloudflare IP — tüm site erişimini kapatır)
- Yorum loglama Cloudflare IP gösterir, gerçek yorum sahibi takip edilemez
- Analytics ülke/şehir doğru gösterilemez
- Login attempt sayma yanlış olur (binlerce kullanıcı tek IP'den geliyor görünür)
Çözüm 1: Apache mod_remoteip (LiteSpeed dahil)
```
/etc/apache2/conf-available/cloudflare.conf
RemoteIPHeader CF-Connecting-IP
RemoteIPTrustedProxy 173.245.48.0/20
RemoteIPTrustedProxy 103.21.244.0/22
... Cloudflare'in IP listesi (https://www.cloudflare.com/ips/)
```
Bu konfigürasyon ile $_SERVER['REMOTE_ADDR'] artık gerçek ziyaretçi IP'sini gösterir. Buyukweb cPanel paketlerinde mod_remoteip standart yüklüdür; müşteri tarafında ek yapılandırma genelde gerekmez.
Çözüm 2: WordPress `wp-config.php` Override
```php
// wp-config.php başına ekle
if ( isset( $_SERVER['HTTP_CF_CONNECTING_IP'] ) ) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
}
```
PHP seviyesinde gerçek IP'yi REMOTE_ADDR'a yazar. WordPress'in tüm fonksiyonları (yorum, login log, plugin) artık doğru IP'yi görür.
Çözüm 3: Cloudflare WordPress Eklentisi
Cloudflare resmi eklenti otomatik olarak yukarıdaki override'ı yapar (ayrıca admin paneli üzerinden kontrol edilebilir).
Çözüm 4: Wordfence Cloudflare Modülü
Wordfence ayarlarında "How is your site getting visitors' IP addresses?" seçeneği var. "Use the Cloudflare 'CF-Connecting-IP' HTTP header" seçilirse Wordfence doğru IP'yi okur.
Cloudflare Workers (WordPress İçin İleri Düzey)
Cloudflare Workers, edge'de çalışan JavaScript kodudur. WordPress için ileri düzey kullanım senaryoları:
- A/B test — ziyaretçilerin %50'sine farklı sayfa, %50'sine farklı sayfa (origin değişmez)
- Geo-redirect — Türkiye ziyaretçi TR sayfaya, AB ziyaretçi EN sayfaya
- Sahte sayfa engelleme —
/wp-adminURL'ye gelen istek IP allowlist dışında ise 403 - Workers KV — APO'nun temelinde olan key-value store, edge'de WordPress HTML cache
- Header manipülasyon — bazı header'lar origin'e ulaşmadan değiştir
Free planda Workers günde 100.000 istek sınırı. Bunu aşan siteler Pro plana geçer. Workers kullanımı JavaScript geliştirme gerektirir; her WordPress sitesi için zorunlu değil.
DDoS Koruma: Buyukweb Datacenter + Cloudflare = Çift Katman
DDoS koruması üç katmanda işler:
| Katman | Buyukweb Datacenter | Cloudflare |
|---|---|---|
| L3 (Network) | SYN flood, ICMP, fragment filtreleme | Anycast routing, IP filtering |
| L4 (Transport) | UDP flood, TCP state attack | Connection rate limiting |
| L7 (Application) | HTTP flood, slowloris (kısmi) | WAF, JS challenge, CAPTCHA |
Buyukweb VDS ve dedicated sunucu paketlerinde L3/L4/L7 datacenter düzeyinde DDoS koruma standarttır. cPanel paketleri için de altyapı düzeyinde temel koruma vardır. Cloudflare üstüne eklendiğinde çift kalkan elde edersiniz: trafik önce Cloudflare edge'de filtreden geçer (kötüsü orada absorbe), kalan Buyukweb datacenter L3/L4'üne ulaşır.
Under Attack Mode
Sitenize aktif DDoS gerçekleşiyorsa Cloudflare dashboard'dan I'm Under Attack modunu açabilirsiniz. Her ziyaretçiye 5 saniyelik JavaScript challenge gösterir; bot bunu çözemez, gerçek tarayıcı geçer. Saldırı bitince High veya Medium'a geri alınız (UX bozar).
Yaygın Hatalar ve Çözümleri
Hata 1: Mail Subdomain'i Turuncu Bulut
- Belirti: Outlook bağlantı kuramıyor, mail gönderilemiyor, alınamıyor
- Çözüm:
mail.example.comA kaydını gri (DNS Only) moda al - Kontrol:
dig mail.example.com-> Cloudflare IP yerine origin IP dönmeli
Hata 2: SSL Flexible Mode (Mixed Content)
- Belirti: Sayfa açılıyor ama görsel/CSS yüklenmiyor; tarayıcı konsolu "Mixed Content" hatası
- Çözüm: Cloudflare SSL/TLS -> Full (Strict)
- Ek: WordPress
wp-config.php'yedefine('FORCE_SSL_ADMIN', true);ekle
Hata 3: WP Admin Yavaş
- Belirti:
/wp-adminsayfaları 5-10 saniye açılıyor, edit ekranı donuyor - Sebep: Cloudflare'ın
/wp-admin/*için cache + security level high WP admin'de gereksiz işlem yapıyor - Çözüm: Cache Rule veya Page Rule ile
/wp-admin/*Cache: Bypass + Security: Off
Hata 4: Cache Eski (Purge Unutulmuş)
- Belirti: Yeni yazı yayınlandı ama ziyaretçi eski sayfayı görüyor
- Sebep: Cloudflare WP eklentisi yüklü değil, otomatik purge çalışmıyor
- Çözüm: Cloudflare resmi WP eklentisini kur + API key bağla
- Acil: Cloudflare dashboard -> Caching -> Purge Everything
Hata 5: Yorum Sahipleri Hep Aynı IP'den Görünüyor
- Belirti: wp-admin yorum listesinde tüm yorumların IP'si
173.245.x.x(Cloudflare) - Çözüm: mod_remoteip veya
wp-config.phpoverride (yukarıdaki "Real Visitor IP" bölümü)
Hata 6: HTTPS Sonsuz Redirect Döngüsü
- Belirti:
ERR_TOO_MANY_REDIRECTStarayıcı hatası - Sebep: Cloudflare SSL Flexible + WordPress
is_ssl()HTTPS bekliyor - Çözüm: Full (Strict) mode + WP
siteurl/homeHTTPS
Hata 7: WooCommerce Sepet Karışıyor
- Belirti: A kullanıcısının sepeti B kullanıcısına görünüyor
- Sebep: Cloudflare HTML cache logged-in / cart kullanıcılarını cache'liyor
- Çözüm: Cache Rule ile
/cart,/checkout,/my-accountURL'leri Bypass; WPwoocommerce_items_in_cartcookie'sini cache key'e ekle
KVKK Perspektifi: Cloudflare Proxy ve Veri Yerleşimliği
Cloudflare proxy aktifken tüm HTTP trafiğiniz Cloudflare PoP'undan geçer. Türkiye ziyaretçisi için İstanbul PoP kullanılır, ama TLS sonlandırması Cloudflare'da gerçekleşir. Bu durum KVKK ve veri yerleşimliği perspektifinden değerlendirilmelidir:
Veri Geçiş Senaryoları
| Trafik tipi | Yol | Veri Yerleşimliği |
|---|---|---|
| TR ziyaretçi + Cloudflare proxy | TR -> CF Istanbul PoP -> Buyukweb Bursa | TLS Cloudflare'da decrypt edilir |
| AB ziyaretçi + Cloudflare proxy | AB -> CF Frankfurt PoP -> Buyukweb Bursa | TLS AB Cloudflare PoP'da decrypt |
| Cloudflare olmadan | TR -> Buyukweb Bursa direkt | TLS sadece Buyukweb'de |
Hassas Siteler İçin Öneriler
- Sağlık, finans, hukuk verisi tutan WordPress siteleri: Cloudflare proxy yerine DNS Only (gri bulut) tercih edebilir, Buyukweb Bursa Tier 3 datacenter'da TLS sonlandırması kalır
- Selektif proxy: Ana içerik (post, page) Cloudflare proxy, üyelik/login (
/login,/profile) gri bulut - Cloudflare aydınlatma metni: KVKK aydınlatma metnine "site Cloudflare CDN hizmetinden yararlanmaktadır; trafik bilgisi Cloudflare PoP üzerinden geçer" notu ekleyin
- VERBİS bildirimi: Veri sorumlusu kayıt sürecinde Cloudflare'i aktarım yapılan kuruluş olarak ekleyebilirsiniz
Buyukweb perspektifi: Bursa Tier 3 datacenter veri yerleşimliği avantajı sağlar. Cloudflare opsiyoneldir; gerçek müşteri kararı sitenin türüne göre verilir. Sağlık/finans gibi yüksek hassasiyetli siteler için DNS Only veya selektif proxy yaklaşımı uygundur.
TR Datacenter + Cloudflare Karar Matrisi
Cloudflare ekleyip eklememe kararını ziyaretçi coğrafyası belirler:
Senaryo 1: Türkiye Trafiği Baskın (%80+)
- Buyukweb Bursa Tier 3 -> Türkiye ziyaretçi latency: 8-15 ms
- Cloudflare İstanbul PoP -> Türkiye ziyaretçi latency: 5-10 ms
- Fark: 3-7 ms (anlamlı ama küçük)
- LSCache origin'de çok hızlı zaten
- Karar: Cloudflare opsiyonel; DDoS koruma ve WAF için katma değer var, hız için marjinal
Senaryo 2: Global Trafik Var (%50+ yurtdışı)
- Buyukweb Bursa -> AB ziyaretçi latency: 40-80 ms (bir kez TLS handshake'i sonra hızlı, ama ilk byte yavaş)
- Buyukweb Bursa -> Kuzey Amerika latency: 120-180 ms
- Cloudflare Frankfurt PoP -> AB latency: 10-20 ms (büyük kazanç)
- Cloudflare Ashburn PoP -> Kuzey Amerika latency: 15-30 ms (büyük kazanç)
- Karar: Cloudflare proxy + APO açıkça önerilir
Senaryo 3: E-ticaret (WooCommerce) + Türkiye Pazar
- LSCache + Cloudflare birlikte
- /checkout, /cart, /my-account cache bypass kuralları kritik
- Cloudflare Bot Fight Mode kart deneme botlarını filtreler
- DDoS koruma kritik (kampanya günleri saldırı potansiyeli)
- Karar: Cloudflare proxy + WP eklenti zorunlu
Senaryo 4: Blog / İçerik Sitesi + Global Hedef
- APO + Polish + Cache Rules (1 ay TTL statik)
- LSCache origin'de yedek
- Polish WebP + Image Optimization
- Karar: Cloudflare APO yatırımı en yüksek geri dönüşü sağlar
Performans Ölçüm Araçları
WordPress + Cloudflare optimizasyonunun etkisini ölçmek için:
- GTmetrix — Lighthouse + WebPageTest hibrit, edge / origin testi
- WebPageTest — gelişmiş timeline analizi, multi-step test, geo-locations
- Google PageSpeed Insights — Core Web Vitals (LCP, CLS, INP)
- Cloudflare Analytics — dashboard'ta cache hit ratio, bandwidth saved, threat metrics
- Query Monitor WP eklentisi — origin tarafında WP performansı (slow queries, hooks, scripts)
Tipik bir WordPress + Cloudflare site için ölçüm hedefleri:
- Cache hit ratio (Cloudflare): %80-95
- LCP (Largest Contentful Paint): <2.5 s (iyi), <1.2 s (mükemmel)
- TTFB Türkiye ziyaretçi: 100-300 ms (LSCache + İstanbul PoP)
- TTFB Global ziyaretçi: 50-200 ms (APO devrede)
- Origin bandwidth offload: %70-90
Sık Sorulan Sorular (SSS)
"Cloudflare ücretsiz plan WordPress için yeterli mi?"
Çoğu KOBİ blog ve kurumsal site için evet, yeterlidir. Ücretsiz plan aşağıdakileri içerir: sınırsız bant genişliği, ücretsiz SSL, global PoP ağı, temel WAF (managed rule set), Bot Fight Mode, 3 Page Rule, sınırsız Cache Rule. Pro plana geçiş gerektiren senaryolar: WP-specific WAF rule pack ihtiyacı, Polish görsel optimizasyon, daha fazla Page Rule, mobile redirect, Web Analytics zenginleştirme. E-ticaret veya yüksek trafik (1M+ pageview/ay) siteleri için Pro/Business düşünülür.
"LSCache + Cloudflare birlikte kullanılır mı, çakışır mı?"
Çakışmaz, birlikte koordineli çalışır. LSCache origin'de (Buyukweb Bursa'da) tam sayfa cache + ESI fragment yapar; Cloudflare edge'de (dünya genelinde PoP'lar) edge cache yapar. İki katman ardışıktır: edge cache miss olduğunda LSCache hit'i devreye girer, oradan PHP-FPM'i bypass eder. Önemli: Cloudflare WP eklentisi yüklü olmalı ki yeni post yayınlandığında otomatik edge purge yapılsın. Aksi halde edge cache eski içeriği göstermeye devam eder.
"APO almalı mıyım?"
Sitenizin trafik profiline bağlı. APO faydalı: global trafik baskın, statik içerik ağırlıklı blog/içerik sitesi, mobile pageview yüksek. APO daha az anlamlı: ağırlıklı Türkiye trafiği (LSCache + İstanbul PoP zaten yeterli), kullanıcıların büyük kısmı logged-in (cache zaten bypass), e-ticaret (sepet/checkout cache zaten bypass). APO ücretli özellik — abone olmadan önce 30-60 gün ölçüm yapın (GTmetrix + Cloudflare Analytics) sonra karar verin.
"Cloudflare aktif ettim ama site bozuldu, hızlıca nasıl geri dönerim?"
İki yol var: (1) NS değişikliği: domain registrar panelinizden NS kayıtlarını Buyukweb'in eski NS'lerine geri alın. Propagasyon 4-48 saat. (2) Cloudflare DNS Only: Cloudflare dashboard -> DNS -> ilgili kaydı turuncu buluttan gri buluta çevirin. Bu işlem anında etkili olur (Cloudflare'in proxy katmanı bypass edilir, doğrudan origin'e gidilir). DNS yönetimi Cloudflare'de kalır ama proxy/CDN katmanı kapanır. Hangi yolun uygun olduğu sorunun kaynağına bağlı; çoğu durumda Gri Bulut yeterlidir.
"Wordfence Cloudflare ile birlikte gerekir mi?"
Cloudflare WAF edge'de kaba filtre (OWASP, bot, rate limit); Wordfence origin'de WP-spesifik (file integrity, malware scan, login log, two-factor). İki katman birlikte tamamlayıcı. Cloudflare yalnız kullanılırsa: file integrity, malware scan, plugin/theme vulnerability scan eksik kalır. Wordfence yalnız: edge DDoS koruma yok, trafik origin'e ulaşır. Her ikisi birlikte önerilir. Önemli: Wordfence ayarlarında "How is your site getting visitors' IP addresses?" -> "Use CF-Connecting-IP" seçin; aksi halde Wordfence Cloudflare IP'sini block edip tüm siteyi kapatabilir.
"Cloudflare'in mail subdomain'i turuncu yapsam ne olur?"
Outlook/Thunderbird mail gönderemez, alıcı mail sunucuları size mail teslim edemez. Sebep: Cloudflare proxy sadece HTTP/HTTPS portlarını (80, 443) ve birkaç özel portu geçirir; SMTP (25, 465, 587), IMAP (143, 993), POP3 (110, 995) Cloudflare proxy üzerinden geçmez. mail.example.com A kaydını mutlaka gri bulut (DNS Only) modunda tutun. Aynı şey FTP (21), SSH (22), cPanel portu (2083) için de geçerli — bu subdomain'ler de gri olmalı.
"Cache TTL ne kadar olmalı?"
WordPress için tipik öneriler: (a) Statik dosya (/wp-content/uploads/*, /wp-content/themes/*): 1 ay (max-age=2592000). (b) HTML sayfa: 1-12 saat (s-maxage=3600). (c) API/JSON: 1-5 dakika (s-maxage=300). (d) Admin / login / sepet: cache bypass. APO açıkken HTML için süre Cloudflare tarafından otomatik yönetilir (yeni post yayınlandığında eklenti purge gönderir). Statikler için 1 ay agresif, blog post yayınlanmadığı dönemlerde mükemmel; içerik sık güncelleniyorsa stale-while-revalidate kullanın.
"TR datacenter zaten hızlı, Cloudflare gereksiz mi?"
Sadece Türkiye trafiği için çoğu zaman gereksiz (LSCache + Bursa Tier 3 zaten 8-15 ms TTFB veriyor). Ama Cloudflare sadece hız için kullanılmaz: DDoS koruma, WAF, bot management, origin IP gizleme, SSL gibi güvenlik fonksiyonları için de değerli. Yüksek trafikli, kampanya günleri saldırı olasılığı olan, e-ticaret veya regüle sektör siteleri Türkiye trafiği baskın olsa bile Cloudflare WAF + DDoS için proxy modunda çalıştırmayı tercih eder. Hız ihtiyacı yoksa DNS Only modunda dahi Cloudflare DNS yönetimi (hızlı propagasyon, DDoS DNS layer koruması) faydalıdır.
Sonuç ve Sonraki Adımlar
WordPress + Cloudflare CDN entegrasyonu, çift katmanlı cache ve çift katmanlı güvenlik sağlar. Doğru yapılırsa:
- Türkiye trafiği Buyukweb Bursa Tier 3 + LSCache ile 8-15 ms TTFB
- Global trafik Cloudflare PoP + APO (opsiyonel) ile 50-200 ms TTFB
- DDoS L3/L4/L7 çift kalkan (Buyukweb datacenter + Cloudflare edge)
- WAF OWASP + WP-specific + Wordfence origin tarafı
- Bandwidth offload origin %70-90 azalır
Kontrol listesi - WordPress + Cloudflare devreye almak için:
- Cloudflare hesap aç, site ekle, DNS auto-scan kontrol et
- NS değişikliği registrar panelinden
- Mail/FTP/cPanel subdomain'lerini gri bulut kontrol et
- SSL/TLS -> Full (Strict)
- AutoSSL veya Cloudflare Origin CA sertifikası origin'de aktif
- Cloudflare WordPress resmi eklentisini kur, API key bağla
- Cache Rules: wp-admin, wp-login, preview, AJAX, wp-json bypass
- LSCache origin tarafında aktif kalsın
- mod_remoteip veya wp-config.php override real IP için
- Wordfence kullanılıyorsa Cloudflare modülü "CF-Connecting-IP"
- WooCommerce varsa /cart, /checkout, /my-account bypass
- GTmetrix + Cloudflare Analytics ile ölçüm
İlgili Büyükweb Hizmetleri
- WordPress Hosting — LiteSpeed + LSCache + AutoSSL standart, Cloudflare ile uyumlu
- cPanel Web Hosting — Bursa Tier 3, AutoSSL, LSCache, JetBackup
- VDS Sunucu — Root erişim, kendi cache stack'inizi kurun, L3/L4/L7 DDoS koruma standart
- Paket Karşılaştırma — WordPress trafiğine göre paket seçimi
- SSL Sertifikası — AutoSSL + Let's Encrypt + premium SSL seçenekleri
WordPress + Cloudflare entegrasyon planlamanız, LSCache + edge cache koordinasyonu veya KVKK perspektifi danışmanlığı için 0850 302 60 70 destek hattımıza veya iletişim sayfamıza yazabilirsiniz. Bursa Tier 3 veri merkezimizden Türkiye trafiği için 8-15 ms TTFB ve LSCache origin cache desteği sağlıyoruz; Cloudflare entegrasyonu için DNS yönetim panelimizden NS değişikliğinizi serbestçe yapabilirsiniz.
WordPress Rehberi İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:
