Sitenizi İngilizceye, Almancaya ya da Arapçaya çevirdiniz, ama Google Almanya'daki kullanıcıya hâlâ Türkçe sayfanızı gösteriyor. Ya da Türkiye ve Azerbaycan için ayrı fiyatlı iki benzer sayfanız var ve Google bunları kopya sayıp birini seçiyor. Çok dilli ve çok bölgeli sitelerde bu sorunların çoğu, Google'a sürümler arasındaki ilişkiyi açıkça anlatmamaktan kaynaklanır.

Bu rehberde Google'ın resmî uluslararası SEO belgelerine dayanarak URL yapısı seçimini (ülke alan adı, alt alan adı, alt klasör), hreflang'in üç uygulama yolunu, x-default değerini, en sık yapılan hataları ve ziyaretçinin konumuna göre içerik değiştiren sayfaların neden risk taşıdığını anlatıyoruz. Türk sitelerini ilgilendirdiği için Yandex'in hreflang farkına da değiniyoruz.

Çok dilli ile çok bölgeli arasındaki fark

Google iki kavramı ayırıyor. Çok dilli site birden fazla dilde içerik sunar; Google Arama aramayı yapan kişinin diline uyan sayfayı bulmaya çalışır. Çok bölgeli site ise farklı ülkelerdeki kullanıcıları açıkça hedefler; Google kullanıcı için doğru yerel sayfayı bulmaya çalışır. Bir site ikisi birden olabilir: örneğin Türkiye ve Almanya için ayrı sürümler, Almanya sürümünün de Türkçe ve Almanca versiyonları.

URL yapısı: ccTLD, alt alan adı mı, alt klasör mü?

URL yapısı: ccTLD, alt alan adı mı, alt klasör mü? Ülke kodlu alan adları, hreflang ifadeleri, Sunucu konumu, Diğer sinyaller

Google, farklı diller için çerez veya tarayıcı ayarıyla içerik değiştirmek yerine her dil sürümüne ayrı URL vermenizi öneriyor. Ayrı URL için seçenekler ve Google'ın saydığı artı-eksiler:

YapıÖrnekArtılarıEksileri
Ülke kodlu alan adı (ccTLD)example.deNet coğrafi hedefleme, sunucu konumu önemsiz, siteleri ayırmak kolayPahalı ve sınırlı olabilir, daha fazla altyapı gerekir, bazı ülkelerde katı kurallar, yalnızca tek ülke hedeflenir
gTLD + alt alan adıde.example.comKurulumu kolay, farklı sunucu konumlarına izin verir, siteleri ayırmak kolayKullanıcı yalnızca URL’den hedeflemeyi anlamayabilir (“de” dil mi ülke mi?)
gTLD + alt klasörexample.com/de/Kurulumu kolay, aynı ana makine olduğu için bakımı azHedefleme URL’den anlaşılmayabilir, tek sunucu konumu, siteleri ayırmak daha zor
URL parametresisite.com?loc=deGoogle önermiyorURL tabanlı ayrıştırma zor, hedefleme URL’den anlaşılmaz

Dikkat edilmesi gereken bir nokta: Google'ın örneğinde açıkça belirtildiği gibi en, de gibi dil kodlu alt alan adları Google tarafından hedef kitleyi belirlemek için kullanılmaz ve Google sayfanın dilini URL'den çıkarmaz; hedeflemeyi hreflang ile açıkça işaretlemeniz gerekir. URL'lerde yerel dildeki kelimeleri veya uluslararası alan adlarını (IDN) kullanmak sorun değil; Google UTF-8 kodlaması kullanmanızı öneriyor. Genel URL kuralları için SEO uyumlu URL yapısı rehberimize bakabilirsiniz.

Google hedef ülkeyi nasıl belirler?

  • Ülke kodlu alan adları: .de veya .cn gibi ccTLD'ler belirli bir ülkeye bağlıdır ve güçlü bir sinyaldir. Google bazı ccTLD'leri genel alan adı (gTLD) gibi değerlendirir; listede .co, .io, .ai, .me, .tv gibi uzantılar var. .tr bu listede yer almaz.
  • hreflang ifadeleri: etiket, HTTP başlığı veya sitemap ile.
  • Sunucu konumu: bir sinyal olabilir ama CDN kullanımı nedeniyle kesin değildir.
  • Diğer sinyaller: sayfadaki yerel adres ve telefonlar, yerel dil ve para birimi, yerel sitelerden gelen linkler, Business Profile sinyalleri.

Google'ın yapmadıkları da önemli: geo.position veya distribution gibi konum meta etiketlerini yok sayar. Ayrıca sayfanın dilini lang niteliğinden veya URL'den değil, görünür içerikten belirler. Bu yüzden her sayfada içerik ve gezinme için tek bir dil kullanın, yan yana çevirilerden kaçının. .eu ve .asia gibi bölgesel alan adları da genel alan adı gibi değerlendirilir.

hreflang nedir, ne yapmaz?

hreflang, Google'a bir sayfanın farklı dil veya bölge sürümleri olduğunu söyleyen işarettir. Böylece Google Arama kullanıcıyı uygun sürüme yönlendirebilir. Google'ın vurguladığı iki ayrıntı var: Google hreflang veya HTML lang niteliğini sayfanın dilini tespit etmek için kullanmaz; dil algoritmayla belirlenir. Yerel sürümler ise yalnızca ana içerik çevrilmeden kaldıysa kopya sayılır.

Google'ın alternatif sayfa işaretlemeyi önerdiği tipik durumlar: ana içerik tek dilde kalıp yalnızca şablonun (menü, alt bilgi) çevrildiği sayfalar, aynı dilde küçük bölgesel farklar (örneğin ABD, Birleşik Krallık ve İrlanda için İngilizce sayfalar) ve tamamen çevrilmiş içerik.

hreflang’in üç uygulama yolu

hreflang’in üç uygulama yolu: 1. HTML link etiketleri, 2. HTTP Link başlığı, 3. XML sitemap

Google'a göre HTML, HTTP başlığı ve sitemap yöntemleri eşdeğerdir. Üçünü aynı anda kullanmak aramada ek fayda sağlamaz, sadece yönetimi zorlaştırır; sitenize en uygun olanı seçin.

1. HTML link etiketleri

Her sayfa sürümünün <head> bölümüne, kendisi dahil tüm sürümler için birer link elemanı eklenir. Bağlantı kümesi her sürümde aynıdır. Örneğin Türkçe, İngilizce ve Almanca sürümleri olan bir sayfa için:

html
<head>
  <title>Web Hosting Paketleri</title>
  <link rel="alternate" hreflang="tr" href="https://www.ornek.com/hosting/" />
  <link rel="alternate" hreflang="en" href="https://www.ornek.com/en/hosting/" />
  <link rel="alternate" hreflang="de" href="https://www.ornek.com/de/hosting/" />
  <link rel="alternate" hreflang="x-default" href="https://www.ornek.com/dil-secimi/" />
</head>

Etiketler düzgün kurulmuş bir <head> içinde olmalı. Google ayrıca hreflang ifadelerini media gibi başka niteliklerle aynı link etiketinde birleştirmemenizi istiyor.

2. HTTP Link başlığı

PDF gibi HTML olmayan dosyalar için uygundur. Her sürüm, kendisi dahil tüm sürümleri listeleyen aynı başlığı döndürür:

http
Link: <https://www.ornek.com/katalog.pdf>; rel="alternate"; hreflang="tr",
      <https://www.ornek.com/en/catalog.pdf>; rel="alternate"; hreflang="en",
      <https://www.ornek.com/de/katalog.pdf>; rel="alternate"; hreflang="de"

3. XML sitemap

Sitemap'te her URL için ayrı bir <url> girdisi oluşturulur ve her girdinin altına, kendisi dahil tüm sürümler xhtml:link olarak eklenir. xhtml ad alanını tanımlamayı unutmayın. Bu alt öğeler sitemap URL sınırına sayılmaz:

xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.ornek.com/hosting/</loc>
    <xhtml:link rel="alternate" hreflang="tr" href="https://www.ornek.com/hosting/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.ornek.com/en/hosting/"/>
  </url>
  <url>
    <loc>https://www.ornek.com/en/hosting/</loc>
    <xhtml:link rel="alternate" hreflang="tr" href="https://www.ornek.com/hosting/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.ornek.com/en/hosting/"/>
  </url>
</urlset>

Sitemap genel kuralları için XML sitemap rehberimize göz atabilirsiniz.

Dil ve bölge kodları: doğru yazım

hreflang değeri, ISO 639-1 formatında bir dil kodu ve isteğe bağlı olarak tire ile ayrılmış, ISO 3166-1 Alpha 2 formatında bir bölge kodundan oluşur. Değer büyük-küçük harfe duyarlı değildir, ama bölge kodunu büyük harfle yazmak (en-GB) standarda uygundur.

DeğerAnlamıDurum
trTürkçe, bölgeden bağımsızGeçerli
tr-TRTürkiye’deki Türkçe konuşan kullanıcılarGeçerli
de-TRTürkiye’deki Almanca konuşan kullanıcılarGeçerli
en-GBBirleşik Krallık’taki İngilizce kullanıcılarGeçerli
en-UKUK, ISO 3166-1 Alpha 2’de bu amaçla atanmış kod değilGoogle bölge kısmını yok sayar
TR (yalnızca ülke)Tek başına ülke koduGeçersiz; ilk kod her zaman dildir
es-419Latin Amerika İspanyolcasıDesteklenmiyor
zh-HantGeleneksel Çince (ISO 15924 yazı kodu)Geçerli

Google'ın verdiği klasik tuzak örneği: Belçika'yı hedeflemek için be yazmak. be Belarusça dil kodudur; Belçika'daki Felemenkçe kullanıcılar için doğru değer nl-BE'dir. Google, EU, UN veya UK gibi başka amaçla ayrılmış kodların aramada etkisi olmadığını belirtiyor.

x-default ne zaman kullanılır?

x-default, kullanıcının tarayıcı diline uyan bir sürüm olmadığında gösterilecek yedek sayfayı belirtir. Herhangi bir sayfa için kullanılabilir, ancak dil seçici sayfalar için tasarlanmıştır ve en iyi orada çalışır. Bu değer için dil kodu belirtmeye gerek yoktur. Otomatik yönlendirme yapan ana sayfalar ve ülke/dil seçiciler için Google'ın özellikle önerdiği bir eklemedir.

Aynı dilde farklı bölgeler için sayfalarınız varsa (örneğin en-IE, en-CA, en-AU) Google, bölgesi belirtilmemiş kullanıcılar için genel bir en sayfası da sağlamanızı öneriyor; bu sayfa bölgesel sayfalardan biri olabilir.

En sık yapılan hreflang hataları

En sık yapılan hreflang hataları: Dönüş linki yok (A, B’yi gösteriyor ama B, A’yı göstermiyor), Göreli veya protokolsüz URL (/en/, //ornek.com), Yalnızca ülke kodu veya yanlış...
HataSonuçÇözüm
Dönüş linki yok (A, B’yi gösteriyor ama B, A’yı göstermiyor)İşaretler yok sayılabilir veya yanlış yorumlanabilirHer sürüm diğer tüm sürümleri ve kendisini listelemeli
Göreli veya protokolsüz URL (/en/, //ornek.com)GeçersizTam URL kullanın: https://www.ornek.com/en/
Yalnızca ülke kodu veya yanlış bölge koduGeçersiz veya bölge kısmı yok sayılırÖnce dil, sonra ISO 3166-1 Alpha 2 bölge kodu
Etiketlerin &lt;head&gt; dışında kalmasıOkunmayabilirOluşan sayfa kodunu bir HTML doğrulayıcıda kontrol edin
Kendine referans eksikKüme eksik kalırHer sayfa kendi URL’sini de listelemeli
Canonical ile hreflang çelişkisiGoogle yanlış sürümü seçebilirHer dil sürümü kendi URL’sini canonical göstermeli

Dönüş linkleri kuralının bir mantığı var: iki sayfa birbirini göstermiyorsa etiketler yok sayılır, böylece başka bir site keyfi olarak kendini sizin sayfanızın alternatifi ilan edemez. Çok sayıda dil için tam küme kurmak zorlaşırsa, Google bazı dilleri bazı sayfalarda atlayabileceğinizi ama yeni eklenen dil sayfalarını mutlaka asıl (baskın) dil sürümüyle iki yönlü bağlamanız gerektiğini söylüyor. Alternatif URL'lerin aynı alan adında olması gerekmez.

Aynı dilde benzer içerik farklı URL'lerde varsa (örneğin hem example.de/ hem example.com/de/), Google tercih ettiğiniz sürümü seçip rel="canonical" ve hreflang ile doğru URL'nin sunulmasını sağlamanızı öneriyor. Ayrıntılar için canonical etiketi rehberimize bakın.

hreflang hatalarını ayıklamak için Google, kendisinin bakımını yapmadığı üçüncü taraf araçlar da listeliyor; örneğin Aleyda Solis'in hreflang etiket oluşturucusu ve Merkle'nin hreflang test aracı.

Konuma göre içerik değiştiren sayfalar (locale-adaptive)

Bazı siteler ziyaretçinin IP adresine veya tarayıcı diline bakıp aynı URL'de farklı içerik gösterir ya da kullanıcıyı otomatik yönlendirir. Google bunun riskini açıkça anlatıyor: Googlebot'un varsayılan IP adresleri ABD'de görünür ve tarayıcı istek başlığında Accept-Language göndermez. Bu yüzden Google tüm yerel içeriğinizi tarayamayabilir, dizine ekleyemeyebilir veya sıralayamayabilir.

  • Google ayrı yerel URL'ler kullanmayı ve bunları hreflang ile işaretlemeyi öneriyor.
  • Kullanıcıları tahmin edilen dile göre otomatik yönlendirmeyin; bu, kullanıcıların ve arama motorlarının tüm sürümleri görmesini engelleyebilir.
  • Diğer dil sürümlerine giden görünür linkler ekleyin, kullanıcı dili kendisi değiştirebilsin.
  • Googlebot ABD dışındaki IP'lerden de tarar. Belirli bir ülkeden geliyormuş gibi görünen Googlebot'a o ülkedeki bir kullanıcı gibi davranın.
  • robots.txt ve robots meta kurallarınız her yerel sürümde aynı olmalı.

Google, IP analiziyle içerik uyarlamanın zor ve genellikle güvenilmez olduğunu, Google'ın bir site için tarama konumunu değiştirerek varyasyon aramaya çalışmadığını belirtiyor. Coğrafi taramanın Googlebot'tan gelip gelmediğini ters DNS ile doğrulayabilirsiniz; yöntem Googlebot doğrulama rehberimizde.

Sık Sorulan Sorular

Türkçe sitem için hreflang gerekli mi?

Siteniz tek dilde ve tek ülkeye yönelikse hreflang gerekmez. Birden fazla dil veya aynı dilde farklı ülkeler için sürümleriniz varsa Google bunları açıkça işaretlemenizi öneriyor; işaretlemeseniz de Google alternatifleri bulabilir, ama açık işaretleme daha güvenlidir.

hreflang sıralamamı yükseltir mi?

Google'ın belgeleri hreflang'i bir sıralama artışı olarak değil, kullanıcıyı doğru dil veya bölge sürümüne yönlendirmenin yolu olarak anlatıyor. Etkisi, doğru sayfanın doğru kitleye gösterilmesidir.

hreflang için HTML mi, sitemap mi daha iyi?

Google için üç yöntem eşdeğer. Sayfa sayısı çoksa sitemap yönetimi kolaylaştırabilir; PDF gibi dosyalar için HTTP başlığı gerekir. Yandex sitemap tabanlı hreflang'i artık desteklemediği için iki arama motorunu birlikte hedefliyorsanız HTML etiketleri daha kapsayıcıdır.

.com alan adıyla Türkiye’yi hedefleyebilir miyim?

Evet. Google .com gibi genel alan adlarında belirli bir ülkeyi hedeflemek için yerel URL yapıları ve hreflang gibi açık yöntemler kullanmanızı söylüyor. Yerel adres, telefon, para birimi ve yerel linkler de diğer sinyaller arasında. Yerel işletmeler için yerel SEO rehberimize de bakabilirsiniz.

İlgili içerikler: Canonical etiketi · XML sitemap · SEO uyumlu URL yapısı · Site taşıma · Bing ve Yandex Webmaster · Teknik SEO kontrol listesi