HREFLANG ÇOK DİLLİ SİTE KURGUSU KURMAK

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. 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.
1. 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.
2. 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 ve bölge kodları
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.
3. Üç 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.
4. Ç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.
Tek yönlü bağlamanın sonucu
Ç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.
İki yönlü doğrulama
İ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ı.

5. 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.
Zorunlu değil ama önerilir
x-default kullanmak zorunlu değil ama tavsiye edilir. Olmadığında Google'ın varsayılan tahmini doğru olmayabilir.
6. 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
"de-CH" gibi kombinasyonlar var ama daha az yaygın; İsviçre'deki Almanca konuşanlara özel teklif varsa kullanılır.
7. 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.
8. 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.
9. 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.
10. 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.

11. 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ı.
12. Ç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.
13. 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.
Sıkça Sorulan Sorular
Hreflang olmadan çok dilli site çalışmaz mı?
Çalışır ama Google'ın her dil versiyonunu doğru kullanıcıya eşleştirmesi tahmin bazlı olur. Tahmin yanlış olursa Türk kullanıcı Almanca sayfaya gönderilir, bounce eder, ranking düşer. Hreflang açık talimat; tahmini ortadan kaldırır.
Aynı içeriği farklı dillerde sunmak duplicate content mı?
Hayır, Google için duplicate content değil; farklı dillerdeki içerik benzersizdir. Ama hreflang olmadan Google bu ilişkiyi anlamayabilir ve karışıklık yaşanır. Aynı dilde aynı içerik (en-US ve en-GB neredeyse aynı) duplicate riski; bu durumda farklılıkları belirgin yap.
Tek bir hreflang etiketi yetersiz mi?
Hreflang her zaman çift yönlü çalışır. Tek sayfada birden fazla hreflang link'i olur (her dil için bir tane), her sayfada hepsi tekrarlanır. Tek bir etiket teknik olarak yanlış değil ama sistem çalışmaz; en az iki dil arasında çift yönlü etiket gerekir.
Hreflang işe yaramazsa nasıl anlarım?
Search Console URL Inspect aracıyla sayfa bazlı kontrol. Üçüncü taraf araçlar (Screaming Frog, Sitebulb) toplu denetim yapar; çift yönlü olmayan, hatalı kod, eksik etiket gibi sorunları listeler. Ayrıca arama sonuçlarında yanlış dil versiyonu çıkması net sinyal.
Subdomain ile subdirectory arasında SEO farkı var mı?
Var. Subdirectory (example.com/de/) ana domain'in authority'sini paylaşır; subdomain (de.example.com) Google'da ayrı bir entity olarak değerlendirilir, kendi authority'sini sıfırdan kurar. Yeni dile başlamak için subdirectory genelde daha hızlı SEO sonucu verir.
Otomatik çeviri ile hreflang kullanabilir miyim?
Teknik olarak evet ama önerilmez. Google düşük kaliteli otomatik çeviri içeriği fark eder; ranking vermez. Hreflang teknik etiket; içerik kalitesi ayrı bir boyut. Otomatik çeviriyi ham olarak değil, yerel editör tarafından gözden geçirilmiş hâliyle yayınlamak gerekiyor.
Bir sayfa birden fazla dilde içerik içerirse ne olur?
İdeal değil; hreflang sayfa bazlı çalışır, sayfanın tek bir dilde olması beklenir. Karmaşık sayfada (örn. ürün açıklaması Türkçe, kullanıcı yorumları İngilizce) ana dil ne ise hreflang ona göre tanımlanır. Daha temizi her dil için ayrı sayfa açmak.


