Bir çok dilli web sitesi , hızdan ödün vermeden doğru çevrilmiş içeriği doğru ziyaretçilere ulaştırmalıdır. İşte bu noktada çok dilli web sitelerini önbelleğe almak hayati önem taşır; çevrilmiş sayfaların daha hızlı yüklenmesine yardımcı olurken sunucunuza yapılan tekrarlanan istekleri azaltır. Ancak, birden fazla dil sürümünü önbelleğe almak, eski çeviriler, yanlış dilde içerik ve arama motoru tarayıcıları için tutarsız sonuçlar gibi zorluklara yol açabilir.
Bu kılavuzda, en yaygın çok dilli önbellekleme sorunlarını inceleyecek ve Cloudflare ile Varnish'in çevrilmiş içeriği nasıl işlediğini açıklayacağız. Doğru önbellekleme stratejisini seçmek, diller arası önbellek isabetlerini önlemek ve çok dilli web siteniz için güvenilir bir kurulum oluşturmak için okumaya devam edin.
Önemli noktalar: Cloudflare & Varnish ile çok dilli web sitesi önbellekleme
Ayrı dil sürümleri
Her çevrilmiş sürümün ayrı olarak depolanmasını ve sunulmasını sağlamak için dile özgü URL'ler veya önbellek anahtarları kullanın. Bu, kullanıcıların yanlış dilde içerik almasını önlemeye yardımcı olur.
Önbellek çakışmalarını önleyin
Varnish ve Cloudflare, URL'lerden, başlıklardan veya çerezlerden gelen dil bilgilerini hesaba katmalıdır. Doğru yapılandırma, diller arası önbellek isabetlerini önler ve ziyaretçilerin doğru çeviriyi almasını sağlar.
Çevirileri güncel tutun
Uygun önbellek TTL'lerini ayarlayın ve çeviriler güncellendiğinde etkilenen önbellekleri temizleyin. Bu, eski içeriğin ziyaretçilere görünür kalmasını önler.
Çok dilli önbellekleme neden önemlidir?

Çok dilli web siteleri, her dil farklı içerik ve URL'ler içerebileceğinden aynı sayfanın birden fazla önbelleğe alınmış sürümüne sahip olabilir. Bu çevrilmiş sürümleri önbelleğe almak, web sitesinin her istek için aynı içeriği tekrar tekrar işlemek yerine mevcut yanıtları yeniden kullanmasını sağlar. Bu, kaynak sunucuya yapılan istekleri azaltabilir, sayfa yükleme sürelerini iyileştirebilir ve ziyaretçiler için daha hızlı bir deneyim sunabilir.
Ancak, çok dilli önbellekleme her dil sürümünü düzgün bir şekilde ayrı tutmalıdır. Önbellekleme sistemi dil varyantları arasında ayrım yapmazsa, Fransızca bir sayfa talep eden bir ziyaretçi bunun yerine önbelleğe alınmış bir İngilizce sürüm alabilir. Benzer şekilde, bir çeviri güncellendiğinde, eski bir önbelleğe alınmış yanıt süresi dolana veya geçersiz kılınana kadar görüntülenmeye devam edebilir.
Önbelleğe alma, arama motoru tarayıcılarının çok dilli sayfalara nasıl eriştiğinde de rol oynar. Her dil URL'si, arama motorlarının yerelleştirilmiş sürümleri doğru şekilde anlayabilmesi ve dizine ekleyebilmesi için ilgili çevrilmiş içeriği tutarlı bir şekilde döndürmelidir. Bu nedenle güvenilir bir önbelleğe alma kurulumu, hreflang, kanonik URL'ler ve dile özgü meta veriler gibi SEO sinyalleriyle birlikte çalışmalıdır.
Çok dilli bir web sitesi önbellekleme stratejisi nasıl oluşturulur

İyi bir çok dilli önbellekleme stratejisi, sayfaları hızlı tutarken ve sunucu isteklerini azaltırken ziyaretçilerin tutarlı bir şekilde doğru dil sürümünü almasını sağlar. İlk adım, web sitenizin her dili nasıl tanımladığına ve önbellekleme sisteminin bu bilgiyi nasıl kullandığına karar vermektir.
URL ve alt alan adı yönlendirmesi
Dile özgü URL'ler, çok dilli önbelleğe almayı öngörülebilir hale getirmenin en basit yollarından biridir. Her dilin kendi URL'si vardır, böylece önbellek her sürümü ayrı ayrı depolayıp sunabilir. Örneğin, example.com/fr/ Fransızca sürümü temsil ederken, example.com/de/ Almanca sürümü temsil edebilir.
Dile özgü alt alan adları da benzer şekilde çalışır. Bir web sitesi Fransızca için fr.example.com ve Almanca için de.example.com kullanabilir. Dil doğrudan URL'ye dahil edildiği için, ziyaretçiler ve önbellekleme sistemleri hangi sürümün sunulacağını kolayca belirleyebilir. Yaygın URL yapıları şunları içerir:
- example.com/fr/
- example.com/de/
- fr.example.com
- de.example.com
Başlık tabanlı dil algılama
Web siteleri, bir ziyaretçinin tercih ettiği dili HTTP başlıkları aracılığıyla, özellikle de tarayıcının gönderdiği Accept-Language başlığıyla belirleyebilir. Örneğin, Fransızca için yapılandırılmış bir tarayıcı Accept-Language: fr gönderebilir ve sunucunun Fransızca sürümü otomatik olarak seçmesini sağlayabilir.
Ancak, başlık tabanlı algılama dikkatli bir önbellek yapılandırması gerektirir. Önbellek yalnızca sayfa URL'sini dikkate alıp dil başlığını yok sayarsa, bir dil sürümünü saklayıp farklı bir dil tercihi olan ziyaretçilere sunabilir. Bu nedenle önbellek anahtarı veya Vary davranışı ilgili dil bilgisini hesaba katmalıdır. Örneğin:
- Accept-Language: en
- Accept-Language: fr
- Accept-Language: de
Çerez tabanlı dil algılama
Başka bir yaklaşım, ziyaretçinin dil tercihini bir çerezde saklamaktır. Bir ziyaretçi bir dil seçtiğinde, web sitesi bu seçimi kaydedebilir ve sonraki istekler için kullanabilir. Bu, özellikle ziyaretçiler tarayıcı ayarlarına güvenmek yerine manuel olarak bir dil seçtiğinde daha tutarlı bir deneyim sağlayabilir.
Zorluk, çerezlerin önbelleğe almayı karmaşıklaştırabilmesidir. Önbellek, istekleri dil çerezine göre ayırt etmezse, ziyaretçiler başka bir dil için hazırlanmış önbelleğe alınmış bir sayfa alabilir. Bu nedenle önbelleğe alma katmanı, gerektiğinde önbelleği değiştirecek veya atlayacak şekilde yapılandırılmalıdır. Örneğin:
- language=en
- language=fr
- language=de
Önbellekleme stratejisi seçme
En iyi önbellekleme stratejisi, web sitenizin dil seçimini nasıl ele aldığına bağlıdır. URL tabanlı dil yönlendirmesi genellikle önbelleğe alınması daha kolaydır çünkü her dilin benzersiz bir URL'si vardır. Başlık ve çerez tabanlı algılama hâlâ çalışabilir, ancak önbelleğe alınan yanıtların doğru şekilde ayrılmasını sağlamak için daha dikkatli bir yapılandırma gerektirir.
Bir yaklaşım seçmeden önce, dil sayısını, ziyaretçilerin dilleri nasıl seçtiğini ve çevrilmiş içeriğin ne sıklıkla değiştiğini göz önünde bulundurun. Amaç, önbellekleme katmanının her isteği aynı sayfa olarak değerlendirmesine izin vermek yerine, dil algılama ve önbellek davranışının birlikte çalışmasını sağlamaktır. Dikkate alınması gereken temel faktörler:
- Dile özgü URL'ler
- Önbellek anahtarı yapılandırması
- Başlık ve çerez işleme
- Önbellek TTL
- Önbellek geçersiz kılma
- Çeviri güncelleme sıklığı
- Arama motoru taraması
Varnish çok dilli ve çevrilmiş içeriği nasıl önbelleğe alır

Varnish Cache, ziyaretçiler ile kaynak sunucu arasında ters proxy olarak çalışır. Bir ziyaretçi bir sayfa talep ettiğinde, Varnish geçerli bir önbelleğe alınmış yanıtın mevcut olup olmadığını kontrol eder. Eşleşen bir yanıt bulursa, isteği kaynağa geri göndermeden önbelleğe alınmış içeriği sunar. Uygun bir yanıt yoksa, Varnish isteği kaynağa iletir, yanıtı alır ve sonraki istekler için saklayabilir.
Çok dilli web siteleri için Varnish, farklı dil sürümlerini döndürmesi gereken istekleri birbirinden ayırt etmelidir. Bu nedenle Varnish önbelleğe alınmış bir yanıtın yeniden kullanılıp kullanılamayacağını belirlerken dil bilgisi dikkate alınmalıdır. Bu, önbelleğin farklı çevirileri aynı yanıt olarak değerlendirmesini önler.

Dile özgü önbellek anahtarları
Varnish'in, farklı dil sürümlerini temsil eden önbelleğe alınmış yanıtları ayırt etmek için bir yola ihtiyacı vardır. Dil zaten URL'de yer alıyorsa, her URL doğal olarak farklı bir önbellek girdisiyle eşleşebilir. Dil bir istek başlığı, çerez veya başka bir istek değeriyle belirlendiğinde, Varnish yapılandırmasının bu bilgiyi önbellekleme mantığına dahil etmesi gerekir. Örneğin, çok dilli bir site önbelleğe alınmış yanıtları şu şekilde ayırt edebilir:
- /en/about/ → İngilizce önbellek girdisi
- /fr/about/ → Fransızca önbellek girdisi
- Accept-Language: en → İngilizce varyasyonu
- Accept-Language: fr → Fransızca varyasyonu
- Bir dil çerezi → Ziyaretçinin seçtiği dil
Kesin uygulama, web sitesinin dili nasıl belirlediğine bağlıdır. Temel gereksinim, farklı çevrilmiş yanıtlar üreten isteklerin aynı önbelleğe alınmış nesneye çözümlenmemesidir.
Diller arası isabetlerin önlenmesi
Varnish, bir dil için önbelleğe alınmış bir yanıtı başka bir dil talep eden bir ziyaretçiye döndürdüğünde diller arası önbellek isabeti gerçekleşir. Örneğin, Fransızca bir sayfa talep eden bir ziyaretçi, her iki istek de aynı önbelleklenebilir kaynak olarak değerlendirilirse İngilizce bir yanıt alabilir.
Bu riski azaltmak için Varnish, önbelleğe alınmış bir yanıtı yalnızca dil varyasyonu biliniyorsa ve istekle eşleşiyorsa yeniden kullanmalıdır. Dil güvenilir bir şekilde belirlenemiyorsa, yanıt paylaşılan bir önbellek girdisi olarak saklanmak yerine dikkatli bir şekilde ele alınmalıdır. Önemli koruma önlemleri şunları içerir:
- Belirsiz dil bilgisi içeren yanıtları önbelleğe almaktan kaçının
- Dil çerezlerini ve başlıklarını tutarlı bir şekilde yönetin
- Farklı dil istekleri için önbellek isabetlerini ve ıskalarını test edin
- Önbelleğe alma etkinleştirildikten sonra dil değişimini doğrulayın
Varnish önbellek geçersiz kılma
Önbellek geçersiz kılma, önbelleğe alınmış içeriği kaldırır veya artık geçerli olmadığını işaretler. Bu, orijinal içerik veya çevirisi güncellendiğinde önemlidir. Geçersiz kılma olmadan Varnish, yapılandırılmış TTL süresi dolana kadar eski bir önbelleğe alınmış sürümü sunmaya devam edebilir.
Çok dilli web siteleri için, geçersiz kılma işlemi etkilenen tüm dil sürümlerini hesaba katmalıdır. Bir İngilizce sayfa ve Fransızca çevirisi güncellendiğinde, ziyaretçilerin eski içerik görmemesi için ilgili önbelleğe alınmış yanıtlar temizlenmeli veya yenilenmelidir. Yaygın yaklaşımlar şunlardır:
- Belirli URL'leri temizleme
- Birden fazla dil sürümünü temizleme
- Önbellek TTL'lerini kullanma
- İçerik güncellemelerinden sonra otomatik olarak temizleme
- Etkilenen çevrilmiş sayfaları yenileme
Cloudflare çok dilli içeriği uçta nasıl önbelleğe alır

Cloudflare, ziyaretçiler ile kaynak sunucunuz arasında bir uç önbellekleme katmanı olarak çalışır. Bir ziyaretçi bir sayfa talep ettiğinde, Cloudflare bir uç konumunda önbelleğe alınmış bir sürümün mevcut olup olmadığını kontrol eder. Geçerli bir yanıt varsa, sayfayı kaynak sunucudan talep etmek yerine doğrudan uçtan sunulabilir. Önbelleğe alınmış bir yanıt yoksa, Cloudflare içeriği kaynaktan alır ve sonraki istekler için yanıtı önbelleğe alabilir.
Çok dilli web siteleri için bu sürecin istenen dili hesaba katması gerekir. Cloudflare, farklı dil sürümlerini ayırt edebilmelidir; böylece önbelleğe alınmış bir İngilizce yanıt, Fransızca sürümü isteyen birine sunulmaz. Bu, çevrilmiş içerik farklı URL'ler, başlıklar veya çerezler aracılığıyla sunulduğunda dil farkındalıklı önbellek yapılandırmasını önemli kılar.

Dil sürümlerini ayırma
Cloudflare, her sürümün farklı bir URL'si olduğunda farklı dil sürümlerini ayrı ayrı önbelleğe alabilir. Örneğin, /en/, /fr/ ve /it/ sırasıyla İngilizce, Fransızca ve İtalyanca içeriği temsil edebilir. Dil doğrudan URL'ye dahil edildiğinden, her sürümün kendi önbellek girdisi olabilir; bu da tek tek dil sürümlerini yönetmeyi ve temizlemeyi kolaylaştırır. Örneğin:
- example.com/en/products/
- example.com/fr/products/
- example.com/it/products/
Cloudflare önbellek anahtarları ve dil varyasyonları
Cloudflare, farklı dil girdilerinin farklı yanıtlar üretebildiği durumlarda istekleri ayırt etmelidir. URL tabanlı dil yönlendirmesi ile bu ayrım doğal olarak gerçekleşir çünkü her dilin kendi URL'si vardır.
Dil, Accept-Language başlığı veya bir çerez tarafından belirlendiğinde daha fazla dikkat gerekir. Bu değerler çevrilmiş yanıtı etkiliyor ancak önbelleğe alma yapılandırması tarafından işlenmiyorsa, farklı diller için istekler aynı kaynak olarak değerlendirilebilir. Bu, başka bir dil isteyen ziyaretçilere bir dilin sunulmasına neden olabilir.
Çoğu çok dilli web sitesi için URL tabanlı yönlendirme yönetimi daha kolaydır çünkü dil doğrudan URL'de görünür. Başlık ve çerez tabanlı algılama da işe yarayabilir, ancak farklı dil yanıtlarının yanlış şekilde paylaşılmamasını sağlamak için ek yapılandırma gerektirir.
Önbellek TTL'leri ve temizleme
Bir önbellek TTL'si (Time to Live), Cloudflare'in önbelleğe alınmış bir yanıtı süresi dolmadan önce ne kadar süreyle sakladığını belirler. Daha uzun bir TTL performansı iyileştirebilir çünkü içerik daha uzun süre önbellekte kalır; daha kısa bir TTL ise değişikliklerin daha erken kullanılabilir hale gelmesini sağlar.
Çok dilli web siteleri için TTL'ler, içeriğin ve çevirilerin ne sıklıkla değiştiğini yansıtmalıdır. Sık güncellenen sayfalar daha kısa TTL'lere ihtiyaç duyabilirken, sabit sayfalar genellikle daha uzun olanları kullanabilir. Bir çeviri değiştiğinde, TTL'nin süresinin dolmasını beklemek yerine etkilenen dil sürümü temizlenmeli veya yenilenmelidir. Bu, ziyaretçilerin güncel olmayan çeviriler almasını önlemeye yardımcı olur. Önbelleğe alma stratejisi şunları içerebilir:
- Sık güncellenen içerik için kısa TTL
- Kararlı sayfalar için daha uzun TTL
- URL'ye özgü önbellek kuralları
- Manuel önbellek temizleme
- Güncellemelerden sonra otomatik temizleme
Çok dilli web sitelerini önbelleğe alma için en iyi uygulamalar

İyi planlanmış bir önbellekleme kurulumu, ziyaretçilerin yanlış veya güncel olmayan çeviri almasına neden olmadan çok dilli web sitelerini daha hızlı hale getirebilir. Anahtar, her dil sürümünü açıkça ayırırken çeviri sisteminiz ile önbellekleme katmanınızın birlikte çalışmasını sağlamaktır.
Çeviri ve önbelleğe almayı birleştirin
Çeviri ve önbellekleme, aynı içerik sunma sürecinin bir parçası olarak birlikte çalışmalıdır. Çeviri katmanı hangi yerelleştirilmiş sürümün döndürüleceğini belirlerken, önbellekleme katmanı bu yanıtı sonraki istekler için saklar. Önemli olan zamanlamadır: dil, yanıt önbelleğe alınmadan önce belirlenmelidir. Bu, önbelleğin başka bir dil için yeniden kullanılabilecek belirsiz bir sürüm yerine gerçekte istenen çevrilmiş yanıtı saklamasını sağlar.
Otomatik çeviri kullanan web siteleri için, Linguise gibi bir çeviri çözümü, çevrilmiş sayfaların web sitesinin mevcut önbellekleme yapısıyla çalışmasına olanak tanırken otomatik olarak yerelleştirilmiş içerik oluşturarak bu süreci basitleştirebilir. Bu, çevrilmiş sürümleri manuel olarak yönetmenin ve bunları önbelleğe alınmış içerikle senkronize tutmanın daha karmaşık hale gelebildiği çok dilli web siteleri için faydalı olabilir.
En iyi uygulama: Tam sayfa önbelleğe almayı etkinleştirmeden önce, çeviri sisteminizin ve önbelleğe alma katmanınızın dil sürümlerinin nasıl tanımlandığı konusunda hemfikir olduğundan emin olun.
Dile özgü önbellek anahtarları kullanın
Her çevrilmiş yanıt doğru önbellek varyasyonuna eşlenmelidir. URL tabanlı dil yapıları bunu kolaylaştırır çünkü her dilin zaten ayrı bir URL'si vardır; başlık veya çerez tabanlı kurulumlar ise ek önbellek yapılandırması gerektirir.
En iyi uygulama: Mümkün olduğunda dile özgü URL'leri tercih edin, örneğin:
- /en/about/ → İngilizce
- /fr/about/ → Fransızca
- /de/about/ → Almanca
Bu, dil sürümleri arasında net bir ayrım sağlar ve diller arası önbellek isabeti riskini azaltır.
Cache-control ve TTL'leri ayarlayın
Cache-Control başlıkları ve TTL'ler, tarayıcıların, CDN'lerin ve ters proxy'lerin önbelleğe alınmış içeriği nasıl işlediğini belirler. Bunları doğru şekilde ayarlamak, web sitesi performansını güncel çeviriler sunma ihtiyacıyla dengelemenize yardımcı olur.
Nadiren değişen sayfalar genellikle daha uzun süre önbellekte kalabilirken, sık güncellenen içerikler daha kısa TTL'ler kullanmalıdır. Doğru ayar, web sitesi içeriğinizin ve çevirilerinizin ne sıklıkla güncellendiğine bağlıdır.
En iyi uygulama: Örneğin, statik bir çok dilli açılış sayfası için daha uzun bir TTL, sık değişen ürün veya haber sayfaları için daha kısa bir TTL kullanabilirsiniz. Güncellenen içeriğin beklendiği zaman kullanılabilir hale geldiğinden emin olmak için yapılandırmayı her zaman test edin.
Güncellemelerden sonra önbellekleri temizleyin
İçerik veya çeviriler değiştiğinde, yalnızca TTL süresinin dolmasına güvenmek yerine etkilenen önbelleğe alınmış yanıtları temizleyin veya yenileyin. Bu, ziyaretçilerin etkilenen tüm dillerde en son sürümü almasını sağlamaya yardımcı olur.
En iyi uygulama: İçerik güncelleme iş akışınıza önbellek geçersiz kılmayı dahil edin ve etkilenen tüm dil sürümlerinin kapsandığından emin olun.
Önbelleğe alınmış çok dilli sayfaları test edin
Test yapmak önemlidir çünkü önbellekleme sorunları normal gezinme sırasında her zaman görünmez. Bir sayfa doğrudan erişildiğinde doğru görünebilir ancak önbelleğe alınmış bir yanıttan sunulduğunda yanlış dil döndürebilir.
Önbellek kurallarınızı yapılandırdıktan veya değiştirdikten sonra her dil sürümünü test edin. Doğru önbelleğe alınmış yanıtın tutarlı bir şekilde döndürüldüğünü onaylamak için hem ilk istekleri hem de sonraki istekleri kontrol edin.
En iyi uygulama: Şu gibi senaryoları test edin:
- Aynı sayfayı farklı dillerde açma
- Önbelleğe alınmış bir sayfayı yeniden yükleme
- Diller arasında geçiş yapma
- Bir çeviriyi güncelleme
- Önbellek temizliğinden sonra sayfayı kontrol etme
- Dile özgü URL'leri tarama
Çok dilli önbelleğe alma kontrol listesi
Çok dilli önbelleğe alma kurulumunuzu üretime almadan önce, dil algılama, önbelleğe alma ve içerik güncellemelerinin birlikte doğru şekilde çalıştığını doğrulamak için basit bir kontrol listesi kullanın.
En iyi uygulama kontrol listesi:
- Her dil sürümüne benzersiz bir URL veya önbellek varyasyonu verin
- Dile özgü önbellek anahtarları kullanın
- Uygun Cache-Control başlıklarını yapılandırın
- TTL'leri içerik güncelleme sıklığına göre ayarlayın
- Güncellemelerden sonra etkilenen dil sürümlerini temizleyin
- Önbelleğe alınmış sayfaları desteklenen her dilde test edin
- Yanlış dildeki yanıtları kontrol edin
- Eski çevrilmiş içerik olup olmadığını kontrol edin
- Dile özgü URL'leri arama motoru tarayıcılarıyla doğrulayın
Sonuç
Çok dilli web sitelerini etkili bir şekilde önbelleğe almak, web sitesi performansı ile her ziyaretçiye doğru ve güncel dil sürümünü sunma arasında bir denge gerektirir. Dile özgü önbellek anahtarları, uygun TTL'ler ve güvenilir önbellek geçersiz kılma kullanarak, yanlış dilde ve eski içeriği önlerken sunucu isteklerini azaltabilirsiniz.
Çevrilmiş içeriği yönetmenin daha basit bir yolu için, Linguise'a kaydolun Linguise ve otomatik çeviri ile çok dilli web sitesi iş akışınızı kolaylaştırırken yerelleştirilmiş içeriğinizi hızlı ve yönetilebilir tutun.



