Sinan ŞanverenSEO Uzmanı
Teknik SEO

Hreflang etiketi nedir? Çok dilli sitelerde doğru kullanım

Hreflang etiketleriyle birbirine bağlanan Türkçe, İngilizce ve Almanca sayfa sürümleri

Hreflang, bir sayfanın farklı dil ve bölge sürümlerini arama motorlarına bildiren bir HTML özniteliğidir. Sitenizin Türkçe, İngilizce ve Almanca sürümleri varsa, hreflang ile Google’a “bu üç sayfa aynı içeriğin farklı dillerdeki karşılığıdır” dersiniz. Google da arama yapan kişinin diline ve konumuna uygun sürümü arama sonuçlarında göstermeye çalışır. Hreflang sıralamayı doğrudan etkilemez. Doğru sayfanın doğru kişiye gösterilmesine yardım eder.

Hreflang, teknik SEO’da hata yapılması en kolay konulardan biri. Etiketlerin kendisi basit görünür ama her sürümün diğer bütün sürümleri listelemesi gerekir. Bir dil eklendiğinde ya da bir sayfa kaldırıldığında bu yapı kolayca bozulur. Bu yazıda hreflang’in ne zaman gerektiğini, nasıl ekleneceğini ve en sık gördüğüm hataları anlatıyorum.

Hreflang ne zaman gerekir?

Hreflang yalnızca aynı içeriğin birden fazla dil ya da bölge sürümü varsa kullanılır. Tipik durumlar şunlardır:

  • Sitenin Türkçe ve İngilizce sürümleri var.
  • Aynı dilde ama farklı ülkeler için hazırlanmış sürümler var. Örneğin Almanya ve Avusturya için ayrı Almanca sayfalar.
  • Yalnızca menü ve altbilgi çevrilmiş, ana içerik aynı dilde kalmış sayfalar var. Bu durumda Google sayfaları kopya olarak görebilir. Hreflang, hangisinin hangi kitle için olduğunu belirtir.

Yalnızca Türkçe yayın yapan bir site için hreflang gerekmez. Sırf “eksik kalmasın” diye tr etiketi eklemenin bir faydası yoktur.

Dil ve bölge kodları

Hreflang değeri bir dil kodundan ve isteğe bağlı bir bölge kodundan oluşur. Google’a göre dil kodu ISO 639-1, bölge kodu ISO 3166-1 Alpha 2 biçiminde olmalıdır. Kodlarda büyük ve küçük harf fark etmez.

Değer Anlamı
tr Türkçe konuşan herkes
tr-TR Türkiye’deki Türkçe konuşanlar
en İngilizce konuşan herkes
en-GB Birleşik Krallık’taki İngilizce konuşanlar
de-AT Avusturya’daki Almanca konuşanlar
x-default Hiçbir sürümle eşleşmeyen kullanıcılar

Bölge kodu tek başına kullanılamaz. TR yazmak geçersizdir, çünkü yalnızca ülke belirtir, dil belirtmez. Bir diğer sık hata Birleşik Krallık için en-UK yazmaktır. Doğrusu en-GB’dir.

Türk e-ticaret sitelerinde pratik karar çoğu zaman şudur: Türkçe sürümünüz tek ise tr yazın. Türkiye ve KKTC için fiyatı, para birimi ya da kargo koşulları farklı ayrı sayfalarınız varsa tr-TR ve tr-CY gibi bölge kodlu değerlere geçin.

Hreflang nasıl eklenir?

Google üç yöntemi destekler ve üçünü eşdeğer kabul eder. Birden fazlasını aynı anda kullanmanın ek bir faydası yoktur. Birini seçip bütün sitede tutarlı uygulayın.

HTML head içinde

En yaygın yöntemdir. Her sürümün <head> bölümüne, kendisi de dahil olmak üzere bütün sürümler yazılır:

<link rel="alternate" hreflang="tr" href="https://www.ornek.com/urun/deri-bot/" />
<link rel="alternate" hreflang="en" href="https://www.ornek.com/en/product/leather-boot/" />
<link rel="alternate" hreflang="de" href="https://www.ornek.com/de/produkt/lederstiefel/" />
<link rel="alternate" hreflang="x-default" href="https://www.ornek.com/en/product/leather-boot/" />

Bu dört satırın aynısı Türkçe, İngilizce ve Almanca sayfanın üçünde de bulunmalıdır.

HTTP yanıt başlığında

PDF gibi HTML olmayan dosyalar için kullanılır. Sunucu, dosyayla birlikte bir Link başlığı gönderir. Web sayfalarında bu yönteme pek gerek kalmaz.

XML site haritasında

Sayfa sayısı çok fazla olan sitelerde etiketleri site haritasında tutmak sayfaların HTML’ini kalabalıklaştırmaz. Her <url> kaydının altına xhtml:link satırlarıyla bütün sürümler yazılır. Site haritasını hazırlarken nelere dikkat edileceğini XML site haritası nasıl hazırlanır? yazısında anlattım.

Karşılıklı bağlantı kuralı

Hreflang’in en çok bozulan kuralı budur. Türkçe sayfa İngilizce sayfayı gösteriyorsa, İngilizce sayfa da Türkçe sayfayı göstermelidir. Google’a göre karşılıklı olmayan etiketler yok sayılır.

Bu kural, bir başkasının sizin sayfanızı kendi sürümü gibi göstermesini engellemek için var. Pratikte en sık şu durumlarda bozulur:

  • Yeni bir dil eklenir ama yalnızca yeni sayfalara etiket konur, eski sürümler güncellenmez.
  • Bir ürün bir dilde kaldırılır, diğer dillerdeki etiketler hâlâ o adresi gösterir.
  • İngilizce sayfa yönlendirilir ve hreflang etiketi yönlendirilen eski adresi göstermeye devam eder.

Her sürüm kendisini de listelemelidir. Türkçe sayfadaki etiket grubunda Türkçe sayfanın kendi adresi de bulunur.

x-default ne işe yarar?

x-default, kullanıcının dili ve konumu hiçbir sürümle eşleşmediğinde gösterilecek sayfayı belirtir. Örneğin sitenizin Türkçe, İngilizce ve Almanca sürümleri var ve Fransa’dan biri arama yapıyor. Bu kişiye hangi sürümün gösterileceğini x-default belirler. Çoğu sitede bu, İngilizce sürüm ya da dil seçim sayfasıdır.

x-default zorunlu değildir ama eklenmesini öneririm. Ana sayfanız ziyaretçiyi diline göre yönlendiriyorsa ya da bir dil seçim ekranı gösteriyorsa, o sayfa x-default için en doğru adaydır.

Hreflang ve canonical birlikte

Hreflang etiketleri, canonical etiketi ile aynı yönü göstermelidir. Her dil sürümünün canonical’ı kendi adresini göstermelidir. İngilizce sayfanın canonical’ını Türkçe sayfaya verirseniz Google’a “İngilizce sayfa, Türkçe sayfanın kopyası” demiş olursunuz. Bu durumda İngilizce sayfa dizinden düşebilir ve hreflang işe yaramaz.

Hreflang etiketinde yalnızca dizine eklenebilir, 200 kodu dönen ve canonical olan adresler yer almalıdır. Yönlendirilen, noindex verilmiş ya da 404 dönen bir adresi hreflang’de göstermek, o sürümün eşleşmesini bozar. Canonical konusunu canonical etiketi nedir? yazısında ayrıntılı anlattım.

Ziyaretçiyi diline göre otomatik yönlendirmek

Birçok site, ziyaretçinin IP adresine ya da tarayıcı diline bakarak onu otomatik olarak bir dil sürümüne yönlendirir. Google bunu önermiyor. Google’a göre Googlebot çoğunlukla ABD’den tarar ve tarayıcı dili bilgisi göndermez. Otomatik yönlendirme yapılırsa Google diğer dil sürümlerini hiç göremeyebilir.

Daha iyi yol, ziyaretçiye bir bildirim ya da dil seçici göstermek ve seçimi ona bırakmaktır. “Bu sayfanın Türkçe sürümü var, geçmek ister misiniz?” gibi bir şerit hem kullanıcı hem Google için sorun çıkarmaz.

Sık yapılan hreflang hataları

Çok dilli sitelerde denetim yaparken en sık gördüğüm hatalar şunlar:

  • Göreli adres kullanmak. Google’a göre adresler https:// ile başlayan tam adresler olmalıdır. /en/urun/ gibi göreli bir adres geçersizdir.
  • Yanlış kod yazmak: en-UK, tr-TU, yalnızca TR gibi.
  • Karşılıklı bağlantıyı eksik bırakmak.
  • Bütün dil sürümlerinde canonical’ı ana dile vermek.
  • Sayfanın gerçekte çevrilmemiş olması. Ürün açıklaması Türkçe kalmış bir “İngilizce” sayfa, hreflang olsa da İngilizce arama yapan birine bir şey anlatmaz.
  • Hreflang’i hem HTML’de hem site haritasında, birbirinden farklı değerlerle tutmak.

Google, hreflang’i sayfanın dilini anlamak için kullanmaz. Dili sayfanın içeriğinden kendisi belirler. Bu yüzden etiket ne derse desin, sayfanın ana metni o dilde olmalıdır.

Hreflang nasıl kontrol edilir?

Search Console’da eskiden bulunan Uluslararası Hedefleme raporu artık yok. Kontrol için birkaç yol var:

  • Önemli bir sayfanın kaynak kodunu açın ve hreflang diye arayın. Her sürümün kendisini ve diğerlerini listelediğini kontrol edin.
  • Bir tarama aracıyla (Screaming Frog, Sitebulb gibi) siteyi tarayın. Bu araçlar karşılıklı olmayan etiketleri, yanlış kodları ve hreflang’de gösterilen yönlendirmeli adresleri raporlar.
  • Search Console’daki URL Denetleme Aracı ile bir dil sürümünü inceleyin. Google’ın seçtiği canonical’ın sizin belirttiğiniz adres olup olmadığına bakın.
  • Search Console performans raporunda ülke filtresi kullanın. Almanya’dan gelen tıklamaların Almanca sayfalara gidip gitmediğine bakın.

Yeni bir dil eklemeden önce adres yapısını da düşünün. Alt klasör (/en/), alt alan adı (en.ornek.com) ya da ülke uzantılı alan adı (ornek.de) arasında seçim yapmak hreflang kadar önemli. Google’a göre parametreli yapılar (?lang=en) önerilmez. Çok dilli bir yapı kurmayı ya da mevcut yapınızı denetletmeyi düşünüyorsanız teknik SEO danışmanlığı sayfasına göz atabilirsiniz. Alan adı uzantısı kararını alan adı seçimi ve SEO yazısında anlattım.

Sık Sorulan Sorular

Hreflang etiketi sıralamayı yükseltir mi?

Doğrudan yükseltmez. Hreflang, aynı sayfanın dil ve bölge sürümlerini Google'a bildirir ve arama yapan kişiye doğru sürümün gösterilmesine yardım eder. Örneğin Almanya'dan arama yapan birine Almanca sayfanın çıkmasını sağlar.

Yalnızca Türkçe olan bir sitede hreflang gerekir mi?

Gerekmez. Hreflang yalnızca aynı içeriğin birden fazla dil ya da bölge sürümü varsa kullanılır. Tek dilli bir sitede hreflang eklemenin bir faydası yoktur.

tr ile tr-TR arasında fark var mı?

tr, Türkçe konuşan herkesi hedefler. tr-TR ise Türkiye'deki Türkçe konuşan kullanıcıları hedefler. Türkçe sürümünüz tek ise tr kullanmak yeterlidir. Türkiye ve örneğin KKTC için fiyatı ya da kargosu farklı ayrı sürümleriniz varsa bölge kodu eklenir.

Hreflang etiketleri nereye eklenir?

Üç yöntem var: sayfanın head bölümüne link etiketi olarak, HTTP yanıt başlığına ya da XML site haritasına. Google üç yöntemi eşdeğer kabul eder. Birini seçip tutarlı biçimde kullanmak yeterlidir.

Sitenize birlikte bakalım

30 dakikalık ücretsiz görüşmede sitenizin verisine birlikte bakıyoruz. Gördüğüm en büyük fırsatları ve hangisiyle başlamanız gerektiğini anlatıyorum.

Ücretsiz ön görüşme talep et →