GTranslate Eklentisinde Dil Değiştirirken Geri Tuşu Sorunu ve JS ile Kalıcı Çözüm

GTranslate, WordPress sitelerde hızlı ve pratik çok dilli yapı kurmak için sıkça kullanılan bir eklentidir. Ancak eklentinin ücretsiz sürümünde, dil değiştirildikten sonra tarayıcı geri tuşu kullanıldığında sayfanın yeniden yüklenmemesi gibi bir sorunla karşılaşılabilir.
Sorunun Kaynağı
GTranslate’in ücretsiz sürümü, sayfaları varsayılan dilde (Türkçe) yükler ve ardından JavaScript aracılığıyla seçilen dile çeviri uygular. Tarayıcılar ise geri tuşu kullanıldığında sayfayı yeniden çağırmak yerine önbellekten (bfcache) yükler.
Bu durumda:
- Sayfa Türkçe olarak geri gelir
- GTranslate’in çeviri JavaScript’i tekrar çalışmaz
- Dil seçimi bozulmuş gibi görünür
Bu durum WordPress’ten değil, tarayıcı davranışı ve JavaScript tabanlı çeviri mantığından kaynaklanır.
JS ile Geri Tuşu Sorununun Çözümü
Ücretli sürüme geçmeden bu problemi aşmanın en pratik yolu, tarayıcı geri tuşu kullanıldığında sayfanın yeniden yüklenmesini sağlamaktır.
Aşağıdaki JavaScript kodunu tema footer.php dosyanıza ya da Custom JS alanına ekleyebilirsiniz:
Kod Ne İşe Yarar?
- Tarayıcının geri/ileri tuşu algılanır
- Sayfa önbellekten geliyorsa tespit edilir
- Sayfa yeniden yüklenir
- GTranslate çevirisi sorunsuz şekilde tekrar uygulanır
Dikkat Edilmesi Gerekenler
- Bu yöntem yalnızca geri / ileri tuşu için çalışır
- Normal sayfa geçişlerinde ekstra yükleme yapmaz
- Cache eklentileri kullanılıyorsa (WP Rocket, LiteSpeed vb.) JS dosyasının minify/defer dışında bırakılması gerekebilir
Sonuç
GTranslate’in ücretsiz sürümünde yaşanan geri tuşu problemi, basit bir JavaScript müdahalesiyle çözülebilir. Daha kalıcı ve SEO dostu bir yapı isteyen kullanıcılar için ise URL tabanlı dil yapısı (ücretli sürüm) önerilmektedir.
Kodlar Kodlayana, Kahveler Bana! ☕
Burada paylaştığım içerikler projelerinde işine yaradıysa veya sana zaman kazandırdıysa, bir kahve ısmarlayarak desteğini gösterebilirsin. Bu destek, daha fazla içerik üretmem için motive edici olacaktır.
☕ Bana Bir Kahve Ismarla


