---
title: "Çok Dilli SEO: hreflang, x-default, Kanonik — Uygulamalı Rehber"
description: Çok dilli sitelerde hangi sayfanın hangi dile/bölgeye ait olduğu arama motorlarına hreflang ile bildirilir. Bu rehber QA kontrol listesi ve sık hataları içerir.
url: "https://cevirihizmetleri.com.tr/belgeler/hreflang-x-default-rehberi/"
updated: "2026-11-07"
category: Yerelleştirme
---

# Çok Dilli SEO: hreflang, x-default, Kanonik — Uygulamalı Rehber

**Özet:** Çok dilli sitelerde hangi sayfanın hangi dile/bölgeye ait olduğu arama motorlarına `hreflang` ile bildirilir. Bu rehber, HTML `<head>`, HTTP Link Header ve XML site haritası yöntemlerini; `x-default` ve kanonik etiketinin birlikte nasıl çalıştığını; QA kontrol listesini ve sık hataları örnek kodlarla anlatır.
 Bağlam: [Yerelleştirme Hizmetleri](https://cevirihizmetleri.com.tr/yerellestirme/)

## 1) Hreflang ne zaman gerekir?

- Aynı içeriğin farklı dil ve/veya bölge sürümlerini (ör. `tr-TR`, `en-GB`) yayımlıyorsanız.
- Kullanıcıların yanlış dilde sayfaya düşmesini azaltmak istiyorsanız.
- Coğrafi hedefleme değil, dil/bölgeye uygun sonuç göstermek istiyorsanız.
- Tek dilli sitelerde genellikle gerekmez. Hreflang otomatik yönlendirme yapmaz.

## 2) URL stratejisi: alt dizin mi, alt alan mı?

### 2.1) Alt dizin

- Örnek: `https://example.com/tr/`, `https://example.com/en/`
- Artı: Otorite ana alanla paylaşılır; bakım ve analitik kolaydır.
- Eksi: Merkezi içerik disiplini ve sürümleme gerekir.

### 2.2) Alt alan

- Örnek: `https://tr.example.com/`, `https://en.example.com/`
- Artı: Operasyonel esneklik; ülke ekipleri bağımsız çalışabilir.
- Eksi: Otorite dağılımı ve devri ek çalışma isteyebilir.

Parametre (`?lang=tr`) ve hash (#) temelli çözümler SEO için uygun değildir. Hangi modeli seçerseniz seçin, her dil sayfasında self-canonical kullanın; farklı diller birbirine canonical edilmez.

## 3) Dil/bölge kodları ve eşleştirme

- Dil (ISO 639-1) + isteğe bağlı bölge (ISO 3166-1 alpha-2): `tr-TR`, `en-US` gibi.
- Sadece dil (`en`) genel sürüm; `en-GB`/`en-US` bölgeye özgüdür.
- Yaygın hatalar: `tr_TR`, `en_UK`, geçersiz bölge kodları.
- Hreflang referansları karşılıklı olmalıdır (A↔B).

## 4) Yöntem #1: HTML <head>

Her sayfanın `<head>` bölümüne `link rel="alternate"` etiketleri ekleyin:

- `<link rel="alternate" hreflang="x-default" href="https://example.com/" />`
- `<link rel="alternate" hreflang="tr-TR" href="https://example.com/tr/" />`
- `<link rel="alternate" hreflang="en" href="https://example.com/en/" />`
- `<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/" />`

- Artı: Basit ve CMS’lerde pratik.
- Dikkat: Büyük sitelerde çok satır üretir; sorun değildir. Karşılıklılık şarttır; `noindex` sayfalara hreflang verilmez.

## 5) Yöntem #2: HTTP Link Header

HTML’e erişilemiyorsa sunucu yanıt başlıklarına ekleyin (satırları ayrı ayrı yazın):

- `Link: <https://example.com/>; rel="alternate"; hreflang="x-default"`
- `Link: <https://example.com/tr/>; rel="alternate"; hreflang="tr-TR"`
- `Link: <https://example.com/en/>; rel="alternate"; hreflang="en"`

- Ne zaman: Headless mimari, CDN/edge templating, dinamik çıktılar.
- Dikkat: Cache/purge ve header’ın CDN’den son kullanıcıya taşındığını test edin.

## 6) Yöntem #3: XML site haritası

Her `<url>` düğümüne aşağıdaki satırları ekleyin:

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

- Artı: Merkezi yönetim; büyük/çok dilli sitelerde düzen sağlar.
- Dikkat: Tek yöntem seçip tutarlı uygulayın. HTML/HTTP/XML yöntemlerinde dil seti aynı olmalıdır.

## 7) x-default ve kanonik

- `x-default`, genel ya da dil/bölge seçici landing’i işaret eder.
- Her dil sayfası kendi canonical’ına işaret eder (self-canonical); farklı diller birbirine canonical edilmez.
- Konum/dil otomatik yönlendirme varsa, yönlendirme öncesinde dil/ülke seçimi sunan bir landing’i `x-default` yapın.

## 8) CMS / platform notları

- WordPress: Şablonda `<link rel="alternate">` üreten çözüm kullanın; karşılıklılığı kontrol edin.
- Headless/Shopify: Şablonda dil döngüsü kurun veya HTTP Link Header kullanın. Edge cache key’e `Accept-Language` eklemeyin.
- CDN: Bölgesel varyant için teknik yönlendirme yerine hreflang sinyalini temel alın; sitemap ve header kalıcılığını test edin.

## 9) QA ve doğrulama

1. Site haritası: Dil seti tüm sayfalarda tutarlı mı? Boş/yanlış URL yok mu?
2. Karşılıklılık: A sayfası B’yi, B sayfası A’yı işaretliyor mu?
3. Self-canonical: Her dil sayfası kendi canonical’ına mı işaret ediyor?
4. Header taraması: `curl -I` ile `Link:` başlıklarını kontrol edin.
5. Arayüz QA: Dil seçici, menüler ve içerik doğru dilde mi? Kırık bağlantı var mı? Ayrıntılı adımlar için [L10n QA Kontrol Listesi](https://cevirihizmetleri.com.tr/belgeler/l10n-qa-kontrol-listesi/) makalesine bakın.

### 9.1) Hızlı kontrol listesi

- Her sayfanın tüm dil varyantları listelendi.
- Varyantlar karşılıklı işaretli (A↔B).
- Her dil sayfası self-canonical.
- `x-default` landing tanımlı (gerekiyorsa).
- HTML / HTTP / XML yöntemlerinden yalnızca biri etkin (karma yok).
- ISO kodları doğru (ör. `tr-TR`, `en-GB`).

## 10) Sık hatalar ve çözümleri

- Tek yönlü işaretleme → Karşılıklılığı sağlayın.
- Yanlış ISO kodu → `tr_TR` yerine `tr-TR`; `en_UK` yerine `en-GB`.
- `noindex` sayfaya hreflang → `noindex` sayfaları eşlemeden çıkarın.
- Çapraz canonical → Her dilde self-canonical kullanın.
- Tutarsız yöntem seti → HTML’de 3 dil, XML’de 2 dil gibi çelişkileri kaldırın; yöntemi tek ve tutarlı kullanın.
- `x-default` eksik → Dil/bölge seçici landing varsa ekleyin.

## 11) Mini SSS

### x-default zorunlu mu?

Her zaman zorunlu değildir; dil/ülke seçici bir landing varsa önerilir.

### Bölge kodu şart mı?

Hayır. Sadece dil (ör. `en`) de geçerlidir; bölgeye özgü içerikte `en-GB` veya `en-US` tercih edilir.

### Otomatik yönlendirme ile birlikte kullanabilir miyim?

Evet; ancak yönlendirme öncesinde dil/ülke seçimi sunan bir landing’i `x-default` olarak konumlandırın.

## 12) İlgili içerik ve sonraki adım

- [Yazılım ve Uygulama Yerelleştirme Rehberi](https://cevirihizmetleri.com.tr/belgeler/yazilim-uygulama-yerellestirme-rehberi/)
- [L10n QA Kontrol Listesi](https://cevirihizmetleri.com.tr/belgeler/l10n-qa-kontrol-listesi/)
- [Sürekli Yerelleştirme (CI/CD) — Blog](https://cevirihizmetleri.com.tr/surekli-yerellestirme-ci-cd-nedir-nasil-kurulur/)

Projeniz için doğru hreflang kurulumunu birlikte tasarlayalım: [İletişim](https://cevirihizmetleri.com.tr/iletisim/).
