Bir yazıyı düzenlediniz, bir başlığı değiştirdiniz ya da tasarımda bir renk güncellediniz. Kaydettiniz, sonra siteyi açıp baktınız ve ortada hiçbir değişiklik yok. Eski hâli olduğu gibi duruyor. Düzenleme ekranına geri dönüyorsunuz, değişiklik orada kayıtlı. Yani yaptığınız iş kaybolmamış, sadece ziyaretçinin gördüğü sayfaya yansımamış. Bu neredeyse her zaman bir önbellek meselesidir.
Önbellek nasıl araya giriyor
Önbellek, sayfanın hazır hâlini bir yerde saklayıp tekrar istendiğinde yeniden üretmeden sunma yöntemidir. Hız için harikadır ama değişiklik yaptığınızda eski kopya hâlâ gösterildiği için kafa karıştırır. Sorun şu ki sitenizin birden fazla noktasında önbellek olabilir ve değişikliğin görünmesi için hepsinin temizlenmesi gerekir.
Katmanları şöyle düşünün. Bir önbellek eklentiniz varsa o, sayfaların statik kopyalarını tutar. Tarayıcınız da ziyaret ettiğiniz sayfaları kendi içinde saklar. Bir CDN kullanıyorsanız içeriği dünyanın farklı noktalarındaki sunucularda önbellekler. Son olarak sunucunun kendisinde opcache ya da Varnish gibi bir önbellek çalışıyor olabilir. Değişiklik bu katmanlardan birine takılmışsa görünmez.
Sırayla temizleme
- En hızlı testle başlayın. Tarayıcıda sayfayı zorla yenileyin. Windows’ta Ctrl ve F5, Mac’te Cmd ve Shift ile R tuşları önbelleği atlayarak sayfayı taze çeker. Değişiklik bu şekilde görünüyorsa sorun yalnızca tarayıcı önbelleğindeydi.
- Daha kesin bir test için gizli (incognito) bir pencere açın ve siteyi orada ziyaret edin. Gizli pencere temiz başlar, kendi tarayıcı önbelleğinizi devre dışı bırakmış olursunuz.
- Önbellek eklentinizden önbelleği temizleyin. WP Super Cache, W3 Total Cache, LiteSpeed Cache gibi eklentilerin hepsinde ‘önbelleği temizle’ ya da ‘purge’ düğmesi vardır. Değişiklik sonrası bunu bir kez çalıştırmak çoğu sorunu kapatır.
- CDN kullanıyorsanız onun panelinden de önbelleği boşaltın (purge). CDN eski kopyayı tutmaya devam ederse eklentiyi temizlemeniz tek başına yetmez. Birçok CDN, belirli bir dosyayı ya da tüm siteyi boşaltma seçeneği sunar.
- Hâlâ eski hâl görünüyorsa sunucu önbelleğine bakın. opcache, PHP kodunu derlenmiş hâlde tutar ve özellikle tema ya da eklenti dosyası değiştirdiyseniz devreye girer. Bunu genelde barındırma panelinden ya da firmaya söyleyerek sıfırlatırsınız.
Bazen tek bir yazıyı değil, sitenin tamamını kaplayan bir değişiklik yaparsınız. Örneğin menüyü ya da üst bilgiyi düzenlediniz. Bu tür değişiklikler tek bir sayfanın değil neredeyse her sayfanın önbelleğini etkiler, çünkü menü her sayfada görünür. Bu yüzden tek bir yazının önbelleğini temizlemek yetmez, tüm site önbelleğini boşaltmanız gerekir. Çoğu önbellek eklentisinde ‘tüm önbelleği temizle’ ile ‘bu sayfanın önbelleğini temizle’ ayrı seçeneklerdir, site geneli bir değişiklikte ilkini seçin.
Hangi katmanda takıldığını anlamak
Bir de şu ayrıma dikkat edin: değişikliği başka bir cihazdan, örneğin telefonunuzdan açtığınızda görünüyor ama kendi bilgisayarınızda görünmüyorsa, sorun büyük olasılıkla yalnızca o bilgisayarın tarayıcı önbelleğindedir. Çünkü iki cihaz aynı sunucuya bağlanır ama tarayıcı önbellekleri birbirinden bağımsızdır. Bu küçük çapraz kontrol, sunucu tarafını boşuna kurcalamadan sorunu kendi tarayıcınızda sınırlamanızı sağlar.
Gizli pencerede değişiklik görünüyor ama normal pencerede görünmüyorsa suçlu tarayıcı önbelleğidir. Gizli pencerede de eski hâl duruyorsa sorun sunucu tarafındadır, yani eklenti, CDN ya da opcache. Bu basit ayrım, nereyi temizleyeceğinizi gereksiz denemeler yapmadan söyler. Katmanları en yakından en uzağa doğru temizlemek, yani önce tarayıcı, sonra eklenti, sonra CDN, sonra sunucu, genelde en verimli yoldur.
Tekrar yaşamamak için
Önbellek eklentinizi, yazı kaydedildiğinde ilgili sayfanın önbelleğini otomatik temizleyecek şekilde ayarlamak günlük işte çok vakit kazandırır. Çoğu eklentide bu ayar vardır ve varsayılan olarak açıktır. Tasarım üzerinde çalışırken geçici olarak önbelleği kapatmak, her değişiklikte temizlemekle uğraşmanızı önler, iş bitince tekrar açarsınız. CDN kullanıyorsanız dosya sürümleme gibi yöntemler eski kopyaların takılı kalmasını azaltır. Bu düzenle yaptığınız her değişiklik anında yerini bulur.
Bu işleri kendiniz yapmak yerine profesyonel destek isterseniz, WordPress bakım ve teknik destek hizmetime göz atabilirsiniz.
Bu konunun tüm rehberi: WordPress Hataları ve Çözümleri