Teknoloji

WooCommerce İçin CDN ve Önbellek Ayarları: Sepet ve Ödeme Sayfalarını Bozmadan Hızlanmak

WooCommerce mağazalarında performans konuşulduğunda, konu çok hızlı bir şekilde CDN ve önbellek ayarlarına geliyor. Ancak e-ticaret tarafında klasik WordPress blog’larından farklı bir gerçeklik var: Sepet, ödeme ve hesap sayfaları tamamen dinamik çalışıyor ve en ufak yanlış cache kuralı; boş sepetler, kaybolan kuponlar, hatalı kargo ücretleri ve tamamlanmayan siparişler olarak size geri dönüyor. Bu yazıda DCHost ekibi olarak sahada defalarca test ettiğimiz, canlı WooCommerce mağazalarında uyguladığımız stratejileri sade bir dille toparlayacağız.

Amacımız; “CDN kapalı kalsın, sorun çıkmasın” değil, tam tersi: CDN ve önbelleği agresif ama kontrollü kullanarak mağazanızı hızlandırmak, bunu yaparken de sepet ve ödeme adımlarını bozmadan ilerlemek. URL bazlı hariç tutma, cookie tabanlı cache bypass, HTTP başlıkları ve farklı web sunucularında (Nginx, Apache, LiteSpeed) pratik kurallara kadar adım adım gideceğiz. Son bölümde ise elinizin altında tutabileceğiniz uygulanabilir bir kontrol listesi bulacaksınız.

WooCommerce’de Hız ve CDN Neden Bu Kadar Kritik?

WooCommerce, WordPress üzerinde çalışan oldukça esnek ama aynı zamanda veritabanı ve PHP tarafında ağırlaşmaya meyilli bir e-ticaret eklentisi. Ürün sayfaları, filtreler, kampanya etiketleri, stok kontrolleri, kuponlar, kargo hesaplamaları… Hepsi her istekle birlikte arka planda çalışıyor.

Özellikle şu senaryolarda performans kritik hale geliyor:

  • Yoğun kampanya dönemleri (indirim günleri, özel günler, TV reklamı sonrası trafik artışı)
  • Geniş ürün kataloğuna sahip mağazalar (binlerce ürün, onlarca kategori)
  • Mobil trafiğin yüksek olduğu, zayıf bağlantılardan erişilen siteler

Bu noktada devreye iki temel araç giriyor:

  • CDN (Content Delivery Network): Statik dosyalarınızı (CSS, JS, görseller, fontlar) ziyaretçiye en yakın noktadan sunarak ilk yükleme süresini düşürür.
  • Önbellek (cache): Sunucunun her istekte aynı PHP kodlarını ve veritabanı sorgularını yeniden çalıştırmasını engelleyen, hazırlanan çıktıyı belirli bir süre saklayan katman.

Sorun, bu iki katmanın yanlış yapılandırıldığında dinamik e-ticaret süreçleriyle çakışması. Bu yazının odağı tam da burası: Hangi sayfaları, ne kadar süre, hangi seviyede cache’lemeniz gerektiğini netleştirmek.

CDN Nedir, WooCommerce’de Ne İşe Yarar?

CDN, sitenizin barındığı sunucudan bağımsız çalışan, dünya geneline dağılmış noktalardan (POP) içerik dağıtan bir ağdır. Temel çalışma mantığı:

  • İlk istekte dosyayı origin sunucudan (örneğin DCHost üzerindeki VPS’inizden) alır.
  • Belirli bir süre kendi noktasında önbelleğe alır.
  • Aynı dosya tekrar talep edildiğinde, kullanıcıya doğrudan CDN’den sunar.

WooCommerce tarafında CDN’in ideal kullanım senaryosu:

  • Görseller (ürün görselleri, banner’lar, ikonlar)
  • CSS ve JS dosyaları
  • Font dosyaları
  • Bazı durumlarda sepet/ödeme dışındaki HTML sayfaları

CDN ile neleri cache’leyeceğiniz ve hangi başlıklarla (Cache-Control, Expires vb.) yöneteceğiniz konusu, daha önce detaylı anlattığımız CDN önbellekleme ve Cache-Control başlıklarını doğru kullanma rehberimizle de doğrudan bağlantılı. Burada WooCommerce’e özgü kısımları derinleştireceğiz.

WooCommerce’de Asla Önbelleğe Alınmaması Gereken Sayfalar

İlk kuralı netleştirelim: Her şeyi cache’lemek performansı artırmaz, bazı şeyleri cache’lemek sadece mağazanızı bozar. WooCommerce’de özellikle bu URL ve işlemler HTML düzeyinde önbelleğe alınmamalıdır:

  • Sepet sayfası: Genellikle /cart/
  • Ödeme sayfası: Genellikle /checkout/
  • Hesabım sayfası: /my-account/ ve alt URL’leri
  • Giriş/kayıt sayfaları
  • Sepete ekleme işlemleri: ?add-to-cart= parametresi içeren URL’ler
  • AJAX endpoint’leri: /wp-admin/admin-ajax.php, ?wc-ajax= içeren istekler
  • REST API: /wp-json/ altındaki istekler

Nedeni basit: Bu sayfalar kullanıcıya özeldir. Aynı URL, farklı ziyaretçiler için farklı içerik üretir. Bir müşterinin sepetini cache’leyip başka bir müşteriye vermek; hem güvenlik, hem de kullanıcı deneyimi açısından kabul edilemez.

Dolayısıyla “WooCommerce için CDN ve önbellek ayarları” dendiğinde ilk yapılacak iş, bu kritik URL’ler için hem sunucu tarafında hem de CDN tarafında bypass/hariç tutma kuralları tanımlamaktır.

WooCommerce İçin Güvenli CDN ve Önbellek Stratejisi

1) Statik Dosyaları CDN’e Taşı, HTML’i Dikkatli Cache’le

Çoğu mağaza için başlangıçtaki en güvenli senaryo şu:

  • Görseller, CSS, JS ve font dosyalarını CDN üzerinden sunmak
  • HTML sayfalarını ilk etapta CDN tarafında cache’lememek

Böylece:

  • En ağır dosyalar (özellikle ürün görselleri) coğrafi olarak kullanıcıya yakın noktadan gelir.
  • Sepet/ödeme gibi dinamik akışlara müdahale etmemiş olursunuz.

Daha ileri bir seviyeye geçmek isterseniz, sepet ve ödeme hariç diğer bazı sayfalar için (ör. blog, statik içerik sayfaları) CDN tarafında da HTML cache’i açabilirsiniz. Bunun için URL bazlı kurallar tanımlamanız şart; buna aşağıda değineceğiz.

2) Tam Sayfa Önbelleği (Full Page Cache) Dikkatli Kullan

Sunucu tarafında Nginx FastCGI cache, LiteSpeed Cache, Varnish gibi tam sayfa önbellek çözümleri WooCommerce’i ciddi anlamda hızlandırabilir. Ancak yanlış bir kural, sepet/ödeme adımlarını anında bozabilir.

WordPress genelinde tam sayfa cache kullanımını, pratik örneklerle birlikte WordPress’te tam sayfa önbellekleme rehberimizde ayrıntılı anlattık. WooCommerce özelinde ise şu ekstra kurallar kritik:

  • Sepet, ödeme, hesabım, giriş/kayıt sayfalarını URl’e göre her zaman cache dışı bırakın.
  • Oturum açmış kullanıcılar için HTML cache’i devre dışı bırakın.
  • woocommerce_cart_hash ve woocommerce_items_in_cart cookie’leri varsa cache’i bypass edin.

3) URL Bazlı Cache Bypass Kuralları

Hem sunucu hem de CDN tarafında yapmanız gereken ilk şeylerden biri, belirli URL desenlerini asla cache’e sokmamaktır. Örneğin:

  • /cart/
  • /checkout/
  • /my-account/
  • /wp-admin/, /wp-login.php
  • *wc-ajax=* içeren URL’ler
  • *add-to-cart=* içeren URL’ler

CDN panelinizde genellikle “Page Rules / Rules / Cache Bypass” benzeri bir bölümde; bu URL kalıplarına cache kapalı ya da cache bypass davranışı atamanız gerekir. Sunucu tarafında da benzer mantığı Nginx location blokları, Apache Rewrite/Cache ayarları veya LiteSpeed Cache eklentisinin “Do Not Cache URIs” alanı ile uygulayabilirsiniz.

4) Cookie Bazlı Cache Bypass: Sepette Ürün Varsa Cache Yok

WooCommerce, özellikle sepet durumu ve giriş yapmış kullanıcılar için çeşitli cookie’ler kullanır. En kritik olanlar:

  • woocommerce_items_in_cart
  • woocommerce_cart_hash
  • wordpress_logged_in_*

Güvenli strateji:

  • Bu cookie’lerden herhangi biri mevcutsa, HTML cache bypass edilsin.
  • Cookie yoksa ve URL sepet/ödeme değilse, cache devreye girebilsin.

Böylece:

  • Sepete ürün eklememiş, oturum açmamış ziyaretçiler için agresif cache ile yüksek hız sağlarsınız.
  • Sepete ürün ekleyen veya giriş yapan kullanıcılar için her zaman taze, kişiye özel içerik sunarsınız.

5) Kullanıcı Rolüne Göre Önbellek

Birçok mağazada yönetici veya editör rolündeki kullanıcılar için site, önbellek yüzünden “yanlış” görünebiliyor. İyi bir pratik:

  • Yönetici, editör, mağaza yöneticisi gibi rollerde oturum açan kullanıcılar için daima cache bypass uygulayın.
  • Sıradan müşteriler ve anonim ziyaretçiler için cache kuralları geçerli olsun.

Bunu genellikle:

  • WordPress tarafında bir cache eklentisi (kullanıyorsanız) ile rol bazlı kural yazarak
  • CDN tarafında ise logged-in cookie varlığına göre varyantlar oluşturarak

başarabilirsiniz.

Farklı Web Sunucularında WooCommerce Cache Kuralları

Nginx FastCGI Cache İçin Örnek Konfigürasyon

Nginx FastCGI cache, doğru kurulduğunda WooCommerce için oldukça verimli bir tam sayfa önbellek çözümü. Aşağıdaki sadeleştirilmiş örnek, mantığı anlamanız için yeterli olacaktır:

set $skip_cache 0;

# Sepet, ödeme, hesabım, admin, login, ajax vb. için cache kapalı
if ($request_uri ~* 
    "(wp-admin|wp-login.php|cart|my-account|checkout|wc-ajax|get_refreshed_fragments|feed|sitemap)" 
) {
    set $skip_cache 1;
}

# Giriş yapmış kullanıcılar ve sepette ürün olanlar için cache kapalı
if ($http_cookie ~* "(wordpress_logged_in_|woocommerce_items_in_cart|woocommerce_cart_hash)") {
    set $skip_cache 1;
}

location ~ .php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php-fpm.sock;

    fastcgi_cache_bypass $skip_cache;
    fastcgi_no_cache    $skip_cache;
    fastcgi_cache       WORDPRESS;
    fastcgi_cache_valid  200 301 302 60m;
}

Burada önemli olan, $skip_cache değişkenini hem fastcgi_cache_bypass hem de fastcgi_no_cache için kullanmak. Böylece:

  • İlgili istekler hiçbir zaman cache’e yazılmaz.
  • Önceden yazılmış bir kayıt varsa dahi, geri okunmaz.

Nginx tarafındaki mikro önbellekleme ve daha gelişmiş ayarlar için Nginx mikro önbellekleme rehberimiz de işinize yarayacaktır.

LiteSpeed Web Sunucusu ve LiteSpeed Cache Eklentisi

LiteSpeed sunucu kullanıyorsanız (örneğin DCHost üzerindeki LiteSpeed destekli hosting/VPS senaryolarında), WooCommerce ile oldukça uyumlu çalışan LiteSpeed Cache eklentisi öne çıkıyor. Dikkat etmeniz gereken başlıca ayarlar:

  • Cache > WooCommerce bölümünde WooCommerce entegrasyonunu aktif etmek.
  • Cache > Excludes > Do Not Cache URIs kısmına /cart/, /checkout/, /my-account/ gibi URL’leri eklemek.
  • Gerekirse Do Not Cache Cookies alanına woocommerce_items_in_cart ve woocommerce_cart_hash eklemek.

LiteSpeed Cache eklentisinin genel ayarlarını adım adım anlattığımız LiteSpeed Cache ile WordPress hızlandırma rehberimiz, WooCommerce kurulumlarınız için de iyi bir temel sunar.

Apache + Varnish veya Reverse Proxy Önbelleği

Apache arkasında Varnish veya Nginx reverse proxy kullanan yapılarda mantık aynıdır:

  • Varnish VCL içinde /cart/, /checkout/, /my-account/, /wp-admin, /wp-login.php gibi yolları pass edin.
  • Cookie içinde wordpress_logged_in_, woocommerce_cart_hash vb. varsa yine pass edin.
  • Geri kalan istekler için cache hit olmasına izin verin.

Özetle, hangi web sunucusunu kullanırsanız kullanın; sepet/ödeme URL’lerini ve belirli cookie’leri cache dışında tutmak ortak prensip.

CDN Tarafında WooCommerce İçin Özel Kurallar

CDN sağlayıcılarının çoğunda mantık aynıdır: Belirli URL desenleri, HTTP başlıkları ve cookie’lere göre cache politikası tanımlarsınız. WooCommerce için tipik bir kurallar seti şu şekilde olabilir:

1) HTML İçin Temel Cache Politikası

  • Varsayılan: HTML için cache kapalı (sadece statik dosyalar cache’lenir).
  • İsteğe bağlı: Blog, kampanya, statik sayfalar için belirli yol desenlerinde HTML cache’i açık.

Örneğin:

  • example.com/blog/* → HTML 15 dk cache
  • example.com/kampanya/* → HTML 5 dk cache
  • Diğer tüm HTML istekleri → cache kapalı

2) Sepet ve Ödeme İçin URL Bazlı Hariç Tutma

CDN panelinizde “rules” veya “page rules” bölümünde şu tür kalıplar için cache’i mutlaka kapatın:

  • */cart*
  • */checkout*
  • */my-account*
  • *wc-ajax=*
  • *add-to-cart=*

Bunları genellikle “Cache level: Bypass” veya benzeri bir ayarla yönetirsiniz. Böylece CDN, bu isteği her zaman origin’e iletir ve kendi üzerinde saklamaz.

3) Cache-Key ve Cookie Farkındalığı

Daha gelişmiş senaryolarda, CDN’in cache key mantığını da özelleştirebilirsiniz. Örneğin:

  • Farklı para birimleri için farklı cache key (ör. ?currency=)
  • Farklı diller için (ör. /tr/, /en/) ayrı varyantlar
  • Cihaz türüne göre (mobil/desktop) ayrı cache key

Ayrıca bazı CDN’ler, belirli cookie’ler geldiğinde cache’i otomatik bypass edecek “cookie rules” desteği sunar. Bu durumda woocommerce_items_in_cart, woocommerce_cart_hash ve wordpress_logged_in_* cookie’lerini listeleyerek WooCommerce akışını güvence altına alabilirsiniz.

CDN ve tarayıcı önbelleğini birlikte düşünmek için tarayıcı ve CDN önbelleğinde cache busting stratejileri yazımızı da mutlaka okumanızı öneririz. Özellikle CSS/JS güncellemelerinde, eski sürümlerin takılı kalmasını engellemek için bu bilgiler çok işe yarıyor.

Sepet ve Ödeme Sayfaları İçin HTTP Başlıkları ve Cookie Stratejisi

CDN ve cache katmanları kadar, HTTP başlıkları da sepet ve ödeme sayfalarının davranışını belirliyor. Önerdiğimiz yapı:

1) Cache-Control Başlıkları

Sepet ve ödeme sayfalarında şu başlık yapısı güvenlidir:

Cache-Control: no-store, no-cache, must-revalidate, max-age=0
Pragma: no-cache
Expires: 0

no-store, tarayıcıya bu sayfanın hiçbir kopyasını saklamamasını söyler. Özellikle ödeme adımlarında, geri tuşuna basıldığında tarayıcının eski bir kopyayı göstermesini engellemek için önemlidir.

2) Cookie Güvenliği ve SameSite

WooCommerce cookie’leri için Secure, HttpOnly ve uygun SameSite ayarları hem güvenlik hem de ödeme sağlayıcı entegrasyonları açısından kritiktir. Bu konuyu derinlemesine ele aldığımız SameSite ve Secure cookie’ler rehberimiz, sepet ve ödeme çerezlerini doğru yapılandırmanızda yardımcı olacaktır.

WooCommerce Performansını Destekleyen Diğer Önbellek Katmanları

CDN ve tam sayfa cache, işin sadece bir kısmı. WooCommerce’i gerçekten akıcı hale getirmek için aşağıdaki katmanlar da kritik öneme sahip:

1) PHP OPcache

OPcache, PHP kodlarınızın derlenmiş halini bellekte tutarak her istekte yeniden derlenmesini engeller. Doğru ayarlanmış bir OPcache:

  • CPU kullanımını düşürür.
  • TTFB (Time To First Byte) süresini kısaltır.
  • Yoğun trafik anlarında daha stabil yanıt süreleri sağlar.

OPcache tarafında önerdiğimiz ayarları, PHP OPcache ayarları rehberimizde WordPress ve WooCommerce özelinde detaylandırdık.

2) Nesne Önbelleği (Redis / Memcached)

WooCommerce, özellikle ürünler, sepet hesaplamaları ve sorgu sonuçları için yoğun şekilde veritabanına başvurur. Bu sorguların sonuçlarını bellekte saklamak için Redis veya Memcached ile nesne önbelleği kullanmak büyük fark yaratır.

Bu konuda iki önemli adım var:

  • Sunucu tarafında Redis veya Memcached servisinin kurulup yapılandırılması (DCHost üzerindeki VPS’lerinizde bu kurulumu kolayca yapabilirsiniz).
  • WordPress tarafında uygun eklentiyle nesne cache’in etkinleştirilmesi.

Kurulum ve hangi senaryoda hangi çözümün daha mantıklı olduğu konusunu WordPress ve WooCommerce için Redis mi Memcached mi? yazımızda ayrıntılı anlattık.

3) Veritabanı Optimizasyonu

Cache ne kadar iyi olursa olsun, en yoğun anlarda bazı istekler veritabanına mutlaka ulaşır. Özellikle:

  • Büyük ürün katalogları
  • Yoğun sipariş geçmişi
  • Raporlama ve istatistik eklentileri

MySQL/MariaDB tarafında ek yük oluşturabilir. İndeksleme, sorgu optimizasyonu ve InnoDB tuning konularını, WooCommerce odaklı olarak WooCommerce için MySQL/InnoDB tuning kontrol listesi yazımızda pratik örneklerle aktardık.

4) Doğru Sunucu Kaynakları ve DCHost Altyapısı

Önbellek ayarlarını mükemmel yapsanız bile, CPU ve RAM yetersizse veya disk IOPS değeri düşükse, performans bir noktadan sonra tıkanır. WooCommerce için:

  • Hızlı NVMe diskler
  • Yeterli vCPU ve RAM
  • PHP-FPM, HTTP/2 ve HTTP/3 desteği

gibi bileşenler kritik. WooCommerce kapasite planlama rehberimizde, vCPU, RAM ve IOPS ihtiyacını adım adım nasıl hesaplayabileceğinizi anlattık. DCHost olarak sağladığımız NVMe tabanlı VPS ve dedicated sunucu altyapıları, tam da bu senaryolar için tasarlanmış durumda.

Adım Adım: WooCommerce İçin Güvenli CDN ve Cache Kontrol Listesi

Tüm anlattıklarımızı, uygulaması kolay bir kontrol listesine dönüştürelim. Mevcut mağazanıza uyarlarken bu adımları tek tek işaretleyebilirsiniz.

  1. Statik içeriklerinizi CDN’e taşıyın.
    • Görsel, CSS, JS ve font dosyalarının CDN üzerinden servis edildiğini doğrulayın.
    • Tarayıcı geliştirici araçlarında Response Headers altında CDN başlıklarını kontrol edin.
  2. HTML için varsayılan politikayı belirleyin.
    • İlk etapta CDN tarafında HTML cache’ini kapalı tutun.
    • Gerekirse blog ve statik sayfalar için kademeli olarak açın.
  3. Sepet, ödeme ve hesabım URL’lerini hariç tutun.
    • CDN kurallarınızda */cart*, */checkout*, */my-account*, *wc-ajax=*, *add-to-cart=* için cache bypass ekleyin.
    • Sunucu tarafında (Nginx, Apache, LiteSpeed) aynı URL’ler için cache devre dışı olsun.
  4. Cookie bazlı cache bypass kurun.
    • wordpress_logged_in_*, woocommerce_items_in_cart, woocommerce_cart_hash cookie’leri varsa cache’i bypass edin.
    • Bu kuralları hem web sunucusu hem de CDN tarafında tanımlayın (mümkünse).
  5. HTTP başlıklarını kontrol edin.
    • Sepet ve ödeme sayfalarında Cache-Control: no-store, no-cache gibi başlıkların döndüğünü doğrulayın.
    • Statik dosyalarda ise uzun süreli max-age ve immutable gibi politikalar kullanın.
  6. Nesne önbelleği ve OPcache’i etkinleştirin.
    • DCHost üzerindeki sunucunuzda Redis veya Memcached kurun ve WordPress ile entegre edin.
    • OPcache ayarlarını WooCommerce yüküne uygun şekilde optimize edin.
  7. Canlıya almadan önce test edin.
    • Farklı tarayıcı ve cihazlardan test sepeti oluşturun.
    • Giriş yapmış/giriş yapmamış kullanıcı senaryolarını ayrı ayrı deneyin.
    • Kupon, kargo hesaplama, stok güncelleme gibi hassas akışları özellikle kontrol edin.

Sonuç: Sepeti Bozmadan Hızlanan WooCommerce Mağazası

WooCommerce için CDN ve önbellek ayarları, dışarıdan bakıldığında karmaşık görünebilir; ama aslında temel prensipler net: Sepet, ödeme, hesabım ve giriş süreçleri her zaman taze, diğer her şey mümkün olduğunca cache’lenmiş olmalı. Bunu sağlamak için URL bazlı hariç tutma, cookie bazlı cache bypass, doğru HTTP başlıkları ve iyi yapılandırılmış bir nesne/OPcache katmanı yeterli.

DCHost olarak sahada gördüğümüz en büyük sorun, ya her şeyin aşırı temkinle tamamen cache dışı bırakılması (gereksiz kaynak israfı), ya da tam tersi panikle tüm CDN/önbellek katmanlarının kapatılması. Oysa doğru mimariyle; NVMe diskli bir VPS veya güçlü bir dedicated sunucu üzerinde, iyi yapılandırılmış Nginx/Apache/LiteSpeed ve akıllı CDN kurallarıyla, hem Core Web Vitals metriklerini iyileştirmek hem de sepet/ödeme akışını sorunsuz tutmak mümkün.

Mevcut WooCommerce mağazanızda bu yazıdaki adımları uygularken desteğe ihtiyaç duyarsanız, DCHost ekibi olarak altyapı seçimi (VPS, dedicated, colocation), cache mimarisi ve CDN entegrasyonu konusunda yanınızdayız. Log analizi, yük testleri ve canlı geçiş planlarıyla, sepetinizi bozmadan mağazanızı birlikte hızlandırabiliriz.

Sıkça Sorulan Sorular

Sepet ve ödeme sayfaları tamamen dinamik çalışır ve her kullanıcı için farklı içerik üretir. Aynı /checkout/ URL’si, A kullanıcısında 3 ürün, B kullanıcısında 1 ürün gösterebilir; kargo ücreti, kuponlar, stok kontrolü ve hatta vergi hesaplamaları bile kullanıcıya özeldir. Bu sayfaları tam sayfa önbelleğe alırsanız, bir kullanıcının sepeti diğerine gösterilebilir, kuponlar uygulanmamış gibi görünebilir veya eski kargo ücretleri ekranda kalabilir. Bu da hem güvenlik hem de dönüşüm açısından ciddi sorun yaratır. Bu nedenle sepet (/cart/), ödeme (/checkout/) ve hesabım (/my-account/) gibi sayfaları hem CDN hem de sunucu taraflı cache’ten mutlaka hariç tutmak gerekir.

WooCommerce için kritik üç cookie grubu vardır. Birincisi, oturum açmış kullanıcıyı temsil eden wordpress_logged_in_* cookie’si; bu cookie varsa ilgili kullanıcının gördüğü içerik kişiseldir ve HTML cache genellikle devre dışı olmalıdır. İkincisi, sepet durumunu tutan woocommerce_items_in_cart cookie’si; bu cookie varsa ziyaretçinin sepetinde ürün bulunduğu anlamına gelir ve sayfaların önbellekten değil, her zaman taze olarak üretilmesi gerekir. Üçüncüsü ise sepet hash bilgisini içeren woocommerce_cart_hash cookie’sidir. Sunucu ve CDN tarafında bu cookie’lerin varlığında cache bypass uygularsanız, sepet ve ödeme akışınız çok daha güvenli ve tutarlı çalışır.

Hayır, CDN kullanırken HTML cache’ini tamamen kapatmak zorunda değilsiniz, ancak çok seçici olmanız gerekiyor. Güvenli bir yaklaşım; başlangıçta HTML cache’ini global olarak kapatıp sadece statik dosyaları (CSS, JS, görseller, fontlar) CDN üzerinden sunmak. Bu, performansta önemli bir artış sağlar ve sepet/ödeme akışını etkilemez. Daha sonra blog yazıları, kampanya landing sayfaları veya tamamen statik içerikler için belirli URL desenlerinde (örneğin /blog/*, /kampanya/*) HTML cache’ini kademeli olarak açabilirsiniz. Önemli olan, cart/checkout/my-account gibi dinamik WooCommerce sayfalarını her koşulda URL ve cookie bazlı kurallarla cache dışında tutmaktır.

Her iki çözüm de doğru yapılandırıldığında WooCommerce’i ciddi şekilde hızlandırabilir. Nginx FastCGI cache, özellikle kendi VPS veya dedicated sunucusunu yöneten, Nginx konfigürasyonuyla uğraşmaktan çekinmeyen ekipler için güçlü ve esnek bir seçenek. LiteSpeed Cache ise LiteSpeed web sunucusu kullanılan ortamlarda, WordPress eklentisi üzerinden görsel bir arayüzle yönetilebildiği için daha kolay bir deneyim sunuyor. Önemli olan; hangi çözümü kullanırsanız kullanın, /cart/, /checkout/, /my-account/ gibi URL’ler ile wordpress_logged_in_*, woocommerce_items_in_cart ve woocommerce_cart_hash cookie’leri için mutlaka cache bypass kurallarını eksiksiz tanımlamanız.

Önce teknik doğrulama, ardından gerçek kullanıcı akışı testleri yapmalısınız. Teknik tarafta, tarayıcı geliştirici araçlarıyla Response Headers bölümünden Cache-Control ve CDN başlıklarını kontrol edin; sepet ve ödeme sayfalarında no-store/no-cache döndüğünden emin olun. Ardından en az iki farklı tarayıcı ve iki farklı cihazdan test sepetleri oluşturun; anonim kullanıcı, giriş yapmış kullanıcı ve yönetici rolleriyle akışları ayrı ayrı deneyin. Kupon uygulama, kargo ücretlerinin güncellenmesi, stokta son ürün senaryolarını özellikle test edin. Mümkünse kısa süreli bir yük testi yaparak (örneğin kampanya anını simüle ederek), önbellek katmanlarının beklediğiniz gibi davranıp davranmadığını log’lar üzerinden de doğrulayın.