Hreflang (Alternate) Etiketi

23/09/2025
Hreflang (Alternate) Tag

Hreflang (alternate) sayfaların yerel sürümlerini belirtmek için kullanılan bir HTML etiketidir. Sayfaların birden fazla dil sürümü varsa, arama motorlarına bu sayfaların farklı sürümlere sahip olduğunu belirtmek için hreflang etiketi kullanılmalıdır.

Özellikle çok dilli ve çok bölgeli web siteleri için önemlidir, çünkü Google’ın (ve diğer arama motorlarının) kullanıcının diline veya konumuna göre sayfanın doğru sürümünü sunmasına yardımcı olur.

Hreflang Etiketinin Kullanım Amacı

  • Çevrilmiş veya yerelleştirilmiş sayfalarda yinelenen içerik sorunlarını önler. Örneğin, hreflang kullanılmadan biri Kanada İngilizcesi, diğeri Avustralya İngilizcesi olmak üzere iki İngilizce sayfa varsa, bunlar yinelenen sayfa olarak görülebilir.
    Kanada: en-ca
    Avustralya: en-au
  • Kullanıcıların sayfanın doğru dil/ülke versiyonunu görmesini sağlar.
  • Uluslararası SEO’yu iyileştirir.

Hreflang Etiketi Kullanımı

  • rel="alternate" -> Sabit bir değer, arama motoruna alternatif bir sürüm olduğunu bildiriyor
  • href="page-url" -> alternatif sayfanın URL’i
  • hreflang="xx-YY" -> dil ve isteğe bağlı bölge kodu
    • xx = ISO 639-1 dil kodu (ör. en, es, fr).
    • YY = ISO 3166-1 alpha-2 ülke kodu (örneğin, ABD, GB, MX).
    • Örnek:
      • en-us → İngilizce (Amerika Birleşik Devletleri)
      • en-gb → İngilizce (Birleşik Krallık)
      • es-mx → İspanyolca (Meksika)

Bölge kodu isteğe bağlıdır; örneğin, aşağıdaki sadece dil kodlarını kullanır.

Her sayfanın kendi hreflang referansının yanı sıra diğer dil sürümlerine referansları da içermesi gerekir.

x-default: Eşleşmeyen dil için bir yedek URL’yi belirtmek için kullanılır (örneğin, genel bir ana sayfa veya dil seçici).

<link rel="alternate" href="https://juniortoexpert.com/de/namenskonvention-fur-variablen/" hreflang="de" />
<link rel="alternate" href="https://juniortoexpert.com/en/naming-convention/" hreflang="en" />
<link rel="alternate" href="https://juniortoexpert.com/es/convenio-de-denominacion-camel-case-kebab-case-snake-case/" hreflang="es" />
<link rel="alternate" href="https://juniortoexpert.com/fr/convention-de-denomination-des-variables/" hreflang="fr" />
<link rel="alternate" href="https://juniortoexpert.com/tr/degisken-isimlendirme-kurallari/" hreflang="tr" />
<link rel="alternate" href="https://juniortoexpert.com/ru/naming-convention-ru/" hreflang="ru" />
<link rel="alternate" href="https://juniortoexpert.com/en/naming-convention/" hreflang="x-default" />

Her alternatif dil URL’i, alan adı, path ve protokol (http veya https;) dahil olmak üzere tam olarak eklenmelidir.

  • https://juniortoexpert.com/en/naming-convention/Doğru
  • //juniortoexpert.com/en/naming-convention/Yanlış
  • /en/naming-convention/Yanlış

Hreflang Etiketi Nereye Eklenir?

Hreflang etiketi her sayfada <head> etiketinin içerisine yerleştirilmelidir ve yalnızca <link> etiketiyle birlikte kullanılır.

Not: Alternatif dil sayfaları birbirlerini işaretlemeldiri. İki sayfa birbirine işaretlemiyorsa, etiketler yok sayılır.

Hreflang URL’leri Farklı Alan Adlarında veya Alt Alan Adlarında (Subdomain) Kullanılır Mı?

Evet, farklı ülkeler veya diller için ayrı siteler kullanıyorsanız, arama motorlarına hangi sürümün hangi hedef kitleye ait olduğunu söylemek için hreflang etiketini kullanabilirsiniz.

Farklı Alan Adlarını Kullanma Kuralları

İzin verilen kurulumlar:

  • Alt Alan Adları (Subdomain) → en.example.com, fr.example.com
  • Alt Dizinler (Subdirectory) → example.com/en/, example.com/fr/
  • Farklı Alan Adları (Domain) → example.com, example.fr, example.de

Karşılıklı bağlantı gereklidir:

  • Her sayfa, kendisi de dahil olmak üzere diğer tüm alternatif versiyonlara referans vermelidir.
  • Örnek: Eğer example.com, hreflang ile example.fr’yi işaret ediyorsa, example.fr de example.com’u işaret etmelidir.

Tutarlılık önemlidir:

  • Tüm alan adları geçerli, taranabilir sayfalar barındırmalıdır (yönlendirme veya robots.txt tarafından engellenme olmamalıdır).
  • URL’ler tam canonical sürümü (doğru protokol https:// ile) kullanmalıdır.

Farklı Alan Adları (Domain) İçin Örnek

https://example.com/en/ için:

<link rel="alternate" href="https://example.com/en/" hreflang="en" />
<link rel="alternate" href="https://example.fr/fr/" hreflang="fr" />
<link rel="alternate" href="https://example.de/de/" hreflang="de" />

https://example.fr/fr/ için:

<link rel="alternate" href="https://example.com/en/" hreflang="en" />
<link rel="alternate" href="https://example.fr/fr/" hreflang="fr" />
<link rel="alternate" href="https://example.de/de/" hreflang="de" />

https://example.de/de/ için:

<link rel="alternate" href="https://example.com/en/" hreflang="en" />
<link rel="alternate" href="https://example.fr/fr/" hreflang="fr" />
<link rel="alternate" href="https://example.de/de/" hreflang="de" />

Hreflang Hakkında En Yaygın SSS

Sitem yalnızca tek bir dildeyse hreflang kullanmam gerekir mi?

Hayır. Sitenizin yalnızca tek bir dili ve tek bir bölgesel sürümü varsa, hreflang gerekli değildir. Yalnızca aynı içeriğin birden fazla dili veya ülke sürümü olduğunda kullanışlıdır.

Hreflang etiketini farklı alan adlarıyla kullanabilir miyim?

Evet. Hreflang, alt dizinler, alt alan adları veya tamamen farklı alan adlarıyla çalışır. Temel kural, tüm sürümlerin birbirine tutarlı bir şekilde referans vermesidir.

Hreflang ve canonical etiketleri arasındaki fark nedir?

  • Hreflang → arama motorlarına dil/bölgeye göre bir sayfanın hangi sürümünün gösterileceğini söyler.
  • Canonical → arama motorlarına, yinelenen sayfalar olduğunda hangi sayfanın ana/orijinal sürüm olduğunu söyler. Çok dilli kurulumlarda genellikle ikisine de ihtiyacınız olur: yinelenen sayfaların işlenmesi için canonical, dil hedefleme için hreflang.

Hreflang yanlış veya eksikse ne olur?

  • Eksikse → Arama motorları yanlış dil sürümünü gösterebilir.
  • Yanlışsa (örneğin, bozuk bağlantılar, yanlış ISO kodları) → Arama motorları hreflang kurulumunu tamamen göz ardı edebilir.

Hreflang İçin Search Central Dokümanları


Kaynak:

https://developers.google.com/search/docs/specialty/international/localized-versions

0 0 votes
Post Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments