PrestaShop önbelleği nasıl doğru şekilde temizlenir
PrestaShop, her ziyarette her şeyi yeniden hesaplamamak için sayfalarının önceden derlenmiş bir sürümünü bellekte tutar. Görünmeyen bir değişiklik ya da düzeltilmesine rağmen devam eden bir hata, neredeyse her zaman doğru yerde temizlenmesi gereken bu önbellekten kaynaklanır.
Sürüme göre önbelleği temizlemek
-
Yönetim panelinden (tüm sürümler)
Gelişmiş Parametreler > Performans, Smarty önbelleğini temizlemek için bir düğme sunar. PrestaShop'un öngördüğü çerçevede kaldığı için en güvenli yöntemdir.
-
PrestaShop 1.7, 8 ve 9'da FTP ile
var/cache/prod ve var/cache/dev klasörlerinin içeriğini silin; klasörleri tamamen silmek yerine boş halde bırakın: PrestaShop bunları bir sonraki istekte otomatik olarak yeniden oluşturur.
-
PrestaShop 1.6'da FTP ile
Sırasıyla derlenmiş şablonları ve render önbelleğini içeren cache/smarty/compile ve cache/smarty/cache klasörlerinin içeriğini boşaltın.
-
Görünümü kontrol etmek
Kontrolü yanıltabilecek her türlü tarayıcı önbelleğini devre dışı bırakmak için ilgili sayfayı gizli sekmede yeniden yükleyin.
-
Varsa sunucu önbelleğini de temizlemek
Bir bellek önbelleği (Redis, Memcached) veya bir sayfa önbelleği (Varnish, paylaşımlı barındırma eklentisinin önbelleği) kullanılıyorsa, ayrıca temizlenmelidir: PrestaShop önbelleği ile sunucu önbelleği birbirinden farklı iki katmandır.
İki farklı önbellek, iki farklı etki
Derleme önbelleği, şablon dosyalarını (.tpl) yalnızca bir kez çalıştırılabilir PHP koduna dönüştürür, ardından kaynak şablon değişmediği sürece bu sonucu yeniden kullanır. Bunu temizlemek PrestaShop'u yeniden derlemeye zorlar; bu, görünmeyen bir tema değişikliğinden sonra gereklidir.
Render önbelleği ise, her ziyarette yeniden oluşturmaktan kaçınmak için zaten üretilmiş sayfa parçalarını (genellikle menü veya alt bilgi gibi bloklar) saklar. Bunu temizlemek, veritabanında doğrulanmış bir değişikliğe rağmen sitenin ön yüzünde görünmeyen bir yapılandırma, kategori veya ürün değişikliğinden sonra gereklidir.
PrestaShop 1.7 ve sonrasında Symfony tarafında üçüncü bir katman daha vardır: yönetim panelinin yapılandırması (menüler, formlar) da var/cache içinde önbelleğe alınır. Yönetim menüsünde görünmeyen yeni bir sekme veya eklenti, genellikle özellikle bu önbelleğin temizlenmesiyle çözülür.
Sık yapılan hatalar
- var/cache klasörünün içeriği yerine klasörün kendisini silmek; sunucunun yazma izinleri klasörü yeniden oluşturmaya yetmezse bu bir hataya yol açabilir.
- Önbelleği temizlemeyi tarayıcı önbelleğini temizlemekle karıştırmak: doğru şekilde uygulanmış bir değişiklik, tarayıcı yerel olarak kayıtlı bir sürümü gösterdiği için yok gibi görünebilir.
- Büyük bir katalogda yoğun trafik döneminde önbelleği temizlemek: sayfalar yeniden derlenene kadar önbelleğin yeniden oluşturulması daha fazla sunucu kaynağı tüketir.
- Mağaza bir CDN kullanıyorsa CDN önbelleğini unutmak: değiştirilen CSS veya JS dosyaları, PrestaShop önbelleği temizlendikten çok sonra bile ziyaretçi tarafında güncel olmayan halde kalabilir.
Sıkça sorulan sorular
Önbelleği temizlemek veri kaybına yol açar mı?
Önbellek temizlendikten hemen sonra site neden daha yavaş oluyor?
Her ürün değişikliğinden sonra önbelleği temizlemek gerekir mi?
Yönetim panelindeki temizleme düğmesi soluk görünüyor veya hataya yol açıyorsa ne yapılmalı?
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.