← Bloga geri dön

Sitedeki Geo-Yönlendirmeler: Google'ın Yasakladığı 6 Cloaking Hatası

Googlebot bir sayfayı, Almanya'daki kullanıcı ise başka bir sayfayı görüyor. Manuel Google cezasına yol açan 6 coğrafi yönlendirme hatasını ve bunlardan nasıl kaçınılacağını inceliyoruz.

📅12 Ekim 2026

Site, ABD'deki İngilizce konuşan bir kullanıcıya bir sayfa gösterirken, fiziksel olarak Mountain View veri merkezinde bulunan Googlebot tamamen farklı bir sayfa görüyor. Resmi olarak bu, içeriği bölgeye uyarlamak isteseniz bile, zaten bir "cloak" (kloaklama) durumudur. Sitelerin pozisyon kaybetmesine, manuel yaptırımlar almasına ve ortak ağlarda tüm alan adlarının yasaklanmasına neden olan 6 tipik coğrafi yönlendirme hatasını inceliyoruz.

Coğrafi yönlendirme nedir ve işletmelere neden gereklidir

Coğrafi yönlendirme, kullanıcıyı kendi ülkesine uyarlanmış bir site versiyonuna otomatik olarak yönlendiren bir mekanizmadır: farklı dil, para birimi, fiyatlar, teklifler. İnternet mağazaları, Almanya'daki bir alıcının hemen euro cinsinden fiyatlarla Almanca versiyona ulaşmasını sağlamak için bunu kullanır, böylece dolar cinsinden bir katalogda gezinmek zorunda kalmaz. Arbitrajcılar, coğrafi trafiğe bağlı olarak farklı teklifler göstermek için coğrafi yönlendirmeleri kullanır - örneğin, Tier-1 ülkelerden gelen kullanıcılara bir açılış sayfası, diğerlerine ise bir geçiş sayfası veya farklı bir ürün gösterilir.

Sorun şu ki, kullanıcıyı IP'sine göre belirleyen aynı mantık Googlebot için de geçerlidir. Google botlarının IP adresleri fiziksel olarak ABD'de bulunur, bu nedenle bir sayfayı Rus, Kazak veya Alman arama sonuçları için dizinleyip dizinlememeleri fark etmez. Eğer coğrafi yönlendirme sistemi, tarayıcıyı gerçek bir insandan ayırt edemezse, sonuç aynı olur - Google, gerçek ziyaretçilerin gördüğü sayfayı görmez. Bu, Google Search Central'ın önerilerine göre kloaklamanın resmi tanımıdır ve bunun cezası, sıralamada düşüşten alan adının dizinden tamamen çıkarılmasına kadar değişebilir.

Neden Googlebot ve insanlar farklı sayfalar görüyor

Farklılık, aynı anda üç nedenden kaynaklanır ve genellikle bunlar birbiriyle örtüşür. Birincisi, Googlebot, Google'a ait IP adreslerinden siteyi tarar ve bu adresler coğrafi hizmetler (MaxMind, IP2Location ve benzerleri) tarafından neredeyse %100 oranında Amerikan olarak tanımlanır. İkincisi, Googlebot kendi User-Agent'ını gönderir ve bu genellikle ayrı bir kod dalı tarafından işlenir - bazen dizinlemeyi bozmamak için kasıtlı olarak, bazen de geliştiricinin hatasından dolayı. Üçüncüsü, Googlebot'un JS render'ındaki davranışı, kullanıcının tarayıcısındaki davranıştan farklıdır: tarayıcı, istemci tarafı JavaScript'e bağlı bir yönlendirmeyi gerçekleştirmeyebilir ve bu durumda, kullanıcı JS açıkken gördüğü sayfanın tamamen farklı bir versiyonunu dizinler.

Buraya, bir ülkenin versiyonuna "yapışan" CDN önbelleklemesi ekleyin ve her seferinde aynı versiyonu tüm kullanıcılara sunma durumu ortaya çıkar. Bu, sunucu yanıtında doğru Vary: Accept-Language başlığının veya coğrafi özelliklere göre önbellekleme için benzer bir anahtarın belirtilmediği durumlarda olur.

Hata 1: User-Agent kontrolü olmadan IP'ye göre yönlendirme

En yaygın hata, yönlendirme mantığının yalnızca IP'ye göre ülke belirlemeye dayanmasıdır, kimlerin istek yaptığını kontrol etmeden: insan mı yoksa tarayıcı mı. Sonuç olarak, Amerikan IP aralığından gelen Googlebot otomatik olarak sitenin ABD versiyonuna yönlendirilir, oysa sayfa başlangıçta Rusya veya Kazakistan'dan gelen istekler için tanıtılmıştır. Birkaç hafta boyunca tarama yapıldığında, Google dizini "yanlış" içerik versiyonu ile dolup taşar ve hedef bölgelerdeki pozisyonlar görünür bir sebep olmadan düşmeye başlar.

Çözüm, bilinen User-Agent ve arama botlarının IP aralıklarını (Googlebot, Bingbot, YandexBot) coğrafi yönlendirmeden her zaman hariç tutmaktır; onlara belirli bir ülkeye bağlı olmaksızın sayfanın kanonik versiyonunu sunmaktır. User-Agent kontrolü gerekli ama yeterli bir engel değildir, çünkü kolayca taklit edilebilir, bu nedenle ciddi projeler, Googlebot'un doğrulanması için Google'ın belgelerinde önerdiği gibi, IP'yi ters DNS sorgusu (reverse DNS lookup) ile ek olarak doğrular.

Hata 2: Gerçek kullanıcı IP'leri yerine veri merkezi IP'leri ile test etme

İkinci hata, kontrol aşamasında ortaya çıkar. Geliştirici veya pazarlamacı, coğrafi yönlendirmeyi normal bir veri merkezi proxy veya VPN üzerinden test eder ve mantık, sanki bu, gerekli ülkeden gerçek bir kullanıcıymış gibi çalışır. Ancak veri merkezi IP'leri, ev trafiğinden kolayca ayırt edilebilir - birçok CDN ve dolandırıcılık önleme sistemi bunları ayrı bir bayrakla işaretler ve coğrafi hedefleme mantığı, bu tür adresler için evdeki IP sağlayıcısından farklı davranabilir.

Sonuç olarak, test "geçer", geliştirme sunucusundaki yönlendirme mükemmel çalışırken, üretimde hedef ülkeden gelen gerçek kullanıcılar, sağlayıcı veritabanı veya CDN kuralı IP'lerini farklı yorumladığı için yanlış versiyonu alır. Doğru kontrol için konut proxy'leri kullanmak faydalıdır - bunlar, gerekli ülkedeki gerçek ev sağlayıcılarının IP'lerine sahiptir ve coğrafi hizmetler, bunları canlı bir kullanıcı gibi belirler. Bu, gerçek ziyaretçilerin her bir bölgede ne göreceği konusunda dürüst bir tablo sunar, basitleştirilmiş bir veri merkezi IP versiyonu değil.

Hata 3: Önbellek ve Vary başlıklarının eksikliği

Eğer site bir CDN (Cloudflare, Fastly, Akamai) arkasındaysa ve coğrafi yönlendirme, CDN'nin kendisi yerine origin sunucusu seviyesinde uygulanıyorsa, CDN'in ilk sunulan sayfa versiyonunu önbelleğe alması ve bunu tüm kullanıcılara dağıtması durumu ortaya çıkabilir - sonraki ziyaretçinin ülkesinden bağımsız olarak. Bu, sunucu yanıtında doğru Vary: Accept-Language başlığının veya coğrafi özelliklere göre önbellekleme için benzer bir anahtarın belirtilmediği durumlarda olur.

Bu durumda Googlebot, ilk ziyarette "doğru" versiyonu bulup kendi dizinleme sistemlerinde önbelleğe alabilir ve ardından haftalarca tekrar ziyaretlerde aynı versiyonu alabilir; oysa diğer ülkeler için içerik çoktan değişmiştir. Kullanıcılar bu süre zarfında güncel ama farklı bir versiyon görür - senkronizasyon sorunu yavaş yavaş artar ve sunucu yanıtlarının farklı coğrafyalar için doğrudan karşılaştırılması olmadan teşhis edilmesi zordur; bu, başlıkları değiştirmek için curl gibi araçlar veya gerekli coğrafi konumla proxy kullanarak yapılabilir.

Hata 4: Botun farklı yorumladığı JS yönlendirmesi

Googlebot JavaScript'i çalıştırabilir, ancak bunu önemli bir gecikmeyle yapar (ikinci render dalgası günler alabilir) ve her zaman kullanıcının tarayıcısına benzer şekilde değildir. Eğer coğrafi yönlendirme istemci tarafı JS ile uygulanıyorsa - örneğin, window.location ile geo-API'ye fetch isteğinden sonra - tarayıcı, yönlendirme gerçekleşmeden önce sayfayı dizinleyebilir, yani belirli bir bölge için "yanlış" içerik versiyonunu alabilir.

Bu, tüm kişiselleştirme mantığının istemci tarafında tutulduğu tek sayfalık açılış sayfaları (SPA) için özellikle kritiktir. Doğru yaklaşım, coğrafi belirleme ve yönlendirmeyi sunucu tarafında (CDN'nin edge fonksiyonu, Node.js'de middleware, Nginx'de kural) gerçekleştirmektir; böylece Googlebot ve kullanıcı, sayfa tarayıcıda render edilmeden önce HTTP 302 yönlendirmesi alır. Bu, tarayıcının belirli bir anda JS'yi nasıl işleyeceğine olan bağımlılığı ortadan kaldırır.

Hata 5: Farklı diller için hreflang olmadan tek bir URL

Beşinci hata, aynı URL'de birden fazla dil versiyonunu hreflang işaretlemesi olmadan sunmaya çalışmaktır. Google doğrudan önerir: eğer bir URL'deki içerik, kullanıcının yerel ayarlarına bağlı olarak farklıysa, her versiyon için farklı URL'ler (alt alanlar, alt klasörler veya ayrı alan adları) vermek ve çapraz hreflang işaretlemesi eklemek ya da tüm kullanıcılara, botlar da dahil, aynı versiyonu dürüstçe göstermek gerekir; böylece dil değiştirme seçeneği de eklenir.

Hreflang olmadan, Google fiziksel olarak /product'un Rusça ve /product'un İngilizce olduğunu anlayamaz; bu, farklı kitleler için kasıtlı olarak farklı içeriklerdir, değilse bir versiyonu diğerine karşı gizlemek için bir girişimdir. Sonuç olarak, dizine rastgele bir versiyon (genellikle botun son taramada eriştiği) girer ve bu versiyon tüm bölgelerde aynı anda sıralanmaya başlar; bu da sonuçların alaka düzeyini ve dönüşüm oranını olumsuz etkiler.

Hata 6: VPN ve mobil proxy kullanıcıları için yedek yok

Altıncı hata, Googlebot'tan çok gerçek kullanıcılarla ilgilidir - ancak bu, coğrafi yönlendirme konusuyla doğrudan bağlantılıdır, çünkü çoğu zaman botlar için davranışı "düzeltme" girişimi, VPN veya mobil internet kullanan gerçek insanlar için bozulmasına neden olur. Mobil operatörlerin kullanıcıları, sıklıkla CGNAT (Carrier-Grade NAT) üzerinden internete bağlanır; bu durumda, on binlerce abone aynı dış IP'yi kullanır ve coğrafi veritabanı bu IP'yi komşu bir ülkeye ait olarak veya tamamen yanlış bir şekilde belirleyebilir.

Eğer sitede yanlış tanımlanmış IP için bir yedek olarak ülke/dil değiştirme seçeneği yoksa, "yanlış" tanımlanmış IP ile kullanıcı, değiştirme imkanı olmadan alakasız bir versiyona takılır - ve sadece çıkar. Bu tür bir senaryoyu test etmek için, mobil proxy'ler kullanarak, CGNAT davranışına sahip gerçek mobil operatörlerin IP'lerini simüle etmek faydalıdır - bu, gerçek kullanıcılar sorunu keşfetmeden önce problemi önceden görmeyi sağlar.

Farklı ülkelerden Google gözünden coğrafi yönlendirmeyi nasıl kontrol edebilirim

İlk teşhis için ana araç, Google Search Console'daki "Googlebot gibi görüntüle" işlevidir (URL kontrol aracı), bu, Google'ın tarayıcısının gerçekten aldığı HTML'yi gösterir. Eğer orada, kendi ülkenizden tarayıcıda gördüğünüz versiyon değilse, sorun onaylanmıştır. Ancak Search Console her zaman Amerikan IP'lerinden tarama yapar, bu nedenle sitenin bölgeler arasındaki davranışını karşılaştırmak için ayrı bir test katmanı gereklidir.

Pratikte, pazarlamacılar ve SEO uzmanları, Dolphin Anty, AdsPower, Multilogin veya GoLogin gibi anti-detect tarayıcıda birkaç profil oluşturur ve her profile gerekli ülkenin proxy'sini bağlayarak manuel olarak kullanıcı yolunu geçer: siteyi açar, hangi versiyonun yüklendiğini, hangi Accept-Language başlığının gittiğini, yönlendirmenin çalışıp çalışmadığını ve hangi URL'ye yönlendirildiğini kontrol ederler. Bu tür kontroller için, konut proxy'leri şehir veya operatör seçimi ile en uygun simülasyonu sağlar; bunlar, bazı hizmetlerin coğrafi değerlendirmeden önce şüpheli olarak işaretleyebileceği veri merkezi adreslerinden farklıdır.

Proxy Türü Hangi kontrol için uygundur Yanlış sonuç riski
Konut Proxy'leri Gerekli ülke/şehirdeki normal ev kullanıcısını simüle etme Düşük
Mobil Proxy'ler CGNAT ve mobil coğrafi konumda davranışı kontrol etme Düşük
Veri Merkezi Proxy'leri Ülkeye göre yönlendirme durumunu hızlıca kontrol etme Daha yüksek: bazı coğrafi veritabanları IP'leri evdeki gibi farklı işaretleyebilir

Sunucu mantığının davranışını (görsel render değil) kontrol etmek için, User-Agent'ı Googlebot olarak ve X-Forwarded-For başlığını gerekli ülkenin IP'si olarak değiştirmek için curl üzerinden sunucunun ham yanıtını kontrol etmek faydalıdır - bu, sunucunun herhangi bir JS render'ından önce hangi HTTP durumunu ve Location'ı döndürdüğünü gösterir ve yukarıdaki listeden hata 4 ve hata 1'i tek bir komutla yakalamayı sağlar.

Coğrafi yönlendirmelerin güvenli ayarları için kontrol listesi

  • Googlebot, Bingbot ve YandexBot, User-Agent ile coğrafi yönlendirme mantığından hariç tutulmuş ve ters DNS ile doğrulanmıştır
  • Yönlendirme sunucu tarafında (302/307) gerçekleştirilmiştir, yalnızca istemci tarafı JavaScript ile değil
  • Coğrafi/dil için doğru CDN önbelleklemesi için Vary başlığı ayarlanmıştır
  • Her dil versiyonu için çapraz hreflang işaretlemesi ile ayrı bir URL bulunmaktadır
  • Yanlış tanımlanmış IP için bir yedek olarak görünür bir ülke/dil değiştirme seçeneği vardır
  • Testler, yalnızca veri merkezi adresleriyle değil, gerekli ülkelerden konut ve mobil proxy'ler aracılığıyla gerçekleştirilir
  • Her çeyrekte Google Search Console'un gösterdiği kontrol edilir - versiyon, gerçek kullanıcıların gördüğü ile örtüşmektedir

Sonuç

Googlebot'un gördüğü ile kullanıcının gördüğü arasındaki fark, nadiren arama motorunu kasıtlı olarak aldatma girişimidir - genellikle bu, biriken teknik borçtan kaynaklanır: bot kontrolü olmadan IP'ye göre yönlendirme, Vary başlığı olmadan önbellek, tarayıcının gerçekleştiremeyeceği JS yönlendirmesi ve dil versiyonları için hreflang eksikliği. Bu hataların her biri ayrı ayrı küçük görünse de, birlikte Google gözünde klasik bir kloaklama tablosu oluştururlar - buna uygun yaptırımlarla.

Site, botlar ve insanlar için aynı şekilde dürüst davranıyorsa, bunu düzenli olarak gerekli ülkelerin gerçek IP'leri ile kontrol etmenin tek güvenilir yolu vardır. Bu tür bir teşhis için, tipik bir ev kullanıcısını simüle etmek için konut proxy'leri ve CGNAT senaryolarını kontrol etmek için mobil proxy'ler kullanmanızı öneririz - bu, her bölgede gerçek kitlenizin ne gördüğüne dair en doğru tabloyu sunar ve Google algoritması bulmadan önce sorunu yakalamanıza yardımcı olur.