ERETEK
BİLGİ SİSTEMLERİ

WooCommerce Cache Hataları ve Önleme

WooCommerce’te sepet, oturum ve ödeme sayfası cache hatalarının nedenleri; sayfa cache, Cloudflare ve Redis katmanında doğru istisnalar ve test yöntemi.

Bu makalede5 bölüm
Teknik özet
Teknoloji
WooCommerce, sayfa cache, Cloudflare, Redis
Konu
E-ticaret önbellek sorunları
Seviye
Orta

WooCommerce mağazalarında önbellek, hem en büyük hız kazancının hem de en can sıkıcı hataların kaynağıdır. Başka bir müşterinin sepetinin görünmesi, ödeme sayfasında eski fiyat, sepete ekle butonunun çalışmaması veya giriş yapan kullanıcının çıkış yapmış gibi görünmesi; hepsi dinamik sayfaların yanlışlıkla önbelleğe alınmasından kaynaklanır. Bu rehber sık görülen hataları, nedenlerini ve doğru yapılandırmayı anlatır.

Neden bu kadar sık oluyor?

Bir mağazada aynı anda iki tür sayfa vardır: herkese aynı görünen sayfalar (ana sayfa, kategori, ürün) ve kişiye özel sayfalar (sepet, ödeme, hesabım). Önbellek katmanları — eklenti tabanlı sayfa önbelleği, sunucu önbelleği ve CDN — varsayılan olarak bu ayrımı bilmez; hangi isteğin kişiye özel olduğunu URL ve çerez kurallarıyla öğrenmeleri gerekir. Katmanlardan biri bile yanlış yapılandırılırsa hata ortaya çıkar.

Sık görülen hatalar ve nedenleri

Belirti Olası neden Çözüm
Başka kullanıcının sepeti veya adı görünüyor Oturumlu istekler CDN’de veya sunucuda önbelleğe alınmış WooCommerce ve oturum çerezi olan istekleri tüm katmanlarda atlayın
Ödeme sayfasında eski fiyat/kargo Ödeme sayfası önbellekte /sepet, /odeme, /hesabim ve uç noktaları hariç tutun
Sepete ekle çalışmıyor, sepet sayısı güncellenmiyor Nonce içeren sayfa uzun süre önbellekte; AJAX/fragments isteği önbelleğe alınmış Önbellek süresini nonce ömrüyle uyumlu tutun, wc-ajax isteklerini atlayın
Stokta olmayan ürün “stokta” görünüyor Stok değişikliğinde ürün sayfası temizlenmiyor Stok/fiyat güncellemesinde ilgili URL’leri temizleyin
Ödeme dönüşünde sipariş durumu yanlış Ödeme sağlayıcısının geri dönüş (callback) adresi önbellekte veya WAF tarafından engelleniyor Callback uç noktalarını önbellek ve WAF kurallarından muaf tutun

Doğru yapılandırma: katman katman

Sayfa önbelleği (eklenti veya sunucu)

  • Sepet, ödeme ve hesabım sayfaları (dil ve kalıcı bağlantı yapınızdaki karşılıklarıyla) hariç.
  • woocommerce_items_in_cart, woocommerce_cart_hash, wp_woocommerce_session_* ve wordpress_logged_in_* çerezlerinden biri varsa önbellek atlanır.
  • ?add-to-cart= ve wc-ajax istekleri önbelleğe alınmaz.
  • Önbellek süresi WordPress nonce ömründen (varsayılan olarak 12–24 saat) kısa tutulur veya önbellek düzenli yenilenir.

Cloudflare

  • HTML önbelleği kullanılıyorsa (Cache Rules / APO), WooCommerce ve oturum çerezleri için “bypass” koşulu tanımlanır.
  • Ödeme sağlayıcısı geri dönüş adresleri ve REST API uç noktaları önbellekten ve agresif WAF kurallarından muaf tutulur.
  • “Cache Everything” kuralı koşulsuz uygulanmaz.

Nesne önbelleği (Redis)

Redis, sayfa önbelleğine alınamayan sayfaları hızlandırır ve güvenle kullanılabilir; oturum verisi WooCommerce’in kendi mekanizmasıyla yönetilir. Bellek sınırı ve tahliye politikası ayarlanmalıdır. Katmanların genel işleyişi için Cloudflare, WP Rocket ve Redis rehberine bakabilirsiniz.

Test senaryosu

  1. Gizli pencerede ürün sayfası açın; önbellek başlığında HIT görün.
  2. Sepete ürün ekleyin; sepet sayısının güncellendiğini ve sonraki sayfaların önbellek dışı (BYPASS/MISS) geldiğini doğrulayın.
  3. Farklı bir tarayıcıda aynı sayfayı açın; ilk kullanıcının sepetinin görünmediğini doğrulayın.
  4. Ödeme sayfasında kupon ve kargo değişikliğinin anında yansıdığını kontrol edin.
  5. Test ödemesi yapın; sipariş durumunun ve e-postaların doğru olduğunu doğrulayın.
  6. Yönetim panelinden stok değiştirin; ürün sayfasının güncellendiğini kontrol edin.

Bu testler her eklenti veya önbellek ayarı değişikliğinden sonra tekrarlanmalıdır. Ayrıca sipariş tabloları için HPOS (yüksek performanslı sipariş depolama) uyumluluğu, büyük mağazalarda veritabanı yükünü azaltır.

Sık sorulan sorular

Sepet sayacı neden yanlış gösteriyor?

Sayfa önbellekten geliyorsa sepet sayısı önbelleğe alındığı andaki değeri gösterebilir. Sepet parçaları (fragments) veya blok tabanlı mini sepet dinamik yüklenmeli ve bu istekler önbelleğe alınmamalıdır.

Ürün sayfaları önbelleğe alınabilir mi?

Evet; anonim ziyaretçiler için ürün ve kategori sayfaları önbelleğe alınabilir. Stok ve fiyat değiştiğinde ilgili sayfa temizlenmeli; kişiye özel fiyat varsa (B2B) oturumlu kullanıcılar için önbellek atlanmalıdır.

Redis WooCommerce’i hızlandırır mı?

Evet; özellikle sepet, ödeme, hesabım ve yönetim paneli gibi sayfa önbelleğine alınamayan sayfalarda veritabanı yükünü azaltır. Ancak yavaş sorgunun kendisini düzeltmez.

Mağazanızın önbellek ve performans yapılandırmasını birlikte kurmak için WooCommerce e-ticaret ve WordPress cache ve CDN optimizasyonu hizmetlerimizi inceleyin.

Teknik özet
Teknoloji
WooCommerce, sayfa cache, Cloudflare, Redis
Konu
E-ticaret önbellek sorunları
Seviye
Orta
Eretek uzman desteği

Bu konuyu projeniz için birlikte değerlendirelim.

Mevcut yapınızı inceleyip ihtiyacınıza uygun, sürdürülebilir bir çözüm planı öneriyoruz.