HREFLANG ÇOK DİLLİ SİTE KURGUSU KURMAK
Bir e-ticaret sitesi Türkiye'de iyi gidiyor, sıra uluslararası pazarda. Almanca, Arapça, Rusça versiyonları açılıyor. Bir ay sonra fark ediliyor: Almanca sayfaya Türkiye'den gelen kullanıcı yönlendiriliyor, Türk sayfası Almanya'da görünmüyor, Google arama sonuçlarında karışıklık var. Sorun ne yazılım, ne içerik — eksik hreflang.
Hreflang, Google'a "bu sayfa bu dil için, bu sayfa şu ülke için" diyen bir SEO sinyalidir. Doğru implement edildiğinde Google her kullanıcıya doğru dil ve bölge versiyonunu sunar. Yanlış kurulduğunda sayfalar birbirini yer, ranking dağılır, sinyaller birbirini iptal eder.
Bu yazı hreflang'in mantığı, üç implement yöntemi, en sık yapılan hatalar, x-default'un kullanımı ve ülke ve dil hedeflemesi arasındaki fark üzerine.
Hreflang Neyi Çözer
Çok dilli site SEO'sunun temel problemleri:
- Google sayfanın hangi dilde olduğunu bilmiyor → yanlış kullanıcıya gösteriyor.
- Aynı içeriğin İngilizce ve Türkçe versiyonu var → duplicate content riski.
- Türk kullanıcısı Google'da "iletişim" yazıyor, Almanca sayfa çıkıyor.
- Aynı dil farklı bölgeler için (ABD İngilizce vs İngiltere İngilizce) ayırt edilemiyor.
Hreflang etiketi her sayfanın diğer dil/bölge versiyonlarını Google'a bildirir. Google bu bilgiyle:
- Doğru versiyonu doğru kullanıcıya gösterir.
- Versiyonları duplicate content olarak görmez.
- Authority ve link sinyallerini birleşik değerlendirir.
Temel Hreflang Syntax
En basit hâliyle hreflang head içindeki link etiketleridir:
<link rel="alternate" hreflang="tr" href="https://example.com/tr/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />Her sayfa diğer tüm versiyonların link'ini listeler ve KENDİNİ de listeler. Bu çift yönlü sinyal Google'a "bu sayfalar birbirinin alternatifi" der.
Dil kodu ISO 639-1 standart 2 harfli (tr, en, de, ar, ru). Bölge ekleme istenirse ISO 3166-1 alpha-2 ülke kodu eklenir: en-US, en-GB, de-DE, de-AT. Kabul edilen dil-bölge kombinasyonlarını ve geçerli syntax'i Google arama dokümantasyonu üzerinden doğrulamak hatalı kod riskini azaltır.
Üç Implementasyon Yöntemi
Hreflang üç farklı yerde tanımlanabilir:
1. HTML <head> içinde link tagleri
En yaygın yöntem. Her sayfanın head'inde tüm versiyon link'leri.
Avantaj: Sayfa bazlı kontrol, kolay implement.
Dezavantaj: Her sayfaya elle eklenmeli; çok sayfalı sitede karmaşıklaşır.
2. HTTP Header'da
HTML olmayan dosyalar (PDF, dokümanlar) için kullanılır. Server response header'ına eklenir.
Link: <https://example.com/tr/doc.pdf>; rel="alternate"; hreflang="tr",
<https://example.com/en/doc.pdf>; rel="alternate"; hreflang="en"3. XML Sitemap
Tüm hreflang ilişkilerini tek bir sitemap dosyasında tanımlama. Büyük siteler için tercih edilen yöntem.
<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/" />
</url>Sitemap yöntemi merkezi yönetim sağlar; her sayfayı düzenlemek yerine tek dosyadan kontrol.
Çift Yönlü Onay (Reciprocal)
Hreflang'in en kritik kuralı: A sayfası B'yi alternatif gösteriyorsa, B sayfası da A'yı alternatif göstermeli.
Çift yönlü değilse Google sinyali görmezden gelir. Bu en sık yapılan ve en büyük hata. Türkçe sayfa İngilizce sayfasını gösteriyor ama İngilizce sayfa Türkçe'yi göstermiyorsa, hreflang çalışmaz.
İmplementasyonu kontrol etmek için her dil çiftini iki yönden doğrula: Türkçe sayfanın source'unda İngilizce link var mı; İngilizce sayfanın source'unda Türkçe link var mı.

x-default — Bilinmeyen Bölge için
x-default özel bir hreflang değeridir: "yukarıdaki dillerden hiçbiri uygun değilse bu sayfayı göster" anlamında.
<link rel="alternate" hreflang="x-default" href="https://example.com/" />Tipik kullanım: dil seçim sayfası veya ana global versiyon. Brezilya'dan gelen kullanıcı (Portekiz tarafından) hiçbir tanımlı dile uymuyorsa Google ona x-default'u gösterir.
x-default kullanmak zorunlu değil ama tavsiye edilir. Olmadığında Google'ın varsayılan tahmini doğru olmayabilir.
Dil mi, Ülke mi?
Hreflang dil ve/veya ülke hedefleyebilir. Doğru karar kullanım senaryosuna bağlı:
| Senaryo | Hreflang Değeri |
|---|---|
| Almanca konuşan herkes (Almanya, Avusturya, İsviçre) | de |
| Sadece Almanya'daki Almanca kullanıcılar | de-DE |
| Avusturya'daki Almanca kullanıcılar (özel fiyat, kargo) | de-AT |
| İngilizce konuşan global | en |
| Amerikan İngilizcesi (ABD'ye özel) | en-US |
| İngiliz İngilizcesi (İngiltere'ye özel) | en-GB |
Pratik kural: ürün/fiyat/teslimat ülkeye göre değişiyorsa (en-US, en-GB ayrı), ülke kodu kullan. Sadece dil farklı, içerik aynıysa (Almanya, Avusturya aynı katalog), sadece dil kodu yeterli.
"de-CH" gibi kombinasyonlar var ama daha az yaygın; İsviçre'deki Almanca konuşanlara özel teklif varsa kullanılır.
En Sık Yapılan Hatalar
Hreflang implementasyonunda sürekli görülen hatalar:
- Kendine link vermemek: Sayfanın kendi dilini de hreflang olarak listelemesi gerekir. "tr" sayfası tr, en, de listelerken kendisi (tr) de listede olmalı.
- Çift yönlü değil: A sayfası B'yi gösteriyor, B göstermiyor → Google görmezden geliyor.
- Yanlış dil kodu: "tr-TR" yazıldığında dil kodu doğru ama gereksiz spesifik; sadece "tr" yeterli. "jp" yazıldığında yanlış; doğrusu "ja" (Japonca).
- Yanlış ülke kodu: "UK" değil "GB" (ülke kodu). "en-UK" tanımsızdır; "en-GB" doğru.
- Mutlak değil göreceli URL: href="/en/" yerine href="https://example.com/en/" olmalı. Mutlak URL zorunlu.
- Redirect ile bağlamak: Hreflang hedefinin doğrudan 200 dönmesi gerekir; redirect zinciri sinyal kaybettirir.
- 404 veya noindex sayfaya bağlamak: Hreflang hedefinin canlı ve indekslenebilir olması gerekir.
- Canonical ile çakışma: Türkçe sayfanın canonical'i İngilizce sayfaya gösterirse hreflang sinyalini iptal eder.
Canonical ile İlişki
Hreflang ve canonical birlikte çalışır ama hata yapması kolay bir alan. Doğru kullanım:
- Her dil versiyonunun canonical'i KENDİSİNİ göstermeli.
- Türkçe sayfa canonical: https://example.com/tr/
- İngilizce sayfa canonical: https://example.com/en/
- Canonical ile diğer dil versiyonunu göstermek YANLIŞ; o zaman Google "bu sayfanın gerçek versiyonu o" diye düşünür ve hreflang'i görmezden gelir.
Hreflang sinyali ve canonical farklı amaca hizmet eder: hreflang "bu sayfanın alternatifleri var" der; canonical "bu sayfanın asıl versiyonu kendisidir" der.
Google Search Console Doğrulama
Hreflang implementasyonu canlıya çıkınca Google Search Console'da kontrol edilebilir:
- Eski versiyon "International Targeting" raporu vardı, kaldırıldı.
- Şimdi Inspect URL özelliği ile sayfa bazlı kontrol.
- Üçüncü taraf araçlar: hreflang.org tester, Screaming Frog hreflang audit, Sitebulb.
Yeni site kurulduğunda hreflang doğru olsa bile Google sinyali işlemesi haftalar sürebilir. Sabırlı olmak ve diğer SEO faktörlerini de kontrol etmek gerekiyor. Teknik SEO eğitimi sürecinde uluslararası SEO, hreflang implementasyonu ve teknik denetim detaylı işlenir.
URL Yapısı Stratejileri
Çok dilli site URL yapısı için üç ana yaklaşım:
1. ccTLD (Country Code Top Level Domain)
- example.de, example.fr, example.com.tr
- Avantaj: Güçlü coğrafi sinyal, kullanıcı algısı yerel.
- Dezavantaj: Yönetim maliyeti yüksek, domain authority paylaşılamaz.
2. Subdomain
- de.example.com, fr.example.com, tr.example.com
- Avantaj: Esnek, ayrı server konfigürasyonu mümkün.
- Dezavantaj: Google subdomain'leri ayrı site sayar, authority ayrılır.
3. Subdirectory
- example.com/de/, example.com/fr/, example.com/tr/
- Avantaj: Tek site, authority birleşik, yönetim kolay.
- Dezavantaj: Coğrafi sinyal daha zayıf (hreflang ile kapatılır).
Modern SEO'da çoğu durumda subdirectory tercih edilir. Authority paylaşılır, yönetim sade, hreflang doğru kurulduğunda lokasyon sinyali yeterli.

Para Birimi ve Pazar Sinyalleri
Hreflang yalnız başına yeterli değil; uluslararası site doğru hissedilmek için ek sinyaller gerekiyor:
- Yerel para birimi (TL, EUR, USD)
- Yerel ödeme yöntemleri
- Yerel iletişim bilgileri
- Yerel teslimat süreleri ve maliyetleri
- Yerel KVKK/GDPR notları
- Yerel SSL sertifikası varsa sertifika ülke alanı
- Google My Business yerel kayıtlar
Hreflang sadece teknik SEO sinyalidir; gerçek kullanıcı deneyimi de yerel olmalı.
Çeviri Kalitesi ve Otomatik Çeviri
Hreflang doğru kurulu olsa bile düşük kaliteli çeviri SEO'yu öldürür:
- Google Translate ile otomatik çevrilen içerik düşük kaliteli content; ranking düşer, kullanıcı bounce eder.
- Yerel keyword araştırması yapmamak SEO performansını ezer; her dilde insanların gerçekten aradığı kelimeleri kullan.
- Yerel kültürel adaptasyon ("Black Friday" mı, "Bekarlar Günü" mu?) önemli.
- Profesyonel çevirmen veya yerel content writer her dil için ideal.
Otomatik çeviri + hreflang kombinasyonu kısa vadeli çözüm değil; uzun vadeli SEO yıkımıdır.
Implementasyon Kontrol Listesi
Çok dilli site canlıya almadan önce şu kontroller:
- Her sayfa diğer tüm dil versiyonlarını hreflang olarak listeliyor mu?
- Her sayfa kendisini de hreflang olarak listeliyor mu?
- Çift yönlü bağlantı sağlanmış mı?
- Dil ve ülke kodları ISO standardına uygun mu?
- URL'ler mutlak mı (https:// ile başlıyor mu)?
- x-default tanımlandı mı?
- Canonical her dil için kendini gösteriyor mu?
- Tüm hedef URL'ler 200 dönüyor (redirect, 404 yok)?
- Tüm hedef sayfalar indexable (noindex yok)?
- XML sitemap'te de hreflang etiketleri var mı?
- İçerik gerçekten o dilde mi (otomatik çeviri değil)?
- Yerel sinyaller (para, iletişim, ödeme) tutarlı mı?
Bu liste işlemden geçildikten sonra canlıya çıkan implementasyon sağlam temel oluşturur. Google sinyali işlemesi haftalar sürer; sabır gerek. Ama doğru kurulduğunda uluslararası SEO ciddi katma değer üretir.



