Uluslararası SEO için Geo-Yönlendirmeler
Geo-yönlendirmelerin uluslararası taramayı ve hreflang keşfini nasıl bozduğunu, Googlebot'un ABD IP'lerinden tarama davranışını, yalnızca ana sayfadaki 302 istisnasını ve ziyaretçiye yerel sürümü zorlamak yerine önermeyi anlatır.
Diller
Geo-yönlendirme, ziyaretçiyi IP, Accept-Language veya çerez sinyaline göre konuma ya da dile özel bir URL'ye otomatik gönderir. 374 756 alan adını incelediğim çalışmadan çıkardığım sonuç nettir: çerez, IP veya tarayıcı diline dayalı otomatik yönlendirmeler genellikle kötü fikirdir. Asıl hata yalnızca dizine eklemeyle değil, keşifle ilgilidir. Googlebot çoğunlukla ABD IP'lerinden tarar ve Accept-Language göndermez; giriş noktasındaki bir yönlendirme bu nedenle tarayıcıyı varsayılan sürüme hapsedip hreflang'ın gösterdiği alternatif URL'lere ulaşmasını engelleyebilir. Geo-yönlendirme bir sunma mekanizması, hreflang ise ayrı bir keşif sinyalidir; biri diğerinin yerini tutmaz. Google'ın önerisi daha iyi yönlendirmek değil, banner veya bağlantı listesiyle yerel sürümü önermek ve doğru hreflang kullanmaktır. Savunulabilir dar istisna, dinamik yerel ayar önerisi için yalnızca ana sayfada kullanılan 302'dir; buna karşın çalışmadaki alan adlarının %16,9'unda hreflang yönlendirilmiş ya da bozuk sayfalara işaret ediyordu.
TL;DR — Geo-yönlendirme, ziyaretçinin nerede bulunduğuna veya hangi dili kullandığına ilişkin bir tahmine — çoğunlukla IP adresine ya da tarayıcı diline — dayanarak onu sitenin başka bir sürümüne otomatik gönderir: örneğin bir
/de/sayfasına, Almanca alan adına veya alt alan adına. Yararlı görünse de uluslararası sitelerin kendi sayfalarını Google’dan yanlışlıkla gizlemesinin en yaygın nedenlerinden biridir. Daha güvenli yaklaşım, yerel sürümü zorlamak yerine banner ya da bağlantıyla önermektir.
Geo-yönlendirme nedir?
İngilizce ve Almanca sürümleri bulunan bir siteniz olduğunu düşünün. Geo-yönlendirme kabaca şu kuralı uygular: “Ziyaretçi Almanya’da görünüyor ya da tarayıcısı Almancaya ayarlıysa onu otomatik olarak Almanca sürüme gönder.” Ziyaretçi böyle bir talepte bulunmaz; sunucu veya betik şu sinyallerden hareketle onun adına karar verir:
- yaklaşık olarak ülkeyle eşleşen IP adresi,
- tarayıcının
Accept-Languageayarı veya - önceki seçimi hatırlayan bir çerez.
İlk bakışta kullanışlı görünen bu davranışın asıl sorunu, arama motorlarına etkisidir.
SEO açısından neden riskli?
Sayfalarınızı bulup okuyan ve arama sonuçlarına girmelerini sağlayan tarayıcı Googlebot’tur. Uluslararası sitelerin sıkça gözden kaçırdığı nokta şudur: Googlebot çoğunlukla ABD’deki IP adreslerinden tarama yapar ve dil tercihi göndermez.
Evidence for this claim Google warns that language- or location-based rerouting can prevent it from finding site variations because Googlebot usually crawls from the US and does not send Accept-Language. Scope: Google Search crawling behavior for locale-adaptive pages. Confidence: high · Verified: Google: Managing multilingual sitesAna sayfanız ABD’den geliyor gibi görünen ziyaretçileri otomatik olarak İngilizce sürüme gönderiyorsa, aynı görünüme sahip Googlebot da her istekte İngilizce sürüme gider. Almanca, Fransızca veya Japonca sayfalara uzanan yolu kendi başına hiç izlemeyebilir. Google bu sayfalara ulaşamazsa onları dizine ekleyemez; sayfalar da sıralama alamaz. Başka bir deyişle, Almanca siteyi kurar ama insanların onu bulabilmesini sağlayacak tarayıcıya farkında olmadan duvar örersiniz.
İnsanların ters anladığı nokta
İlişkili hreflang etiketi, arama motorlarına bir sayfanın diğer dil veya ülke sürümlerini bildirir. Birçok kişi hreflang’ın geo-yönlendirmenin bozduğu her şeyi düzelteceğini varsayar. Oysa durum tersidir: hreflang, tarayıcının erişmesine izin verilmeyen bir sayfaya yardımcı olamaz. Yönlendirme, Google’ın hreflang etiketlerini daha ilk aşamada görmesini engelleyebilir. Ayrıntılı işleyiş için bu sitedeki hreflang giriş yazısına bakabilirsiniz.
Bunun yerine ne yapmalı?
Google’ın tavsiyesi kısa ve nettir: zorlamayın, önerin. Otomatik yönlendirme yapmak yerine:
- Küçük bir banner gösterin (“Almanya’da görünüyorsunuz — Almanca siteyi açmak ister misiniz?”); ziyaretçi tıklayabilsin veya öneriyi yok sayabilsin.
- İnsanların ve tarayıcıların ulaşabilmesi için sayfada her dil sürümüne bağlantı verin. Evidence for this claim Google recommends avoiding automatic language redirects and providing hyperlinks that let users and crawlers reach each language version. Scope: Google Search guidance for language switching and discovery. Confidence: high · Verified: Google: Let users switch language
- Arama motorlarının doğru sürümü kendi başına bulup sunabilmesi için hreflang ekleyin.
Böylece kullanıcıya kendi dili hatırlatılırken Google her sürümü tarayıp dizine eklemeye devam edebilir. 302 ile 301 arasındaki farkı, yönlendirmenin savunulabileceği tek dar istisnayı ve uygulamanın ne sıklıkta bozulduğunu görmek için Advanced sekmesine geçin.
Geo-yönlendirme hatalarını giderme
Alternatif yerel ayarlar taramada yok
Belirti: Tarayıcı her denemede varsayılan yerel ayara düşüyor. Olası neden: IP, çerez veya Accept-Language tabanlı yönlendirme, istekleri doğrudan yerel ayar URL’lerinden uzaklaştırıyor. Düzeltme: Her yerel ayar URL’sinin doğrudan yanıt vermesini sağlayın; zorunlu yönlendirmeyi görünür bir öneriyle değiştirin.
Hreflang hedefleri yönlendirme döndürüyor
Belirti: Açıklamalar son sayfalar yerine 3xx yanıtlarına işaret ediyor. Olası neden: Yerel ayar haritası yeniden oluşturulmadan yönlendirme veya URL normalleştirmesi değişti. Düzeltme: Hreflang’ı doğrudan canonical 200 hedeflerine güncelleyin ve her küme üyesini yeniden test edin.
Yönlendirmeden sonra kullanıcılar geri dönemiyor
Belirti: Başka bir yerel ayar seçmek ziyaretçiyi hemen varsayılan pazara gönderiyor. Olası neden: IP mantığı, kullanıcının açık seçimini geçersiz kılıyor. Düzeltme: Seçilen yerel ayara öncelik verin, kalıcı ve taranabilir değiştirici bağlantıları sunun; çerezi seçimi zorlamak için değil, hatırlamak için kullanın.
Botlar ve eşdeğer kullanıcılar farklı içerik alıyor
Belirti: Aynı istek yolu ve yerel ayar bağlamı bota özel yönlendirme üretiyor. Olası neden: Keşif sorunlarını aşmak için bir tarayıcı istisnası eklendi. Düzeltme: Yalnızca bota uygulanan davranışı kaldırın ve tüm eşdeğer istekler için erişim sorununu çözün; bot istisnaları ayrı bir cloaking riski yaratır.
Geo-yönlendirme davranışını kendiniz test edin
Varsayılan isteği dil tercihleriyle karşılaştırma
İlk argüman olarak temsili bir yerel ayar giriş noktasını verin. Bu, üstbilgiye bağlı yönlendirmeyi test eder; başka bir IP konumunu taklit etmez.
url="${1:?Pass a representative entry URL as the first argument}"
for language in "" "en-US,en;q=0.9" "fr-FR,fr;q=0.9"; do
echo "Accept-Language: ${language:-<none>}"
curl -sS -o /dev/null -D - ${language:+-H "Accept-Language: $language"} "$url" \
| grep -Ei '^(HTTP/|location:|vary:|set-cookie:)'
doneBildirilen yerel ayar hedeflerinin doğrudan çözümlendiğini kontrol edin
Her satıra beklenen bir yerel ayar URL’si yazın: locale-urls.txt.
while IFS= read -r url; do
curl -sS -o /dev/null -w '%{http_code}\t%{redirect_url}\t%{url_effective}\n' "$url"
done < locale-urls.txtSağlıklı bir hedef genellikle boş bir yönlendirme hedefiyle 200 döndürür. Yönlendirmeleri izleyip gizlemek yerine kasıtlı istisnaları inceleyin.
Bir geo-yönlendirme değişikliğini doğrulama
Doğrudan yerel ayar erişimi
Çalıştırılacak test: Temsili yerel ayar URL’lerine çerez olmadan ve yönlendirmeleri izlemeksizin istek gönderin. Beklenen sonuç: Her hedeflenen yerel ayar kendi doğrudan 200 yanıtını döndürür. Başarısızlık yorumu: Yönlendirme, açıkça belirtilen URL’yi geçersiz kılıyor ve keşfi engelleyebilir. İzleme aralığı: Dağıtımdan hemen sonra ve bir sonraki planlı taramaya kadar. Geri alma tetikleyicisi: Öncelikli herhangi bir yerel ayar, yönlendirme zinciri olmadan erişilemez hâle gelirse.
İstek üstbilgisi matrisi
Çalıştırılacak test: Aynı giriş URL’sini Accept-Language üstbilgisi olmadan ve desteklenen dil tercihleriyle karşılaştırın. Beklenen sonuç: İçerik erişilebilir kalır ve yerel ayar önerisi başka bir sürüme geçişi engellemez. Başarısızlık yorumu: Üstbilgi tabanlı mantık bir yerel ayarı zorluyor veya kullanıcı seçimini kilitliyor. İzleme aralığı: Sürüm doğrulaması sırasında ve ilk tam trafik döngüsü boyunca. Geri alma tetikleyicisi: İstekler açıkça seçilmiş bir yerel ayardan uzağa yönlendirilirse.
Hreflang hedef yanıtı
Çalıştırılacak test: Temsili kümelerden hreflang hedeflerini çıkarın ve her birine yönlendirmeleri izlemeden istek gönderin. Beklenen sonuç: Her açıklama doğrudan dizine alınabilir canonical 200 URL’sine çözümlenir. Başarısızlık yorumu: Yerel ayar haritası güncel değildir veya yönlendirme hreflang ile çelişir. İzleme aralığı: Sürümden sonra ve bir sonraki site haritası ya da şablon üretiminden sonra tekrar. Geri alma tetikleyicisi: Önemli bir küme yönlendirilmiş, engellenmiş veya hata veren hedeflere işaret ederse.
Eşdeğer istek eşliği
Çalıştırılacak test: Diğer koşulları eşdeğer olan isteklerde sıradan ve tarayıcı kullanıcı aracısını karşılaştırın. Beklenen sonuç: Durum, hedef ve esas içerik eşdeğerdir. Başarısızlık yorumu: Bota özel işleme, erişim sorunlarını maskeleyebilir ve cloaking riski yaratabilir. İzleme aralığı: Her yönlendirme sürümünde ve sonrasında üç ayda bir. Geri alma tetikleyicisi: Yalnızca bota uygulanan istisnalar eşdeğer isteklerin hedefini veya içeriğini değiştirirse.
Evidence for this claim Google warns that language- or location-based rerouting can prevent it from finding site variations because Googlebot usually crawls from the US and does not send Accept-Language. Scope: Google Search crawling behavior for locale-adaptive pages. Confidence: high · Verified: Google: Managing multilingual sites Evidence for this claim Google recommends avoiding automatic language redirects and providing hyperlinks that let users and crawlers reach each language version. Scope: Google Search guidance for language switching and discovery. Confidence: high · Verified: Google: Let users switch languageTL;DR — Geo-yönlendirme ile hreflang farklı katmanlarda çalışır: geo-yönlendirme sunma kararıdır, hreflang ise keşif sinyalidir. Temel sorun yalnızca dizine ekleme değil, keşiftir — Googlebot çoğunlukla ABD IP’lerinden tarar ve
Accept-Languagegöndermez; bu nedenle giriş noktanızdaki bir yönlendirme hreflang’ın işaret ettiği alternatif URL’lere ulaşmasını (dolayısıyla onları keşfetmesini) engelleyebilir. Tarayıcının hiç görmediği bir URL’yi hreflang kurtaramaz. Cloaking ayrı bir risktir: tamamen kurallara uygun ve cloaking yapmayan bir yönlendirme bile keşif sorununu yaratabilir. Google’ın reçetesi “önerin, zorlamayın” şeklindedir (banner/bağlantılar + hreflang). Tek dar istisna, dinamik yerel ayar önerisi için yalnızca ana sayfadaki 302’dir; ancak 374 756 alan adını incelediğim çalışmada %16,9’unda hreflang yönlendirilmiş veya bozuk sayfalara işaret ediyordu; bu, istisnanın tam olarak yanlış uygulanmasıdır.
İki mekanizma, iki farklı katman
Neredeyse her geo-yönlendirme hatası, yığının farklı katmanlarında yaşayan iki şeyi birbirine karıştırmaktan doğar:
- Geo-yönlendirme bir sunma kararıdır: Bu belirli ziyaretçiye, onun hakkında bildiğimi sandığım şeylere dayanarak şu anda ne göstereyim?
- hreflang bir keşif/ek açıklama sinyalidir: Bu içerik için hangi alternatif URL’ler var; arama motoru onları bulup kendi sonuçlarında doğru olanla nasıl değiştirsin?
Bunlar birbirinin yerine geçmez. Geo-yönlendirme tek bir ziyaretçinin gördüğünü değiştirir; hreflang, arama motorlarına alternatiflerin var olduğunu söyler ve sunma anında kimseyi zorlamadan sorgu anında doğru sürümü sunmalarını sağlar. Bu yazıdan tek bir şey hatırlayacaksanız bu ayrım olsun — kırılmaların çoğu yönlendirmeyi keşif sinyali sanmaktan kaynaklanır.
Temel mekanik hata: yalnızca dizine ekleme değil, keşif
Rakip içeriklerin çoğunun biraz yanlış çerçevelediği bölüm burasıdır. Riski “diğer sayfalarınız dizine eklenmez” diye anlatırlar. Daha keskin ve doğru çerçeve şudur: diğer sayfalarınız en başta hiç taranmayabilir — yani hiç keşfedilmeyebilir.
Google nedeni açıkça belirtir. Yerel ayara uyarlanan sayfalar belgesine göre, site ziyaretçinin algılanan ülkesine veya tercih ettiği dile bağlı olarak farklı içerik döndürüyorsa “Google might not crawl, index, or rank all your
content for different locales.”
(çeviri) “Google, farklı yerel ayarlara ait içeriğinizin tamamını taramayabilir, dizine eklemeyebilir veya sıralamayabilir.”
Bunun nedeni, Googlebot’un varsayılan IP’lerinin ABD’de görünmesi ve tarayıcının Accept-Language değerini ayarlamadan HTTP isteği göndermesidir.
Şimdi bunu tipik bir kurulumda izleyelim. Yönlendirme mantığınız IP ve/veya Accept-Language üzerinde çalışır ve giriş noktasında — çoğu zaman hreflang ek açıklamalarını taşıyan (veya onlara bağlantı veren) ana sayfa ya da kök alan adında — tetiklenir. Googlebot dil tercihi olmayan ABD’li bir ziyaretçi gibi gelir, ABD/varsayılan sürüme yönlendirilir ve durur. /de/ ağacınıza giden tek taranabilir yol bu yönlendirmenin arkasında kalmıştır. Sonuç:
- Googlebot alternatif yerel ayar URL’lerine hiç ulaşamaz.
- Bu nedenle, bu URL’lerin var olduğunu söyleyecek hreflang ek açıklamalarını keşfedemez.
- Googlebot’un ulaşamadığı bir sayfadaki hreflang etiketleri hiçbir işe yaramaz.
Hreflang tarama erişimini varsayar; onu oluşturmaz. Tuzak tek satırda budur.
Geo-yönlendirme ve cloaking: iki ayrı risk
Burada insanların sürekli birleştirdiği ikinci bir risk daha var ve bu birleşim kötü tavsiyeler üretiyor. Aynı konumdaki gerçek kullanıcıdan Googlebot’a farklı davranmak — örneğin Googlebot kullanıcı aracısını özel olarak tanıyıp yönlendirmeyi atlamasını ve her şeyi görmesini sağlamak — cloaking’dir ve yönerge ihlalidir. Google’ın coğrafi dağıtık tarama rehberinde temel kural tutarlılıktır: Googlebot ABD dışındaki bazı IP adreslerinden de tarar; belirli bir ülkeden geliyormuş gibi göründüğünde o ülkenin diğer ziyaretçileriyle tamamen aynı muameleyi yapmalısınız (ABD kullanıcılarını engelliyorsanız ABD Googlebot’unu da engelleyin; Avustralyalı kullanıcılara izin veriyorsanız Avustralya Googlebot’una da izin verin).
Ayrı bir alt başlık hak eden nokta şu: cloaking yapmamak keşif sorununu çözmez. Pek çok yazı “Googlebot’a cloaking yapmadığınız sürece geo-yönlendirmeler uygundur” der. Bu eksiktir. Bot ile aynı konumdaki kullanıcının aynı muameleyi gördüğü tamamen kurallara uygun bir geo-yönlendirme bile ABD’den geliyormuş gibi görünen istek varsayılan sürüme düşüyorsa Googlebot’u orada hapseder. Cloaking cezasından kaçınmış, ama diğer yerel ayarların tarama erişimini yine kesmiş olursunuz. Bunlar iki ayrı sorundur; birini çözmek diğerini çözmez.
Coğrafi dağıtık tarama nüansını da çözüm diye abartmayın. Bu bir cloaking tutarlılığı gereğidir; Google’ın her bölgeyi simüle ederek her yerel ayarı güvenilir biçimde keşfedeceğine dair söz değildir. Google’ın güncel belgesi hâlâ bu kırılmanın nedeni olarak “Googlebot’un varsayılan IP’leri ABD merkezli görünüyor” diye başlar — çünkü neden hâlâ budur.
Google’ın resmî tavsiyesi: önerin, zorlamayın
Google’ın reçetesi şudur: “daha dikkatli yönlendirin” değil, “yönlendirmeyin — önerin.” Çok bölgeli siteler belgesindeki iki satır düzeltmenin omurgasıdır:
“Avoid automatically redirecting users from one language version of a site to a different language version of a site.” (çeviri) “Kullanıcıları sitenin bir dil sürümünden farklı bir dil sürümüne otomatik olarak yönlendirmekten kaçının.” — Google Search Central
“Consider adding hyperlinks to other language versions of a page. That way users can click to choose a different language version of the page.” (çeviri) “Sayfanın diğer dil sürümlerine bağlantılar eklemeyi değerlendirin. Böylece kullanıcılar farklı bir dil sürümünü seçmek için tıklayabilir.” — Google Search Central
IP algılama özelinde Google sözü dolandırmıyor:
“Don’t use IP analysis to adapt your content. IP location analysis is difficult and generally not reliable. Furthermore, Google may not be able to crawl variations of your site properly. Most, but not all, Google crawls originate from the US, and we don’t attempt to vary the location to detect site variations.” (çeviri) “İçeriğinizi uyarlamak için IP analizi kullanmayın. IP konumu analizi zordur ve genellikle güvenilir değildir. Ayrıca Google, sitenizin varyasyonlarını doğru biçimde tarayamayabilir. Google taramalarının tamamı olmasa da çoğu ABD’den gelir ve site varyasyonlarını saptamak için konumu değiştirmeye çalışmayız.” — Google Search Central
Hedefleme hiçbir zaman kusursuz olmadığı için Google, yanlış sürüme gelen ziyaretçiyi de hesaba katmanızı söyler: “geotargeting isn’t an exact science, so it’s important to consider users who land on the ‘wrong’ version of your site. One way to do this could be to show links on all pages for users to select their region and/or language of choice.” (çeviri) “Coğrafi hedefleme kesin bir bilim değildir; bu nedenle sitenizin ‘yanlış’ sürümüne gelen kullanıcıları dikkate almak önemlidir. Bunun bir yolu, kullanıcıların bölgelerini ve/veya tercih ettikleri dili seçebilmesi için bütün sayfalarda bağlantılar göstermektir.” Banner veya bağlantı listesi örüntüsü doğrudan bu tavsiyeden çıkar.
Bing ne öneriyor — ve neden orada risk daha yüksek olabilir?
Bing’in sabote edilebilecek bir hreflang eşdeğeri yoktur; bu yüzden daha az riskli olduğunu düşünebilirsiniz. Tersi doğrudur. Bing, bildirime dayalı hreflang ek açıklamasından çok gerçek yerelleştirilmiş URL’leri gerçekten taramaya ve content-language meta etiketine/HTTP üst bilgisine dayanır. Microsoft Bing’den Fabrice Canel, Bing’de hreflang’ın content-language sinyalinden çok daha zayıf olduğunu söyledi (sitedeki hreflang derin incelemesinde bu noktayı açıyorum). Pratik sonuç şudur: Bingbot’un aşamadığı bir geo-yönlendirme, Bing görünürlüğüne Google’daki kadar zarar verir — hatta daha fazla verebilir; çünkü Bing, teorik olarak başka yerde keşfedilebilecek bir ek açıklamaya değil, bu yerelleştirilmiş URL’lere ulaşıp onları okumaya dayanır.
Bu gerçekten ne sıklıkta bozuluyor?
Bunu varsayımsal olarak tartışmak zorunda değilim. Brighton SEO 2023 konuşmam için 374 756 alan adında hreflang’ı inceledim (Ahrefs’teki tam yazı). Bu özel konu için net sonucum şu: çerezlere, IP’ye veya tarayıcı diline dayalı otomatik yönlendirmeler genellikle kötü fikirdir. Sayılar bunu destekliyor:
- Alan adlarının %16,9’unda hreflang etiketleri yönlendirilmiş veya bozuk sayfalara işaret ediyordu — bu, sitelerin yönlendirme kurulumlarının kendi hreflang’larıyla ne sıklıkta çakıştığının doğrudan ölçümüdür.
- Araştırmadaki hreflang kullanan alan adlarının %67’sinde genel olarak en az bir sorun vardı.
- %56,3’ünde x-default eksikti — eşleşmeyen ziyaretçinin hangi sürümü göreceği sorununa göre tasarlanmış hreflang değeridir (bu sitede x-default için ayrı bir yazı var).
Yazıda bunu şöyle ifade etmiştim: “Hreflang is complex and hard to get right. It can break in so many different ways.” (çeviri) “Hreflang karmaşıktır ve doğru uygulamak zordur. Birbirinden çok farklı şekillerde bozulabilir.” Geo-yönlendirme, bu yapıyı bozmanın en güvenilir yollarından biridir.
Tek dar istisna: yalnızca ana sayfada 302
Savunulabilir bir örüntü vardır, ancak kapsamı dardır. Yalnızca ana sayfada, konuma/dile göre dinamik yerel ayar önerisi yapan bir 302 (geçici) yönlendirme birçok sitede uzun süredir işe yarayan bir kurulumdur. Bunun 301 değil 302 olmasının nedeni, “doğru” hedefin ziyaretçiye göre değişmesidir — kişi ve oturum başına farklıdır; tek bir kalıcı hedef değildir. 301 tek bir kalıcı hedef ilan eder, oysa burada olan bu değildir. (Bu, Google’ın geo-yönlendirmeler için yayımladığı bir durum kodu tavsiyesi değil, sektör pratiği ve benimle Ahrefs’in çerçevesidir.)
Ancak yönlendirilmiş bir URL sitenin başka yerlerindeki hreflang ek açıklamalarında hedef olarak görünür görünmez bu bir özellik değil, hatadır — her hreflang hedefi doğrudan 200 döndürmelidir, 3xx değil. Yukarıdaki %16,9’luk oran büyük ölçüde bu istisnanın yanlış uygulanmasından kaynaklanır: siteler ana sayfa-302 örüntüsünü (veya site genelinde yönlendirmeyi) kullanır, sonra hreflang’ı yönlendirilen sayfalara işaret ettirir.
Sert yönlendirme yerine ne yapmalı?
Düzeltme, bir araya geldiğinde birkaç parçadan oluşur:
- Önerin, zorlamayın. Görünür ve kapatılabilir bir banner/geçiş ekranı (“Almanca siteyi görüntüleyin?”); ziyaretçi kabul edebilir veya yok sayabilir. Bu, Google’ın otomatik yönlendirmeye önerdiği alternatiftir.
- Her yerelleştirilmiş URL’yi doğrudan taranabilir ve bağlantılanabilir tutun. Her sürüme gerçek
<a href>bağlantıları — alt bilgi veya üst bilgide dil/ülke değiştirici — verin; böylece tarayıcılar önce yönlendirmeyle uzaklaştırılmadan her yerel ayara ulaşır. (Tarayıcı sayfayı yüklemeden yönlendirme tetikleniyorsa tek başına değiştirici çözüm değildir.) - Arama motorlarının doğru sürümü kendi sonuçlarında belirleyip sunabilmesi için doğru ve karşılıklı hreflang kullanın. Her hreflang hedefi
200döndürmelidir. - Dil seçici veya otomatik öneri yapan ana sayfada “açık eşleşme yok” durumu için x-default kullanın — etiketlerinizden hiçbiriyle eşleşmeyen ziyaretçiye ne gösterileceğini belirtir. Eşleşmeyen ziyaretçiyi sunma sorusunu çözer; tarama erişimi sorununu çözmez, bu yüzden kurtarıcı olarak ona yaslanmayın.
Buradaki temel konular — dil ve ülke hedeflemesi ayrımı, ccTLD / alt alan adı / alt dizin URL yapısı seçimi, karşılıklı hreflang ve x-default — aynı uluslararası SEO kümesindedir ve bunu tamamlar. Kısa sürüm: önce tarama yolunu düzeltin, ardından sunmayı hreflang ve x-default’e bırakın.
AI özet
Advanced sürümün kısa özeti:
- Bir geo-yönlendirme ziyaretçiyi IP,
Accept-Languageveya çereze göre konuma ya da dile özgü bir URL’ye otomatik gönderir. Bu bir sunma mekanizmasıdır; hreflang ayrı bir keşif sinyalidir. Birbirlerinin yerine geçmezler. - Temel sorun yalnızca dizine ekleme değil, keşiftir. Googlebot çoğunlukla ABD IP’lerinden tarar ve
Accept-Languagegöndermez. Giriş noktasındaki (genellikle ana sayfadaki) bir yönlendirme tarayıcıyı varsayılan sürümde hapsedebilir; böylece hreflang’ın işaret ettiği alternatif yerel ayar URL’lerine ulaşamaz ve onları keşfedemez. Hreflang, tarayıcının hiç görmediği bir URL’yi kurtaramaz. - Cloaking ayrı bir risktir. Googlebot’a aynı konumdaki kullanıcıdan farklı davranmak bir ihlaldir. Ancak tamamen kurallara uygun ve cloaking yapmayan bir yönlendirme de keşif sorununu yaratır — cloaking yapmamak sizi kurtarmaz.
- Coğrafi dağıtık tarama keşif garantisi değil, tutarlılık kuralıdır. Google bazı ABD dışı IP’lerden de tarar; bu, cloaking yapmamakla ilgilidir, her yerel ayarı bulacağına dair söz değildir.
- Google’ın reçetesi: “Avoid automatically redirecting” (çeviri) “Otomatik yönlendirmeden kaçının” ve “Consider adding hyperlinks to other language versions” (çeviri) “Diğer dil sürümlerine bağlantılar eklemeyi değerlendirin.” Başka bir deyişle, banner veya bağlantılarla önerin, zorlamayın ve bunu hreflang ile destekleyin. Google, IP analizini “difficult and generally not reliable.” (çeviri) “zor ve genellikle güvenilir değil” diye niteler.
- Bing açısından risk daha yüksek olabilir: Bing, hreflang yerine gerçek yerelleştirilmiş URL’leri taramaya ve
content-languagesinyaline dayanır; bu nedenle Bingbot’un kaçamadığı bir yönlendirme Bing görünürlüğüne en az Google’daki kadar zarar verir. - Veriler: 374 756 alan adını incelediğim çalışmada %16,9’unda hreflang yönlendirilmiş veya bozuk sayfalara işaret ediyordu; %67’sinde en az bir hreflang sorunu vardı; %56,3’ünde x-default eksikti. Benim görüşüm: çerezlere, IP’ye veya tarayıcı diline dayalı otomatik yönlendirmeler genellikle kötü fikirdir.
- Tek dar istisna: Dinamik yerel ayar önerisi için yalnızca ana sayfada 302 (hedef ziyaretçiye göre değiştiği için 302, 301 değil). Ancak hiçbir yönlendirilmiş URL hreflang hedefi olmamalıdır.
Resmî dokümantasyon
Yönlendirmeler, yerel ayara uyarlanabilir sunum ve coğrafi hedefleme hakkında birincil kaynak niteliğindeki belgeler.
- Managing Multi-Regional and Multilingual Sites — otomatik yönlendirmeden kaçınma, diğer dil sürümlerine bağlantı verme, içeriği uyarlamak için IP analizi kullanmama ve coğrafi hedefleme rehberliği.
- How Google Crawls Locale-Adaptive Pages — Googlebot’un ABD merkezli varsayılan IP’leri ve
Accept-Languagegöndermemesi nedeniyle içeriğin tamamının taranamayabileceğini açıklar; ayrı yerel ayar URL’leriylerel="alternate" hreflangkullanmayı önerir ve coğrafi dağıtık taramadaki cloaking tutarlılığı kuralını tanımlar. - Localized versions of your pages — HTML etiketleri, HTTP üstbilgileri, site haritası girdileri ve karşılıklılık gereklilikleri için hreflang uygulama referansı.
- Crawling and indexing of locale-adaptive pages (Search Central Blog, Ocak 2015) — Google’ın aynı temel uyarıyı on yılı aşkın süredir tutarlı biçimde verdiğini gösterir.
Bing / Microsoft
- Going international: considerations for your global website (Bing Webmaster Blog, Şubat 2009) — gezinme yolu ve URL değişikliği olmadan çerez ya da JavaScript ile yerel ayar değiştirmenin varsayılan olmayan içeriği tarayıcılardan gizleyebileceğine ilişkin uzun süreli uyarı; tarayıcılar çerezleri korumaz ve değiştiriciyi çalıştırmaz.
- Bing Webmaster Guidelines — Bing’in sinyal yığını;
content-languagesinyalini hreflang’a tercih eder.
Kaynaklardan alıntılar
Google’ın kayda geçmiş ifadeleri ve benim yorumum. Her Google bağlantısı, kaynak sayfadaki alıntı pasajına atlayan bir derin bağlantıdır.
Google — yönlendirmeyin, önerin
- “Avoid automatically redirecting users from one language version of a site to a different language version of a site.” (çeviri) “Kullanıcıları sitenin bir dil sürümünden başka bir dil sürümüne kendiliğinden göndermekten kaçının.” — Google Search Central belgeleri. Alıntıya git
- “Consider adding hyperlinks to other language versions of a page. That way users can click to choose a different language version of the page.” (çeviri) “Sayfanın diğer dil sürümlerine bağlantılar eklemeyi düşünün. Böylece kullanıcılar başka bir dil sürümünü seçmek için bağlantıya tıklayabilir.” Alıntıya git
- “Remember that geotargeting isn’t an exact science, so it’s important to consider users who land on the ‘wrong’ version of your site. One way to do this could be to show links on all pages for users to select their region and/or language of choice.” (çeviri) “Coğrafi hedeflemenin kesin bir bilim olmadığını unutmayın; bu nedenle sitenizin ‘yanlış’ sürümüne gelen kullanıcıları düşünmek önemlidir. Bunun bir yolu, kullanıcıların bölgelerini ve/veya tercih ettikleri dili seçebilmesi için tüm sayfalarda bağlantılar göstermek olabilir.” Alıntıya git
Google — IP analizi güvenilmezdir
- “Don’t use IP analysis to adapt your content. IP location analysis is difficult and generally not reliable. Furthermore, Google may not be able to crawl variations of your site properly. Most, but not all, Google crawls originate from the US, and we don’t attempt to vary the location to detect site variations.” (çeviri) “İçeriğinizi IP analiziyle uyarlamayın. IP konum çözümlemesi güçtür ve çoğu zaman güvenilir değildir. Üstelik Google, sitenizin farklı sürümlerini gerektiği gibi tarayamayabilir. Google taramalarının hepsi değilse de çoğu ABD’den kaynaklanır; site varyasyonlarını bulmak için konumu değiştirmeyiz.” Alıntıya git
Google — yerel ayara uyarlanabilir tarama (keşif sorunu)
- “If your site has locale-adaptive pages (that is, your site returns different content based on the perceived country or preferred language of the visitor), Google might not crawl, index, or rank all your content for different locales.” (çeviri) “Sitenizde yerel ayara uyarlanabilir sayfalar varsa (yani siteniz ziyaretçinin algılanan ülkesine veya tercih ettiği dile göre farklı içerik döndürüyorsa), Google farklı yerel ayarlar için tüm içeriğinizi taramayabilir, dizine eklemeyebilir veya sıralamayabilir.” Alıntıya git
- “We recommend using separate locale URL configurations and annotating them with rel=“alternate” hreflang annotations.” (çeviri) “Ayrı yerel ayar URL yapılandırmaları kullanmanızı ve bunları rel=“alternate” hreflang ek açıklamalarıyla belirtmenizi öneririz.” Alıntıya git
- “Googlebot crawls with IP addresses based outside the USA, in addition to the US-based IP addresses.” (çeviri) “Googlebot, ABD merkezli IP adreslerine ek olarak ABD dışındaki IP adresleriyle de tarama yapar.” — coğrafi dağıtık tarama nüansı; keşif garantisi değil, cloaking tutarlılığı kuralıdır. Alıntıya git
Benim örüntü hakkındaki görüşüm
- “Automated redirects based on cookies, IP, or browser language are generally a bad idea.” (çeviri) “Çerezlere, IP’ye veya tarayıcı diline dayalı otomatik yönlendirmeler genellikle kötü fikirdir.” — 374 756 alan adını kapsayan Brighton SEO 2023 hreflang çalışmam (sunum, Ahrefs yazısı).
- “Hreflang is complex and hard to get right. It can break in so many different ways.” (çeviri) “Hreflang karmaşıktır ve doğru kurulması zordur. Pek çok farklı şekilde bozulabilir.” — çalışmanın Ahrefs yazısı.
Geo-yönlendirme yapmalı mıyım; yapacaksam kapsamı ne olmalı?
Çoğu “geo-yönlendirme yapmalı mıyım?” sorusu tek bir noktaya indirgenir: Tarayıcılar her yerel ayara kendi başlarına hâlâ ulaşabiliyor mu? Üzerine tıklayarak ilerleyin.
Deciding on (and safely scoping) a geo-redirect
Kaçınılacak geo-yönlendirme mitleri ve hataları
Bunların her biri yanlış (veya tehlikeli biçimde eksik) yaygın bir inançtır; yanında ne yapılması gerektiğini de veriyorum.
-
“Googlebot’a cloaking uygulamadığım sürece geo-yönlendirmeler SEO açısından tamamen güvenlidir.” Neden yanlış: Cloaking yapmamak yalnızca bir cezadan kaçınmanızı sağlar. Tamamen kurallara uygun, cloaking yapmayan bir yönlendirme bile ABD’den geliyormuş gibi görünen istek varsayılan yerel ayara düşüyorsa tarayıcıyı oraya hapseder; diğer yerel ayarlarınız hiç taranmaz veya keşfedilmez. Bunun yerine: Tarama erişimini cloaking’den ayrı bir sorun sayın; yönlendirme kullansanız da kullanmasanız da her yerel ayarı gerçek bir bağlantıyla erişilebilir tutun.
-
“Hreflang, geo-yönlendirmemin bozduğu her şeyi düzeltir.” Neden yanlış: Tam tersidir. Hreflang tarama erişimini varsayar; tarayıcının hiç ulaşmasına izin verilmeyen URL için hiçbir şey yapamaz. Yönlendirme, Google’ın hreflang etiketlerini taşıyan sayfayı yüklemesini engellerse etiketler daha baştan keşfedilmez. Bunun yerine: Önce tarayıcıların her yerel ayara ulaşabildiğinden emin olun; sonra sonuçlarda sürüm değişimini hreflang’a bırakın.
-
“Google artık her ülkeden tarama yapıyor; dolayısıyla ‘Googlebot yalnızca ABD sürümünü görür’ sorunu çözüldü.” Neden yanlış: Abartılıdır. Google bazı ABD dışı IP’lerden de tarar, ancak kendi belgeleri bunu her yerel ayarı keşfetme garantisi değil, cloaking tutarlılığı gereği olarak çerçeveler. Güncel tavsiye hâlâ bu kırılmanın nedeni olarak “Googlebot’un varsayılan IP’leri ABD merkezli görünüyor” diye başlar. Bunun yerine: Yerel ayarlarınızı sizin için bulması için coğrafi dağıtık taramaya güvenmeyin; her yerel ayara açık ve taranabilir bir yol verin.
-
“301 her zaman SEO açısından en uygun yönlendirmedir; geo-yönlendirmelerde de onu kullanın.” Neden yanlış: Dinamik ana sayfa yerel ayar önerisinde “doğru” hedef tek ve kalıcı değildir; ziyaretçiye göre değişir. 301 bu değişken hedefi kalıcıymış gibi bildirir. Bunun yerine: Yalnızca ana sayfayla sınırlı dinamik örüntüde 302 kullanın. Bu, benim ve Ahrefs’in benimsediği sektör uygulamasıdır.
-
“IP tabanlı coğrafi konum, içeriğe erişimi güvenle sınırlayacak kadar doğrudur.” Neden yanlış: Google’ın kendi belgeleri IP konumu analizini “difficult and generally not reliable.” (çeviri) “zor ve genellikle güvenilir değil” diye tanımlar. VPN’ler, mobil operatör IP havuzları, kurumsal proxy’ler ve IPv6 tahsisi, tarayıcıya özgü sorunlara geçmeden önce bile doğruluğu düşürür. Bunun yerine: İçeriği tahmin edilen konuma göre sert biçimde kapatmayın; önerin ve kullanıcının geçersiz kılmasına izin verin.
-
“Dil veya ülke değiştirici eklersem yönlendirmeyi koruyabilirim.” Neden yanlış: Değiştirici, tarayıcının yine de yükleyebilmesi gereken oluşturulmuş sayfadaki bir arayüz öğesidir. Yönlendirme önce tetiklenip botu dışarı atarsa değiştiricinin yardım etme fırsatı olmaz. Bunun yerine: Değiştiriciyi ve yönlendirmenin tarayıcıların alternatif URL’lere kendi yollarından ulaşmasını engellemediğini koruyun.
-
“Bing hreflang kullanmadığı için bu sorunla ilgilenmez.” Neden yanlış: Bing’in bunu daha çok önemsemesi mümkündür. Bildirime dayalı bir etiket yerine gerçek yerelleştirilmiş içeriği taramaya ve
content-languagesinyaline dayanır; Bingbot’un kaçamadığı bir yönlendirme Bing görünürlüğüne en az Google’daki kadar zarar verir. Bunun yerine: Bingbot’un her yerel ayara tarama erişimini Googlebot’unkine en az eşit önemde tutun.
Geo-yönlendirme denetim kontrol listesi
Konuma dayalı sunumunuzun yerel ayarlarınızı arama motorlarından sessizce gizlemediğini doğrulamak için hızlı bir kontrol:
- Her yerelleştirilmiş URL’ye gerçek bir
<a href>bağlantısıyla (footer/header switcher) ulaşılabiliyor; yalnızca yönlendirmeye bağlı değil. - Yönlendirme varsa yalnızca ana sayfada çalışıyor; alt sayfalarda tetiklenmiyor.
- Dinamik yerel ayar önerisi yönlendirmesi varsa bir 302 kullanıyor, 301 değil.
- Hiçbir hreflang hedefi
3xxdeğil — her hreflang URL’si doğrudan200döndürüyor. (Çalışmamda alan adlarının %16,9’u bunu yanlış yapmıştı.) - hreflang karşılıklı — her sürüm diğerlerine, uygun olduğunda x-default’a da bağlantı veriyor.
- Googlebot/Bingbot, konumundaki gerçek kullanıcıyla tam olarak aynı şekilde ele alınıyor — tarayıcı için user-agent veya IP tabanlı ayrıcalık yok (bu cloaking’dir).
- Mümkün olan her yerde sert yönlendirme yerine kapatılabilir bir banner/ara geçiş ekranı tercih ediliyor (“View the German site?” ziyaretçinin yok sayabileceği bir öneridir).
- İçerik yalnızca IP’ye göre erişim koşuluna bağlanmıyor — kolay bir manuel geçiş sunuluyor.
- İçerik URL değişmeden çerez veya istemci tarafı JavaScript ile değiştirilmiyor (tarayıcılar çerezleri saklamaz ve yalnızca JS ile sunulan yerel ayar içeriğine güvenilir biçimde ulaşamaz).
- Varsayılan olmayan yerel ayarlara ABD IP’sinden /
Accept-Languageolmadan istek göndererek (ör.curl -IL) tarama erişimini örneklemeli olarak kontrol ettiniz; böylece bir tarayıcının başka yere yönlendirilmediğini doğruladınız.
Zamanınıza değecek kaynaklar
İlgili yazılarım ve konuşmalarım
- Over 67% of Domains Using Hreflang Have Issues (Study of 374,756 Domains) (Ahrefs) — yönlendirilmiş veya bozuk hreflang hedeflerine ilişkin %16,9 verisinin, otomatik yönlendirmeler hakkındaki sonucumun ve yalnızca ana sayfayla sınırlı 302 istisnasının kaynağı olan geniş ölçekli çalışmam.
- The most common hreflang issues across 374,756 domains (Speaker Deck) — Brighton SEO 2023 sunumu. Konuşma kaydı · video.
- Hreflang: The Easy Guide for Beginners (Ahrefs) — geo-yönlendirmenin zayıflatabileceği hreflang, karşılıklılık ve x-default mekanikleri.
- International SEO: The Weird Technical Parts (Pubcon Vegas 2019) ve You’re Going To Screw Up International SEO (Pubcon Vegas 2017) — geo-yönlendirmeler dâhil uluslararası kurulumların nerede bozulduğuna ilişkin eski ama hâlâ tutarlı arka plan.
Sektörden
- Managing Multi-Regional and Multilingual Sites (Google Search Central) — otomatik yönlendirmeden kaçınma, diğer dil sürümlerine bağlantı verme ve içeriği IP analiziyle uyarlamama tavsiyelerinin birincil kaynağı.
- How Google Crawls Locale-Adaptive Pages (Google Search Central) — ABD merkezli varsayılan IP’leri,
Accept-Languageeksikliğini ve coğrafi dağıtık taramanın sınırını açıklar. - Google On The Main Thing To Know About Geo IP Redirects (Search Engine Journal) — John Mueller’in Ekim 2022 tarihli Ask Googlebot yanıtının aktarımı: Googlebot esasen tek sürümü dizine eklediği için önemli içeriği varsayılan sürümde tutun.
- Google Says Geolocation Redirects Are Okay (Search Engine Roundtable) — Mueller’in “allowed if you don’t treat Googlebot differently than a user” (çeviri) “Googlebot’a kullanıcıdan farklı davranmadığınız sürece kullanılabilir” çerçevesi; bu, cloaking koşuludur.
- Bing Says Hreflang A Weak Signal For Its Search Engine (Search Engine Roundtable) — Microsoft Bing’den Fabrice Canel’in hreflang’ı content-language sinyalinden daha zayıf görmesi; bu nedenle Bing’in gerçek yerelleştirilmiş URL’lere erişmesi daha önemlidir.
- Going international: considerations for your global website (Bing Webmaster Blog) — çerez ve JavaScript tabanlı dil değiştirme yöntemlerinin içeriği tarayıcılardan gizleyebileceğine ilişkin köklü uyarı.
Kendinizi test edin: Uluslararası SEO için geo-yönlendirmeler
Geo-yönlendirmelerin uluslararası SEO’yu neden bozduğuna ve bunun yerine ne yapılacağına dair beş kısa soru. Her biri için bir yanıt seçin, ardından kontrol edin.
Değişiklik günlüğü
13 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
13 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.