Vary: Accept-Language başlığı, bir sayfanın içeriğinin talep eden tarayıcının dil tercihlerine göre değiştiğini belirterek web önbellekleri ve arama motorları için özel bir talimat görevi görür. Bu başlığı HTTP yanıtınıza dahil ederek sunucuların farklı dil grupları için bir sayfanın farklı sürümlerini önbelleğe almasını sağlar, Fransa’daki bir kullanıcının önbelleğe alınmış İngilizce bir sayfa alması durumunun önüne geçersiniz. Bu teknik ayar, doğru uluslararası arama indekslemesini sürdürmek için bir gerekliliktir.
Vary başlığı arama motorları için neden önemlidir?
Arama motorları, kullanıcının tercih ettiği dilde en alakalı içeriği sunmaya öncelik verir. Sunucunuz tarayıcı ayarlarına bağlı olarak farklı dil sürümleri sunmak için aynı URL’yi kullandığında, Vary başlığı tarayıcılar için bir kılavuz görevi görür. Bu başlık olmadan bir CDN veya önbellek sayfanızın bir sürümünü saklayabilir ve dil ayarlarından bağımsız olarak bunu herkese sunabilir. Bu, tarayıcının yalnızca önbellek tarafından döndürülen sürümü görebilmesi nedeniyle Google’ın içeriğinizin farklı dil sürümlerini düzgün bir şekilde indekslemesini engeller.

Googlebot başlıklara bağlı olarak farklı yanıt veren bir URL ile karşılaştığında, Vary sinyali yanıtın statik bir hata veya yanlışlık olmadığını doğrular. Arama motoruna değişimin kasıtlı olduğunu bildirir. Bu olmadan arama motoru, sitenin kopya içeriğe sahip olduğunu yanlışlıkla varsayabilir veya daha kötüsü, yanlış dil varyantını tüm bölgeler için kanonik sürüm olarak indeksleyebilir.
Kullanıcının tarayıcısında İngilizce dil ayarlarıyla Japonya’dan göz atma yaptığı bir senaryoyu düşünün. Sunucunuz Vary: Accept-Language başlığını gönderecek şekilde yapılandırılmamışsa, tarayıcı tercihleri açıkça İngilizce tercihini göstermesine rağmen, önbellek kullanıcının IP’si nedeniyle sayfanın Japonca sürümünü sunabilir. Doğru başlık yapılandırması, IP tabanlı konum ile kullanıcı tanımlı dil tercihi arasındaki bu çelişkiyi çözer.
Sunucu taraflı önbellekleme dil başlıkları ile nasıl etkileşime girer?
Önbellekleme katmanları genellikle uluslararası siteleri kötü yönetir çünkü tipik olarak yalnızca URL’ye dayalı olarak önbelleğe alırlar. Siteniz Accept-Language istek başlığına dayalı içerik sunuyorsa, önbellek bu bağımlılığın farkında olmalıdır. Başlık eksikse, önbellek tüm istekleri aynı olarak değerlendirir ve bu da yanlış içerik sunumuna yol açar. Bu, belirli bir bölgeden gelen ilk ziyaretçinin sonraki ziyaretçilerin ne göreceğini belirlediği bir darboğaz yaratır.

Modern CDN’ler önbellek anahtarı normalleştirmesine izin verir. Önbellek anahtarınızın Accept-Language başlık değerini bir parametre olarak içermesini sağlamalısınız. Sunucunuz Vary: Accept-Language başlığını gönderir ancak CDN’niz bunu yoksayarsa, CDN yine de sayfayı ziyaret eden ilk kişinin önbelleğe alınmış sürümünü sunacaktır. Bu, uluslararası kitleler için zayıf bir kullanıcı deneyimiyle sonuçlanan yaygın bir hata noktasıdır.
- HTTP yanıt başlığında ‘Vary: Accept-Language’ göndermek için kaynak sunucunuzu yapılandırın.
- CDN’nizin Vary başlıklarını desteklediğinden ve başlığı önbellek anahtarına dahil edecek şekilde yapılandırıldığından emin olun.
- Tarayıcı geliştirici araçlarını veya curl gibi komut satırı araçlarını kullanarak yanıt başlıklarınızı test edin.
- Farklı dil isteklerinin doğru önbellek sürümlerine isabet ettiğini doğrulamak için sunucu günlüklerinizi izleyin.
- Başlık mevcut olduğunda site içeriğinizin gerçekten değişip değişmediğini kontrol edin.
Dil başlıklarını uygularken karşılaşılan yaygın hatalar nelerdir?
Pek çok geliştirici, Vary başlığının dilden bağımsız her sayfa için gönderilmesi gerektiğini unutur. Bir diğer yaygın hata, başlık mevcut olduğunda içeriğin gerçekten değiştiğinden emin olamamaktır. İçerik aynı kalırsa, Vary başlığını eklemek önbelleğinizde gereksiz parçalanma yaratır, bu da sitenizi yavaşlatır ve kaynak sunucunuzun yükünü gereksiz yere artırır.
Başka bir hata ise Vary dizesini aşırı karmaşıklaştırmaktır. ‘Vary: Accept-Language, User-Agent, Cookie’ gibi çok fazla başlık eklemek düşük önbellek isabet oranlarına yol açabilir. Tek dinamik faktör buysa, Vary başlığını kesinlikle sadece dile odaklı tutun. Ayrıca, her dilin kendi benzersiz URL’sine sahip olduğu statik bir yapı üzerine kurulmuşsa, bu mimaride gereksiz olduğundan Vary başlığını kullanmaktan kaçının.
Bu teknik boşlukları gidererek Google’ın ziyaretçileri kendi özel konumlarına ve dil ayarlarına uyan içeriğe yönlendirmesini sağlarsınız.
Google Search Central
Alien Road Vary başlıklarını nasıl uygular
Alien Road olarak uluslararası projeleri yönetirken katı bir protokol izliyoruz. Tüm bölgesel alt alan adları ve alt klasörler için mevcut sunucu yanıt başlıklarının denetimiyle başlıyoruz. Ardından, müşterilerimizin içeriğinin Googlebot tarafından düzgün bir şekilde indekslenmesini sağlamak için sunucu taraflı dil algılamasını Vary başlığıyla doğru şekilde eşleşecek şekilde yapılandırıyoruz. Yapılandırma ile yetinmiyoruz; önbelleğin beklendiği gibi davranmasını sağlamak için çeşitli uluslararası konumlardan simüle edilmiş istekleri kullanarak bu ayarları doğruluyoruz.
Örneğin, küresel bir e-ticaret müşterisi için tipik bir çalışmada, önce tüm dil yollarını haritalandırıyoruz. Ardından CDN’in önbelleği doğru şekilde ayırdığından emin olmak için başlıkları bir hazırlık (staging) ortamında test ediyoruz. Onaylandıktan sonra, Googlebot’un yönlendirme döngülerine takılmadan sitenin tüm dil sürümlerine hala ulaşabildiğinden emin olmak için Google Search Console ‘Tarama İstatistikleri’ raporunu izleyerek değişiklikleri küçük artışlarla kullanıma sunuyoruz.
- Tüm küresel site sürümlerindeki mevcut HTTP başlıklarını denetleyin.
- Kaynak sunucu düzeyinde tutarlı Vary: Accept-Language sinyalleri uygulayın.
- Dil başlıklarını benzersiz bir tanımlayıcı olarak dahil etmek için CDN önbellek anahtarı yapılandırmalarını doğrulayın.
- Doğru içerik teslimini onaylamak için VPN’ler kullanarak bölgeler arası testler gerçekleştirin.
- Googlebot’un önbellek yanlış yapılandırmaları tarafından engellenmediğinden emin olmak için tarama günlüklerini inceleyin.
Bu hafta uygulamanızı nasıl doğrulayabilirsiniz
Açılış sayfalarınızın yanıt başlıklarını kontrol etmek için tarayıcınızın geliştirici araçlarındaki Ağ (Network) sekmesini kullanarak başlayabilirsiniz. ‘Vary’ alanını arayın ve ‘Accept-Language’ içerdiğini doğrulayın. Eksik olduğunu fark ederseniz, sunucu yapılandırmanızı veya CDN’inizin uç kurallarını güncellemek için mühendislik ekibinizle koordinasyon kurun. Bu basit değişiklik, uluslararası SEO stratejinizin güvenilirliğini artırır ve indeksleme hatalarını önler.
Terminalinizde curl gibi bir araç kullanarak bir test çalıştırın: ‘curl -I -H “Accept-Language: fr” https://example.com/’. Vary başlığı için çıktıyı inceleyin. Bu kontrolü farklı dil dizelerine karşı gerçekleştirerek sunucunuzun önbelleğe doğru talimatlarla yanıt verdiğini onaylayabilirsiniz. Bu, sitenizin küresel bir kitleye hazır olmasını sağlamanın en etkili yoludur.