Stok bilgisi sık değişen e-ticaret sitelerinde cache yönetimi; hız, güncel veri ve hatasız sipariş akışı için doğru katman ve hariç tutma stratejileriyle planlanmalıdır.
Stok bilgisi sık değişen bir e-ticaret sitesinde cache yönetimi, yalnızca sayfa hızını artırma işi değildir. Yanlış kurgulanan bir önbellek, tükenen ürünün hâlâ satın alınabilir görünmesine, kampanya fiyatının geç güncellenmesine veya müşterinin sepette hata almasına neden olabilir. Bu nedenle amaç, performansı korurken kritik ticari verilerin güncelliğini garanti altına almaktır.
Ürün sayfaları, kategori listeleri, arama sonuçları ve önerilen ürün blokları genellikle cache kapsamına alınır. Bu alanlarda stok durumu da görüntüleniyorsa, ziyaretçi eski bir sayfa kopyasını görebilir. Özellikle yoğun trafik alan kampanya dönemlerinde bu durum sipariş iptallerini, müşteri hizmetleri yükünü ve güven kaybını artırır.
Buradaki temel ayrım şudur: Her veri aynı hızda değişmez. Ürün açıklaması, görseller ve teknik özellikler uzun süre cache içinde kalabilir. Ancak stok adedi, satın alınabilirlik durumu, varyasyon bazlı stok ve sepete ekleme kontrolü daha hassas ele alınmalıdır.
E-ticaret sitelerinde tüm sayfayı cache dışı bırakmak genellikle doğru değildir; bu yaklaşım performansı düşürür ve hosting kaynaklarını gereksiz tüketir. Bunun yerine dinamik ve statik alanları ayırmak gerekir.
Sepet, ödeme, sipariş sonucu, kullanıcı hesabı ve favoriler gibi kişiye özel sayfalar tam sayfa cache kapsamına alınmamalıdır. Bu sayfalarda kullanıcı oturumu, kupon, kargo, vergi ve ödeme bilgileri değişkendir. Cache kullanımı, bir müşterinin başka bir müşteriye ait veriyi görmesi gibi ciddi güvenlik ve gizlilik sorunlarına yol açabilir.
Ürün sayfası cache içinde kalabilir; ancak stok kontrolü sepete ekleme anında mutlaka canlı veri üzerinden yapılmalıdır. Böylece ürün sayfasında gecikmeli bilgi görünse bile, satın alma işlemi gerçek stok durumuna göre engellenir veya onaylanır.
En sağlıklı yöntem, stok rozetleri ve varyasyon stoklarını kısa süreli cache ile yönetmek veya AJAX/API üzerinden güncel sorgulamaktır. Bu sayede sayfa hızlı açılırken kritik karar anı güncel veriyle desteklenir.
Cache süresi belirlenirken ürün tipi, stok hareket hızı ve kampanya yoğunluğu dikkate alınmalıdır. Günde birkaç kez satılan ürünle dakikalar içinde tükenen ürün aynı kuralla yönetilmemelidir.
TTL değerini çok uzun tutmak stok hatalarını artırır; çok kısa tutmak ise sunucu yükünü yükseltir. Dengeli yaklaşım, kritik veriyi dinamik tutup görsel ve açıklama gibi ağır içerikleri daha uzun süre cache içinde saklamaktır.
Stok değiştiğinde manuel cache temizliği sürdürülebilir değildir. WooCommerce, özel e-ticaret altyapıları veya entegrasyonlu ERP sistemlerinde stok güncellemesi sonrası ilgili ürün sayfası, kategori sayfası ve gerekiyorsa ana sayfadaki ürün blokları otomatik temizlenmelidir.
Burada tüm site cache’ini temizlemek yerine hedefli temizleme yapmak daha verimlidir. Örneğin tek bir ürünün stoğu değiştiğinde yalnızca o ürün, bağlı kategori ve ürün listeleme blokları yenilenmelidir. Tüm cache’i sık sık silmek, yoğun trafikte performans dalgalanmasına neden olabilir.
Birçok e-ticaret sitesinde cache tek katmandan oluşmaz. CDN, web sunucusu cache’i, uygulama cache’i, veritabanı cache’i ve tarayıcı cache’i aynı anda devrede olabilir. Bu katmanlardan biri doğru temizlenmezse kullanıcı yine eski stok bilgisini görebilir.
Bu nedenle kullanılan hosting altyapısında hangi cache katmanlarının aktif olduğu net bilinmelidir. Özellikle LiteSpeed, Nginx FastCGI, Varnish veya CDN tabanlı önbellekleme kullanılıyorsa, stok güncelleme olaylarının bu katmanlara nasıl bildirileceği planlanmalıdır.
Ürün sayfaları için agresif tarayıcı cache’i kullanmak risklidir. CSS, JavaScript ve görseller uzun süre cache’lenebilir; ancak HTML çıktısı ve stokla ilişkili API yanıtları kısa süreli olmalıdır. Yanlış cache-control başlıkları, kullanıcı tarafında eski bilginin uzun süre kalmasına yol açabilir.
WordPress tabanlı e-ticaret sitelerinde cache eklentisi seçerken WooCommerce uyumluluğu mutlaka kontrol edilmelidir. İyi yapılandırılmış bir eklenti, sepet ve ödeme sayfalarını otomatik hariç tutar, ürün güncellemesinde ilgili cache’i temizler ve oturum açmış kullanıcılar için farklı davranış tanımlar.
Uygulamada şu kontroller yapılmalıdır:
Bu kontroller yalnızca yönetim panelinden bakılarak değil, gerçek kullanıcı senaryolarıyla test edilmelidir. Bir ürünün stoğunu bire düşürüp farklı tarayıcı ve gizli sekmede satın alma akışı denenmelidir.
Black Friday, sezon indirimi veya sınırlı stok kampanyalarında cache stratejisi önceden test edilmelidir. Kampanya başlamadan hemen önce ürün ve kategori cache’i temizlenmeli, fiyat ve stok verilerinin doğru yansıdığı kontrol edilmelidir. Kampanya sırasında tüm siteyi sürekli temizlemek yerine, stok hareketi olan ürünlerde hedefli purge yapılmalıdır.
Bu dönemde sunucu kaynaklarının izlenmesi de önemlidir. CPU, RAM, PHP worker, veritabanı sorgu süresi ve kuyruk işlemleri takip edilmezse cache doğru kurgulansa bile ödeme adımında yavaşlama görülebilir. Güçlü bir altyapı kadar doğru cache ayrımı da satış sürekliliğini belirler.
En yaygın hata, hız testinde yüksek puan almak için tüm HTML çıktısını uzun süre cache’lemektir. Bu yöntem laboratuvar testlerinde iyi görünse de gerçek e-ticaret senaryosunda stok uyuşmazlığı yaratabilir. Bir diğer hata, stok entegrasyonu ERP’den geldikten sonra CDN cache’inin temizlenmemesidir.
Ayrıca sadece ürün sayfasını yenilemek yeterli olmayabilir. Kategori sayfasındaki “stokta var” etiketi, ana sayfadaki öne çıkan ürün bloğu veya arama sonuçlarındaki stok filtresi de eski kalabilir. Cache temizleme kapsamı, ürünün sitede göründüğü tüm temas noktalarını içermelidir.
Doğru yapılandırmada hız ve güncellik birbirine rakip değildir. Ürün içerikleri, görseller ve statik dosyalar güçlü biçimde cache’lenirken; stok, fiyat doğrulama ve satın alma kararı canlı veriyle desteklenir. Böylece kullanıcı hızlı bir deneyim yaşar, işletme ise hatalı sipariş ve gereksiz operasyon yüküyle karşılaşmaz.