Hreflang Etiketi Rehberi: Cok Dilli SEO Yonetimi
Hreflang etiketini dogru kullanarak cok dilli ve cok bolgeli web sitelerinin SEO'sunu optimize edin.
Hreflang Etiketi Rehberi: Çok Dilli SEO'nun Temeli
Hreflang etiketi, arama motorlarına bir sayfanın hangi dil ve/veya bölge için tasarlandığını bildiren bir HTML özniteliğidir. Birden fazla dilde veya farklı bölgeler için içerik sunan web siteleri için hreflang, doğru sayfanın doğru kullanıcıya gösterilmesini sağlayan kritik bir teknik SEO öğesidir. Bu rehberde, hreflang etiketinin uygulanmasını, yaygın hatalarını ve test yöntemlerini kapsamlı olarak ele alıyoruz.
Hreflang Neden Gereklidir?
- Doğru dil/bölge eşleşmesi: Türkiye'deki kullanıcıya Türkçe, Almanya'daki kullanıcıya Almanca sayfa gösterilir.
- Yinelenen içerik sorununun önlenmesi: Farklı dillerdeki benzer içerikler Google tarafından duplicate content olarak algılanmaz.
- Kullanıcı deneyimi: Kullanıcılar kendi dillerinde içerik görür, hemen çıkma oranı düşer.
- Sıralama gücünün korunması: Sayfa otoritesi, dil versiyonları arasında doğru şekilde dağıtılır.
- Bölgesel hedefleme: Aynı dili konuşan farklı ülkelere (örn. İngilizce — ABD, İngiltere, Avustralya) farklı içerik sunabilirsiniz.
Hreflang Sözdizimi
Hreflang etiketi, ISO 639-1 dil kodu ve isteğe bağlı olarak ISO 3166-1 Alpha-2 ülke kodu kullanır:
<!-- Dil kodu: tr (Türkçe) -->
<link rel="alternate" hreflang="tr" href="https://www.site.com/tr/" />
<!-- Dil + Bölge kodu: en-US (ABD İngilizcesi) -->
<link rel="alternate" hreflang="en-US" href="https://www.site.com/en-us/" />
<!-- Dil + Bölge kodu: en-GB (İngiliz İngilizcesi) -->
<link rel="alternate" hreflang="en-GB" href="https://www.site.com/en-gb/" />
<!-- Varsayılan (x-default) -->
<link rel="alternate" hreflang="x-default" href="https://www.site.com/" />Yaygın Dil ve Bölge Kodları
| Hreflang Değeri | Dil | Bölge |
|---|---|---|
tr | Türkçe | Tüm Türkçe bölgeler |
tr-TR | Türkçe | Türkiye |
en | İngilizce | Tüm İngilizce bölgeler |
en-US | İngilizce | Amerika Birleşik Devletleri |
en-GB | İngilizce | Birleşik Krallık |
de | Almanca | Tüm Almanca bölgeler |
de-AT | Almanca | Avusturya |
fr | Fransızca | Tüm Fransızca bölgeler |
ar | Arapça | Tüm Arapça bölgeler |
x-default | Varsayılan | Eşleşmeyen tüm kullanıcılar |
x-default Nedir?
x-default etiketi, kullanıcının dili veya bölgesi hiçbir hreflang ile eşleşmediğinde gösterilecek varsayılan sayfayı belirtir. Genellikle dil seçim sayfasına veya İngilizce (global) versiyona yönlendirilir:
<link rel="alternate" hreflang="x-default" href="https://www.site.com/" />
<link rel="alternate" hreflang="tr" href="https://www.site.com/tr/" />
<link rel="alternate" hreflang="en" href="https://www.site.com/en/" />
<link rel="alternate" hreflang="de" href="https://www.site.com/de/" />Tavsiye: Her hreflang grubuna mutlaka bir
x-defaultetiketi ekleyin. Bu, tanımlanmamış bölgelerdeki kullanıcılar için yedek mekanizma görevi görür.
Uygulama Yöntemleri
Yöntem 1: HTML Head Etiketi
En yaygın yöntem. Her sayfanın <head> bölümüne eklenir:
<head>
<link rel="alternate" hreflang="tr" href="https://www.site.com/tr/hakkimizda" />
<link rel="alternate" hreflang="en" href="https://www.site.com/en/about" />
<link rel="alternate" hreflang="x-default" href="https://www.site.com/en/about" />
</head>Yöntem 2: HTTP Başlığı
PDF ve HTML dışı dosyalar için ideal:
Link: <https://www.site.com/tr/dosya.pdf>; rel="alternate"; hreflang="tr",
<https://www.site.com/en/file.pdf>; rel="alternate"; hreflang="en"Yöntem 3: XML Sitemap
Çok sayıda sayfası olan siteler için en ölçeklenebilir yöntem. Sayfaların head bölümünü değiştirmeden sitemap üzerinden yönetilir:
<?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.site.com/tr/hakkimizda</loc>
<xhtml:link rel="alternate" hreflang="tr"
href="https://www.site.com/tr/hakkimizda" />
<xhtml:link rel="alternate" hreflang="en"
href="https://www.site.com/en/about" />
<xhtml:link rel="alternate" hreflang="x-default"
href="https://www.site.com/en/about" />
</url>
</urlset>Hreflang Kuralları
- Karşılıklı referans (bidirectional): A sayfası B'ye, B sayfası da A'ya hreflang ile referans vermelidir. Tek yönlü hreflang çalışmaz.
- Self-referencing: Her sayfa, hreflang grubunda kendini de referans göstermelidir.
- Canonical uyumu: Hreflang URL'leri canonical URL'lerle eşleşmelidir. Canonical olmayan bir URL'ye hreflang vermeyin.
- Mutlak URL: Her zaman tam URL kullanın (
https://dahil). - 200 durum kodu: Hreflang'daki tüm URL'ler 200 döndürmelidir.
Yaygın Hreflang Hataları
| Hata | Sonuç | Çözüm |
|---|---|---|
| Eksik karşılıklı referans | Hreflang etiketi göz ardı edilir | Tüm dil versiyonlarının birbirini referans gösterdiğinden emin olun |
| Yanlış dil/bölge kodu | Etiket geçersiz kabul edilir | ISO 639-1 ve ISO 3166-1 standartlarını kullanın |
| Canonical ile çelişki | Çelişkili sinyaller gönderilir | Hreflang URL'si = Canonical URL olmalı |
| Noindex sayfaya hreflang | Etiket etkisiz olur | Dizinde olan sayfaları referans gösterin |
| x-default eksikliği | Eşleşmeyen kullanıcılar için belirsizlik | Her gruba x-default ekleyin |
| Eksik self-referans | Hreflang seti geçersiz sayılabilir | Sayfanın kendisini de listeye dahil edin |
Hreflang Test ve Doğrulama
- Google Search Console: "Uluslararası Hedefleme" raporunda hreflang hatalarını kontrol edin.
- Ahrefs Site Audit: Hreflang tutarsızlıklarını ve eksik referansları otomatik tespit eder.
- Hreflang Tags Testing Tool: Teknikalseo.com'un ücretsiz aracı ile tek sayfa bazlı kontrol yapın.
- Screaming Frog: Tüm siteyi tarayarak hreflang uygulamasını toplu olarak denetleyin.
- Manuel test: Google'da
site:site.com/tr/vesite:site.com/en/aramaları yaparak doğru versiyonların dizinde olduğunu doğrulayın.
Bölgesel Hedefleme Stratejileri
Farklı senaryolar için hreflang yapılandırma örnekleri:
- Dil bazlı (bölge yok): Türkçe ve İngilizce iki versiyon varsa
hreflang="tr"vehreflang="en"kullanın. - Dil + Bölge: ABD ve İngiltere için ayrı İngilizce versiyonlar varsa
hreflang="en-US"vehreflang="en-GB"kullanın. - Aynı dil, farklı para birimi: Türkiye için TL, Almanya için EUR gösteren sayfalarda bölge kodu kullanın.
- ccTLD yapısı: site.com.tr ve site.de gibi ülke uzantılı alan adları varsa her birinde karşılıklı hreflang uygulayın.
- Alt dizin yapısı: site.com/tr/ ve site.com/en/ yapısı en yaygın ve yönetilebilir yaklaşımdır.
Next.js'te Hreflang Uygulaması
// app/[locale]/layout.tsx
export async function generateMetadata({ params }) {
const locale = params.locale;
const baseUrl = 'https://www.site.com';
return {
alternates: {
canonical: `${baseUrl}/${locale}`,
languages: {
'tr': `${baseUrl}/tr`,
'en': `${baseUrl}/en`,
'x-default': `${baseUrl}/en`,
},
},
};
}Sonuç
Hreflang etiketi, çok dilli ve çok bölgeli web siteleri için SEO'nun temel taşıdır. Doğru uygulandığında, kullanıcıların kendi dillerindeki içeriğe ulaşmasını sağlar, yinelenen içerik sorunlarını önler ve sıralama gücünüzü korur. Karşılıklı referans, self-referencing ve x-default kurallarına dikkat edin, canonical URL'lerle tutarlılığı sağlayın ve düzenli olarak hreflang yapınızı denetleyin. Teknik bir detay gibi görünse de hreflang, uluslararası SEO başarınızın kilit unsurlarından biridir.