Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

PrestaShop sepeti kendi kendine boşalıyor

Bir müşteri sepete ürün ekliyor, bir saat ya da bir gün sonra geri dönüyor ve sepeti boş buluyor. Bu neredeyse hiçbir zaman rastgele bir hata değildir: PrestaShop'ta sepet bir çerez ve bir oturuma bağlıdır, ve bu bağlantı belirli nedenlerle kopar — kaybolan bir çerez, çok agresif bir önbellek veya bu süre zarfında değişen bir indirim ya da stok.

Sorunumu anlatayım Mesaj gönderin

PrestaShop bir sepetin içeriğini nasıl hatırlar

Sepet tarayıcıda saklanmaz: veritabanında, müşterinin cihazına yerleştirilen bir çerezle ilişkilendirilmiş benzersiz bir kimlik (id_cart) altında kaydedilir. Bu çerez var olduğu ve geçerliliğini koruduğu sürece, PrestaShop her ziyarette sepeti yeniden bulur. Sepetin «kendi kendine» boşalması, neredeyse her zaman tarayıcı ile veritabanındaki kayıt arasındaki bu bağlantının koptuğu anlamına gelir, siparişin ortadan kalktığı anlamına gelmez.

En sık görülen nedenler: tarayıcı veya yanlış yapılandırılmış bir onay banner'ı tarafından engellenen bir çerez, iki ziyaret arasında elle silinmiş bir çerez ya da bir URL veya sertifika değişikliğinden sonra hâlâ eski bir adrese ayarlı kalmış bir çerez parametresi (domain, SameSite). Bu durumların hepsinde sepet verisi veritabanında hâlâ mevcuttur; PrestaShop yalnızca bunu hangi ziyaretçiyle ilişkilendireceğini bilemez.

Bir sayfa önbelleği de aynı izlenimi verebilir

PrestaShop'un önünde yer alan tam sayfa önbellek modülü veya bir proxy (CDN, sunucu önbelleği) her ziyaretçiye aynı sepet sayfasını sunuyorsa, siparişi veritabanında gerçekten var olsa bile herkes boş bir sepet görebilir. Boş olan sepet değil, dondurulmuş olan sayfadır. Sepet sayfası hiçbir zaman tam sayfa önbelleğe alınan sayfalar arasında yer almamalıdır.

Göz ardı edilmemesi gereken iki neden daha

  • Müşteri hâlâ karar verirken süresi dolan bir sepet kuralı (cart rule): geri döndüğünde PrestaShop sepeti yeniden hesaplar ve indirim kaybolur, bu da sepetin boşaldığı izlenimini verir.
  • Bu süre zarfında stokta tükenen bir ürün: stok yönetimi ayarına bağlı olarak, PrestaShop müşteri geri döndüğünde ürünü sepetten otomatik olarak kaldırabilir.

Yapılandırma mı, geliştirme mi?

Çerez ayarlarını kontrol etmek, sepet sayfasını çok agresif bir önbellekten hariç tutmak veya bir sepet kuralının süresini ayarlamak, genellikle hızlıca tespit edilebilen bir yapılandırma işidir. Mağazanın özel bir oturum yönetimine ihtiyaç duyması durumunda — birden fazla alan adı arasında paylaşılan bir sepet, çok uzun bir süre sonra sepetin geri getirilmesi veya zaten kurulu olan üçüncü taraf bir önbellek modülüyle ince uyumluluk gibi — bu bir geliştirme konusu hâline gelir.

İlgili sayfalar

İhtiyacınızı bir dakikada anlatın

Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.

version
besoin
etat
theme (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Sıkça sorulan sorular

Sepet PrestaShop 1.6'da boşalıyor, bu 1.7 veya 8'de farklı mı?
İlke — veritabanında çerez ve id_cart — tüm sürümlerde aynıdır. Değişen şey, sürümden sürüme farklılık gösteren önbellek ayarları ve varsayılan olarak kurulu eklentilerdir.
Sepet boşken neden 500 hatası alıyorum?
Bu, içerik kaybından farklı bir belirtidir: boş bir sepet sayfasında 500 hatası genellikle çerez sorunundan değil, hiç ürün olmadığında çöken ve sepet görüntülemesine bağlı bir eklentiden kaynaklanır.
Bir önbellek modülü müşterilerimin sepetini gerçekten boşaltabilir mi?
Gerçekten boşaltmaz, ancak bu izlenimi veren dondurulmuş bir sayfa gösterebilir. Sepet sayfası her zaman tam sayfa önbelleğinin dışında tutulmalıdır.
Sorunun tarayıcımdan mı yoksa siteden mi kaynaklandığını nasıl anlarım?
Birden fazla tarayıcıyla ve çerezleri engelleyen herhangi bir uzantı olmadan gizli sekmede test ediyorum. Sepet bu koşullarda da boşalıyorsa, neden sunucu tarafındadır, tarayıcı tarafında değil.
Bu sorunu çözmek için mutlaka geliştirme mi gerekir?
Hayır: çoğu durum bir çerez, önbellek veya sepet kuralı ayarıyla çözülür. Geliştirme, birden fazla alan adı arasında paylaşılan bir sepet gibi özel ihtiyaçlar için gereklidir.