Ankara · Estonya 0850 840 41 74
7/24 Yanınızdayız
Teknik SEO

Hreflang Nedir? Çok Dilli ve Çok Bölgeli Sitelerde Doğru Kullanım

Hreflang, bir sayfanın diğer dil ve bölge sürümlerini Google'a bildiren özniteliktir. Dil kodları, karşılıklı bağlantı kuralı ve sık hatalar bu yazıda.

Koyu arka plan üzerinde üstte bir dünya küresi ve yumuşak mor bağlantı çizgileri, altta Almanya, Fransa ve Japonya bayra

Kısa cevap

Hreflang, bir sayfanın diğer dil ve bölge sürümlerini arama motorlarına bildiren özniteliktir. Doğru kullanıcıya doğru dil sürümünün gösterilmesine yardımcı olur. HTML, HTTP başlığı ya da XML site haritası ile eklenir. Sürümler birbirine karşılıklı bağlanmalıdır. Hreflang bir direktif değil, ipucu niteliğindedir.

Hreflang nedir, ne işe yarar?

Hreflang, bir sayfanın diğer dil ve bölge sürümlerini arama motoruna bildiren özniteliktir. Google'ın doğru sürümü doğru kullanıcıya göstermesine yardım eder.

Öznitelik, sayfaların birbirinin karşılığı olduğunu açıkça söyler. Örneğin İngilizce bir ürün sayfası ile aynı sayfanın Almanca sürümü bu yolla ilişkilendirilir. Böylece Almanca arama yapan kullanıcıya İngilizce sürüm yerine Almanca sürüm sunulabilir. Hreflang sayfanın sıralamasını yükseltmez; yalnızca hangi sürümün gösterileceğine katkı verir. Teknik SEO çalışmasının dil ve bölge boyutu olarak düşünülebilir.

Hreflang iki durumda gerekir. Birincisi, aynı dilin farklı ülkeler için ayrı sürümleri olduğunda: Türkiye ve Almanya için ayrı hazırlanmış Türkçe sayfalar gibi. İkincisi, aynı içeriğin farklı dillerde yayımlandığı durumlardır. Google Search Central, çok bölgeli ve çok dilli siteler için bu kullanımı önerir. Çok dilli kurumsal site yayımlayan işletmelerde bu ihtiyaç doğal olarak ortaya çıkar.

Tek dilli ve tek ülkeye hitap eden sitede hreflang gerekmez. Dil sürümleri arasında içerik birebir karşılık taşımıyorsa da öznitelik yanıltıcı olabilir. Yalnızca menü ya da arayüz metni çevrilmiş, ana içerik çevrilmemiş sayfalar bu gruba girer.

Hreflang hangi yöntemlerle eklenir?

Hreflang üç yöntemle eklenir: sayfanın <head> bölümündeki bağlantı öğeleri, HTTP yanıt başlığı ve XML site haritası. Üçü de aynı bilgiyi Google'a iletir: bir sayfanın hangi dil ve bölge sürümleri olduğunu. Google Search Central, dil ve bölge sürümlerini bildirme belgesinde bu üç yöntemi eşdeğer olarak sunar.

Yöntemler arasındaki fark teknik uygulamadadır. Seçimi sitenin boyutu, dosya türleri ve yayın altyapısı belirler.

<link rel="alternate" hreflang="tr-TR" href="https://example.com/tr/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/en/" />
<link rel="alternate" hreflang="de-DE" href="https://example.com/de/" />
YöntemUygun olduğu durumAvantajSınırlama
HTML bağlantı öğesiKüçük ve orta ölçekli, HTML sayfalardan oluşan sitelerSayfa kaynağında görünür, denetimi kolaydırHer sayfada tüm sürümler yer aldığı için <head> büyür
HTTP başlığıPDF gibi HTML olmayan dosyalarSayfa içeriğine müdahale gerektirmezSunucu ayarı gerekir, elle denetlemek zordur
XML site haritasıÇok sayıda sayfası ve sürümü olan büyük sitelerTüm işaretleme tek yerde toplanır, sayfa yükü artmazDosya büyür, güncel tutulmazsa tutarsızlık doğar

Tek yöntem seçmeniz önerilir. Aynı sayfa için birden çok yöntem kullanmak, çelişen işaretleme riskini artırır. Çoğu HTML sitede bağlantı öğesi yeterlidir. Yöntemin ayarı bir içerik yönetim sisteminde yapılacaksa WordPress SEO ayarları bu işi çoğu zaman eklentiyle çözer. Sayfa dilini ve sürümlerini makine okunur hâle getirmek için yapılandırılmış veri çalışmasıyla birlikte planlamak da düzen sağlar.

Aşağıdaki örnek, bağlantı öğesi yöntemini gösterir. Her sürüm kendisini de listeler; buna kendine referans denir. Her sürümde kendine referans kaydının eksiksiz kurulup kurulmadığını, SEO paketlerimizde teknik denetim sırasında ayrıca kontrol ederiz.

Koyu morfik zeminde üç sütun: kod penceresi, belge eklenmiş sunucu yığını ve sayfa bloklarından oluşan site haritası ağa
Hreflang üç yoldan biriyle eklenir: HTML, HTTP başlığı ya da XML site haritası.

Hreflang dil ve bölge kodları nasıl yazılır?

Hreflang değeri, dil kodu ve isteğe bağlı bölge kodundan oluşur. Dil kodu ISO 639-1 standardına, bölge kodu ISO 3166-1 Alpha 2 standardına uyar. Dil ile bölge arasına kısa çizgi konur: de-at gibi.

Google Search Central'ın dil ve bölge sürümlerini bildirme belgesine göre bölge kodu tek başına kullanılamaz. Önce dil gelir, bölge ardından eklenir. Bölge yalnızca aynı dilin farklı ülke sürümlerini ayırmak gerektiğinde işe yarar.

Kod yazımında şu noktalar sayılabilir:

  • Yalnız dil: tr, en, de. Bölgeden bağımsız tüm konuşurları kapsar.
  • Dil ve bölge: en-gb, de-at. Aynı dilin ülkeye göre ayrışan sürümleri için kullanılır.
  • Yalnız bölge yazılamaz: gb ya da at geçerli bir değer değildir.
  • Sık görülen bir yanlış en-uk yazımıdır: Birleşik Krallık'ın ISO 3166-1 Alpha 2 kodu GB'dir, doğru biçim en-GB olur. Doğru yazım en-gbdir.
  • Sık yanlış, tr-tr: Yalnız Türkiye'ye yönelik tek bir Türkçe sürüm varsa bölge kodu gereksizdir. tr yeterlidir.
  • Dil ile ülke karışıklığı: Kod bölgeyi değil dili anlatır. en, İngiltere'yi değil İngilizceyi belirtir.
  • Tutarlılık: Aynı sürüm için tüm sayfalarda aynı kod kullanılmalıdır.

Kodları yazarken ISO listesini doğrulamak, yazım hatalarını önler. Geçersiz bir değer, Google tarafından yok sayılabilir.

x-default nedir, ne zaman kullanılır?

x-default, hiçbir dil ya da bölge sürümüyle eşleşmeyen kullanıcılar için yedek sayfayı belirten özel bir hreflang değeridir. Genellikle dil seçici bir sayfayı ya da sitenin ana sürümünü gösterir. Google Search Central'ın dil ve bölge sürümlerini bildirme belgesi bu değeri önerir, zorunlu tutmaz.

Örneğin sitenizde Türkçe, İngilizce ve Almanca sürümler varsa ve ziyaretçinin dili bunlardan hiçbiri değilse, x-default adresi devreye girecek yedek sayfayı tanımlar. Bu değer de diğerleri gibi bir ipucudur; arama motoru buna uymak zorunda değildir. Kümedeki her sürüm x-default satırını da içermeli ve karşılıklı bağlantı kuralı korunmalıdır.

Dil seçici sayfa yoksa, en geniş kitleye hitap eden sürümü x-default olarak göstermek yaygın bir tercihtir. Aynı adres hem kendi dil kodunu hem x-default değerini taşıyabilir. Etiketin söz dizimi aşağıdaki gibidir.

<link rel="alternate" hreflang="x-default" href="https://example.com/" />

<url>
  <loc>https://example.com/tr/</loc>
  <xhtml:link rel="alternate" hreflang="tr" href="https://example.com/tr/" />
  <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/" />
  <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/" />
</url>

XML site haritasında aynı küme xhtml:link öğeleriyle yazılır. Her url kaydı kümenin tüm üyelerini, kendisi dâhil, listelemelidir. Aşağıdaki örnek, yalnız ilk kaydı gösterir; diğer iki dil için de aynı satırlarla birer kayıt eklenir.

Koyu arka planda üç farklı renkli dil sayfası kartı, tek bir kalkan simgeli yedek karta bağlanıyor; ziyaretçi siluetli b
Karşılıklı bağlantıların denetimi, hreflang hatalarını ayıklamanın temelidir.

Hreflang ile canonical etiketi birlikte nasıl çalışır?

Hreflang ile asıl adres etiketi (canonical) birbirini tamamlar: asıl adres etiketi bir sayfanın tercih edilen adresini, hreflang ise aynı içeriğin hangi dil ve bölge sürümlerinin var olduğunu bildirir. Her dil sürümü kendi asıl adresine işaret etmelidir. Tüm sürümleri tek bir sayfaya kanonikleştirmek, hreflang kümesini işlevsiz bırakabilir.

Mantık şöyledir: Türkçe sayfanın canonical etiketi Türkçe sayfanın kendisini, İngilizce sayfanınki İngilizce sayfanın kendisini gösterir. Böylece her sürüm arama motoruna “ben asıl adresim” der. Hreflang kümesi bu asıl adresleri birbirine bağlar. Canonical etiketi İngilizce sayfayı Türkçe sayfaya yönlendirirse, İngilizce sürüm yinelenen sayfa sayılabilir ve hreflang işaretinin değeri kalmayabilir.

Kendine referans da gereklidir. Her sayfa, hreflang listesinde kendi adresini de içermelidir. Karşılıklı bağlantı kuralı ise şunu söyler: A sayfası B sayfasını sürüm olarak gösteriyorsa, B sayfası da A sayfasını göstermelidir. Google Search Central'ın çok dilli ve çok bölgeli siteler belgesi bu karşılıklılığı açıkça ister.

Hreflang'in bir direktif değil, ipucu olduğunu da akılda tutmak gerekir. Canonical etiketiyle çelişen sinyaller arama motorunun kararını belirsizleştirir. Adres yapısını değiştiriyorsanız 301 yönlendirme rehberi canonical ve hreflang adreslerinin yeni yapıya nasıl taşınacağını anlamanıza yardımcı olur.

Hreflang hataları nasıl bulunur ve düzeltilir?

Hreflang hataları, her dil sürümünün diğer sürümleri karşılıklı göstermesi, kodların geçerli olması ve işaret edilen adreslerin dizine açık olması denetlenerek bulunur. Hreflang bir direktif değil ipucudur ve sıralamayı doğrudan yükseltmez; yalnızca kullanıcıya doğru dil ya da bölge sürümünün gösterilmesini sağlar. Bu yüzden hata ayıklamanın amacı, Google'ın sürümler arasındaki ilişkiyi eksiksiz okumasıdır.

Aşağıdaki adımlar, Google Search Central belgelerindeki dil ve bölge sürümü bildirimi kurallarına dayanır ve sorunları en sık görüldükleri sırayla ele alır.

  1. Karşılıklı bağlantıyı doğrulayın: A sayfası B sayfasını gösteriyorsa B sayfası da A sayfasını göstermelidir. Tek yönlü bildirimler yok sayılabilir.
  2. Kendine referansı kontrol edin: her sayfa, kendi adresini de kendi dil kodu ile listelemelidir.
  3. Geçersiz kodları ayıklayın: dil kodu ISO 639-1, bölge kodu ISO 3166-1 Alpha 2 biçiminde olmalıdır. en-UK yerine en-GB yazılmalıdır.
  4. Yönlendiren ya da noindex içeren adresleri çıkarın: hreflang kümesindeki sayfaların 200 durum kodu veren ve dizine açık olması gerekir, aksi halde ilişki yok sayılabilir.
  5. Mutlak URL kullanın: protokol ve alan adı dahil tam adres yazın; göreli yollar hataya açıktır.
  6. Sonuçları denetleyin: Google Search Console raporlarını ve bir SEO analiz aracı ile yapılan taramayı birlikte değerlendirin.

Büyük sitelerde sorunlar çoğu zaman şablon düzeyinde ortaya çıkar. Düzeltmeyi tek tek sayfalarda değil, hreflang çıktısını üreten şablonda yapmak kalıcı sonuç verir. Kapsamlı bir denetim gerekiyorsa SEO danışmanlığı bu süreci uçtan uca yönetmeye yardımcı olabilir.

Sık sorulan sorular

Hreflang sıralamayı doğrudan yükseltir mi?

Hayır, hreflang tek başına sıralamayı yükseltmez. Görevi, aynı içeriğin farklı dil ve bölge sürümleri arasında doğru olanın doğru kullanıcıya gösterilmesine yardımcı olmaktır. Sıralama sinyalleri için teknik SEO bütününe bakmak gerekir.

Hreflang etiketi her sayfada zorunlu mu?

Hayır, zorunlu değildir. Yalnız başka dil ya da bölge karşılığı bulunan sayfalarda anlam taşır. Karşılığı olmayan sayfaya eklenen bir etiket, karşılıklı bağlantı kuralı yüzünden işe yaramaz hale gelebilir.

Tek dilli bir site hreflang kullanmalı mı?

Hayır, tek dilli ve tek bölgeye hitap eden bir sitede gösterilecek alternatif sürüm bulunmadığı için genellikle hreflang gerekmez. Site ileride yeni bir dil ya da bölge eklerse hreflang planlaması o zaman gündeme gelir.

Hreflang için ayrı alan adı gerekir mi?

Hayır, ayrı alan adı gerekmez. Hreflang; alt dizin, alt alan adı ya da ayrı alan adı yapılarının hepsiyle kullanılabilir. Önemli olan her sürümün kendi adresine sahip olması ve sürümlerin birbirine doğru bağlanmasıdır.

Hreflang yanlışsa Google ceza verir mi?

Hayır, hatalı hreflang genellikle bir ceza sebebi olarak görülmez. Yanlış ya da karşılıksız işaretler yalnızca yok sayılabilir. Bu durumda yanlış dil sürümü kullanıcıya gösterilebilir. Site geneli kalite için kurumsal web sitesinde olması gerekenler de gözden geçirilebilir.

Kaynaklar

  1. Google Search Central – Tell Google about localized versions of your page (Sayfanızın yerelleştirilmiş sürümlerini Google'a bildirin)
  2. Google Search Central – Managing Multi-Regional and Multilingual Sites (Çok bölgeli ve çok dilli siteleri yönetme)
  3. Search Engine Journal – Google reminds that hreflang tags are hints, not directives

Bu yazıyı en son tarihinde gözden geçirdik.

Bunları da okuyun

◆ 7/24 DESTEK ◆

Yardıma mı ihtiyacınız var?
Bize ulaşın, 7/24 buradayız.

Sorularınız, projeniz ya da fikirleriniz için uzman ekibimiz 7/24 yanınızda. Talebinizi ilgili ekip değerlendirip size dönüş yapar.