Hreflang Teknik Rehberi — Çok Dilli SEO İçin Eksiksiz Uygulama Kılavuzu (2026)
Çok dilli veya çok bölgeli bir web sitesi işletiyorsanız, arama motorlarının hangi sayfanın hangi dile ve bölgeye hitap ettiğini doğru anlaması organik trafiğiniz için hayati önem taşır. Hreflang etiketi bu ilişkiyi tanımlayan teknik mekanizmadır — ancak doğru uygulanması, genel kavramı anlamaktan çok daha karmaşıktır. Yanlış yapılandırılmış hreflang etiketleri, arama motorları tarafından tamamen yok sayılır ve çok dilli SEO stratejinizi temelinden çökertir.
Bu rehber, hreflang''in genel tanımını ve "neden önemli" sorularını zaten bildiğinizi varsayar. Uluslararası SEO ve Hreflang Rehberi yazımızda bu temelleri detaylı olarak ele almıştık. Burada ise tamamen teknik uygulamaya odaklanıyoruz: spesifikasyon detayları, üç farklı uygulama yöntemi, dil ve bölge kodlarındaki yaygın hatalar, return tag zorunluluğu, canonical tag ile etkileşim, Next.js/React implementasyonu, XML sitemap ile hreflang yönetimi, hata ayıklama araçları ve büyük ölçekli siteler için ileri düzey stratejiler.
Hreflang Spesifikasyonu: Teknik Detaylar
Hreflang etiketi, Google tarafından 2011 yılında tanıtıldı ve rel="alternate" hreflang="x" formatını kullanır. Temel sözdizimi şöyledir:
```html
```
Her hreflang etiketi üç zorunlu bileşenden oluşur:
1. rel="alternate": Bu bağlantının mevcut sayfanın alternatif bir versiyonu olduğunu belirtir. rel değeri her zaman "alternate" olmalıdır; başka bir değer geçerli değildir.
2. hreflang="dil-kodu": Hedef sayfanın dilini ve opsiyonel olarak bölgesini belirtir. Dil kodu ISO 639-1 standardına, bölge kodu ISO 3166-1 Alpha-2 standardına uymalıdır.
3. href="tam-url": Alternatif sayfanın tam ve mutlak URL''si. Göreli URL''ler kullanılamaz; protokol (https://), alan adı ve tam yol dahil edilmelidir.
Dil ve Bölge Kodları: Doğru Kullanım
ISO 639-1 dil kodları iki harfli küçük harflerden oluşur. Sık karşılaşılan hatalar şunlardır:
| Doğru Kod | Yanlış Kullanım | Açıklama |
|---|---|---|
tr | tur, tk | Türkçe — ISO 639-1 kodu "tr"dir, "tur" üç harfli ISO 639-2 kodudur |
en | eng, us | İngilizce — "us" ülke kodudur, dil kodu değildir |
de | deu, ger | Almanca — "ger" ISO 639-2/B kodudur |
ja | jp | Japonca — "jp" ülke kodudur |
zh | cn | Çince — "cn" Çin ülke kodudur |
ko | kr | Korece — "kr" ülke kodudur |
Bölgesel hedefleme yaparken dil ve bölge kodları tire ile birleştirilir: en-US, en-GB, pt-BR, zh-TW. Bölge kodu her zaman büyük harfle yazılır: en-us değil en-US. Google, büyük/küçük harf farkına toleranslı olsa da spesifikasyona uygun biçimi kullanmak en iyi uygulamadır.
Kritik hata: Ülke kodunu dil kodu olarak kullanmak. hreflang="us" geçersizdir çünkü "US" bir ülke kodudur, dil kodu değildir. Doğru kullanım hreflang="en-US" şeklindedir.
x-default Uygulaması
x-default değeri, kullanıcının dili veya bölgesi tanımlanan alternatiflerin hiçbirine uymadığında gösterilecek varsayılan sayfayı belirtir. Ayrıca dil seçim sayfalarını işaretlemek için de kullanılır:
```html
```
x-default uygulamasında dikkat edilmesi gereken noktalar:
- Her sayfa grubu için yalnızca bir x-default tanımlanmalıdır
- x-default genellikle İngilizce versiyona veya dil seçim sayfasına yönlendirilir
- x-default zorunlu değildir ancak şiddetle önerilir — tanımlanmadığında Google kendi algoritmasıyla varsayılan sayfayı belirler
- x-default sayfasının da return tag''lerini içermesi gerekir
Üç Uygulama Yöntemi: Karşılaştırma ve Seçim
Hreflang etiketlerini uygulamanın üç farklı yöntemi vardır. Her birinin avantajları, dezavantajları ve ideal kullanım senaryoları farklıdır.
Yöntem 1: HTML İçinde Link Elemanları
En yaygın kullanılan yöntemdir. Her sayfanın bölümüne etiketleri eklenir:
```html
```
Avantajları:
- Uygulaması en basit yöntemdir
- Tüm CMS platformlarında kullanılabilir
- Google, Yandex ve diğer arama motorları tarafından desteklenir
- Kaynak kodda doğrudan görülebilir, hata ayıklama kolaydır
Dezavantajları:
- HTML boyutunu artırır — 30 dilli bir sitede her sayfaya 31 (30 dil + x-default) ek satır eklenir
- Sayfa yüklenme süresini etkileyebilir (özellikle çok dilli sitelerde)
- Her sayfa şablonunda güncelleme gerektirir
- JavaScript ile render edilen sayfalarda (SPA) sorunlu olabilir — bot''lar JavaScript çalıştırmadan HTML''i okuduğunda hreflang etiketlerini göremeyebilir
İdeal kullanım: 10''dan az dil/bölge hedefleyen, sunucu tarafında render edilen (SSR) siteler.
Yöntem 2: HTTP Header
PDF, video ve HTML olmayan dosyalar için HTML kullanılamaz. Bu durumda HTTP header yöntemi kullanılır:
```
HTTP/1.1 200 OK
Link: ; rel="alternate"; hreflang="tr",
; rel="alternate"; hreflang="en",
; rel="alternate"; hreflang="de",
; rel="alternate"; hreflang="x-default"
```
Nginx konfigürasyonu örneği:
```nginx
location /tr/dosya.pdf {
add_header Link '; rel="alternate"; hreflang="tr", ; rel="alternate"; hreflang="en", ; rel="alternate"; hreflang="de"';
}
```
Avantajları:
- HTML olmayan dosyalar için tek seçenek
- HTML boyutunu etkilemez
- Sunucu düzeyinde merkezi yönetim
Dezavantajları:
- Yönetimi karmaşıktır, sunucu konfigürasyonu gerektirir
- CDN kullanımında header''ların korunması sağlanmalıdır
- Hata ayıklama görece zordur (HTTP header''larını incelemek gerekir)
- Her URL için ayrı konfigürasyon gerekebilir
İdeal kullanım: PDF, medya dosyaları veya HTML olmayan kaynakların çok dilli versiyonları.
Yöntem 3: XML Sitemap
Büyük ölçekli siteler için en ölçeklenebilir yöntemdir. Hreflang ilişkileri XML sitemap dosyasında xhtml:link elemanları ile tanımlanır:
```xml
xmlns:xhtml="http://www.w3.org/1999/xhtml">
https://example.com/tr/urunler/
https://example.com/en/products/
https://example.com/de/produkte/
```
Dikkat edin: Her bloğu, o URL''nin tüm dil alternatiflerini (kendisi dahil) listeler. Bu, return tag zorunluluğunu sitemap düzeyinde karşılar.
Avantajları:
- HTML boyutunu etkilemez
- Merkezi yönetim — tek bir dosyada tüm hreflang ilişkileri
- Binlerce sayfa için ölçeklenebilir
- Programatik olarak oluşturulması kolay
- Sayfa şablonlarında değişiklik gerektirmez
Dezavantajları:
- Sitemap dosya boyutu önemli ölçüde artar (her dil alternatifi ek satır ekler)
- Sitemap''in arama motoru tarafından düzenli olarak taranması gerekir — HTML yöntemine kıyasla değişikliklerin algılanması daha yavaş olabilir
- Sitemap hataları tüm hreflang yapılandırmasını etkileyebilir
İdeal kullanım: 10+ dil/bölge hedefleyen büyük siteler, e-ticaret platformları.
Hangi Yöntemi Seçmeli?
| Kriter | HTML Head | HTTP Header | XML Sitemap |
|---|---|---|---|
| Dil sayısı < 10 | Önerilir | Uygun | Uygun |
| Dil sayısı > 10 | Uygun değil | Uygun değil | Önerilir |
| HTML olmayan dosyalar | Kullanılamaz | Önerilir | Uygun |
| Yönetim kolaylığı | Orta | Zor | Kolay (otomatik) |
| Algılama hızı | En hızlı | Hızlı | Daha yavaş |
| HTML etkisi | Artırır | Etkilemez | Etkilemez |
Yöntemleri birlikte kullanabilirsiniz ancak dikkatli olun: aynı URL için farklı yöntemlerde çelişkili hreflang tanımları, arama motorlarının kafasını karıştırır. Tutarlılık esastır — bir yöntem seçin ve tüm sitede tutarlı uygulayın.
Return Tag Zorunluluğu: Çift Yönlü Bağlantı
Hreflang uygulamasının en kritik teknik kuralı return tag zorunluluğudur. A sayfası B sayfasına hreflang ile işaret ediyorsa, B sayfası da A sayfasına geri işaret etmelidir. Bu çift yönlü bağlantı yoksa, Google hreflang etiketini yok sayar.
```
Sayfa A (TR) → hreflang="en" → Sayfa B (EN) ✓
Sayfa B (EN) → hreflang="tr" → Sayfa A (TR) ✓ (Return tag)
```
Tek yönlü bir bağlantı geçersizdir:
```
Sayfa A (TR) → hreflang="en" → Sayfa B (EN) ✓
Sayfa B (EN) → hreflang="tr" yok ✗ (Return tag eksik — TÜM hreflang yok sayılır)
```
Self-Referencing Tag
Her sayfa, kendi dilini de hreflang listesinde belirtmelidir. Self-referencing tag olmadan Google, sayfanın hangi dil/bölge grubuna dahil olduğunu net olarak belirleyemez:
```html
```
Self-referencing tag teknik olarak "zorunlu" değildir ancak Google''ın resmi dokümantasyonu bunu şiddetle önerir. Pratikte, self-referencing tag eksik olduğunda hreflang''in yok sayılma oranı belirgin şekilde artar.
Return Tag Doğrulama Mantığı
Bir sayfa grubunda N dil varsa, her sayfa tam olarak N adet hreflang etiketi içermelidir (N-1 alternatif + 1 self-referencing). 5 dilli bir sitede her sayfa 5 hreflang etiketi taşır. Herhangi bir sayfada bir etiket eksikse, o grup için return tag zinciri kırılır.
Doğrulama algoritması:
```
Her URL için:
1. URL''nin hreflang listesindeki tüm alternatifleri al
2. Her alternatif URL''yi ziyaret et
3. Alternatif URL''nin hreflang listesinde orijinal URL var mı kontrol et
4. Yoksa → return tag hatası
```
Hreflang ve Canonical Tag Etkileşimi
Hreflang ile canonical tag arasındaki ilişki, en çok karışıklığa neden olan teknik konulardan biridir. Temel kural şudur: hreflang etiketlerindeki URL''ler, ilgili sayfanın canonical URL''si ile eşleşmelidir.
Doğru Kullanım
```html
```
Yanlış Kullanım (Canonical Çelişkisi)
```html
```
Bu senaryoda Google, canonical URL ile hreflang URL''si arasındaki tutarsızlığı algılar ve hreflang etiketini yok sayar.
Yaygın Tuzaklar
1. Cross-language canonical: Tüm dil versiyonlarının canonical''ını tek bir dile (genellikle İngilizce''ye) yönlendirmek tamamen yanlıştır. Her dil versiyonunun canonical''ı kendisine işaret etmelidir:
```html
```
2. Trailing slash tutarsızlığı: Canonical URL''de trailing slash varken hreflang URL''sinde yoksa (veya tersi), Google bunları farklı URL''ler olarak değerlendirebilir:
```html
```
3. HTTP/HTTPS tutarsızlığı: Canonical URL HTTPS iken hreflang URL''lerinde HTTP kullanmak geçersizdir. Tüm URL''ler aynı protokolü kullanmalıdır.
Next.js / React İmplementasyonu
Modern web uygulamalarında hreflang uygulaması, framework''ün sunduğu araçlarla yapılmalıdır. Next.js App Router kullanıyorsanız, generateMetadata fonksiyonu ile hreflang etiketlerini dinamik olarak oluşturabilirsiniz:
```typescript
// app/[locale]/products/page.tsx
import { Metadata } from ''next'';
const locales = [''tr'', ''en'', ''de''] as const;
type Locale = (typeof locales)[number];
const localePaths: Record = {
tr: ''/tr/urunler'',
en: ''/en/products'',
de: ''/de/produkte'',
};
export async function generateMetadata({
params,
}: {
params: { locale: Locale };
}): Promise
const baseUrl = ''https://example.com'';
const alternates: Record = {};
for (const locale of locales) {
alternates[locale] = ${baseUrl}${localePaths[locale]};
}
return {
alternates: {
canonical: ${baseUrl}${localePaths[params.locale]},
languages: {
...alternates,
''x-default'': ${baseUrl}${localePaths.en},
},
},
};
}
```
Next.js''in Metadata API''si, alternates.languages nesnesini otomatik olarak etiketlerine dönüştürür. Bu yaklaşımın avantajları:
- Tip güvenliği — TypeScript ile derleme zamanında hata yakalama
- Merkezi yönetim — dil/yol eşlemeleri tek bir yerde tanımlanır
- Otomatik canonical —
alternates.canonicalile canonical tag da yönetilir - SSR uyumluluğu — sunucu tarafında render edilir, bot''lar sorunsuz okur
Dinamik Rotalar İçin
Ürün, blog veya kategori gibi dinamik sayfalar için hreflang URL''lerini veritabanından çekmeniz gerekir:
```typescript
// app/[locale]/blog/[slug]/page.tsx
export async function generateMetadata({
params,
}: {
params: { locale: string; slug: string };
}): Promise
const baseUrl = ''https://example.com'';
const post = await getPostBySlug(params.slug, params.locale);
if (!post?.translations) return {};
const languages: Record = {};
for (const translation of post.translations) {
languages[translation.locale] = ${baseUrl}/${translation.locale}/blog/${translation.slug};
}
languages[''x-default''] = languages[''en''] ?? Object.values(languages)[0];
return {
alternates: {
canonical: ${baseUrl}/${params.locale}/blog/${params.slug},
languages,
},
};
}
```
next-intl Kütüphanesi İle
next-intl gibi uluslararasılaşma kütüphaneleri kullanıyorsanız, hreflang yönetimi daha da kolaylaşır:
```typescript
// i18n.ts
import { getRequestConfig } from ''next-intl/server'';
export default getRequestConfig(async ({ locale }) => ({
messages: (await import(./messages/${locale}.json)).default,
}));
// middleware.ts
import createMiddleware from ''next-intl/middleware'';
export default createMiddleware({
locales: [''tr'', ''en'', ''de''],
defaultLocale: ''en'',
localePrefix: ''always'',
alternateLinks: true, // Otomatik hreflang etiketleri
});
```
alternateLinks: true ayarı, next-intl''in her sayfa için otomatik olarak hreflang etiketlerini oluşturmasını sağlar.
XML Sitemap ile Hreflang Yönetimi
Büyük ölçekli siteler için XML sitemap yöntemi en pratik yaklaşımdır. Next.js''te programatik sitemap oluşturma örneği:
```typescript
// app/sitemap.ts
import { MetadataRoute } from ''next'';
interface PageTranslation {
locale: string;
path: string;
lastModified: Date;
}
interface PageGroup {
translations: PageTranslation[];
}
export default async function sitemap(): Promise {
const baseUrl = ''https://example.com'';
const pageGroups: PageGroup[] = await getAllPageGroups();
const entries: MetadataRoute.Sitemap = [];
for (const group of pageGroups) {
const languages: Record = {};
for (const translation of group.translations) {
languages[translation.locale] = ${baseUrl}${translation.path};
}
if (languages[''en'']) {
languages[''x-default''] = languages[''en''];
}
for (const translation of group.translations) {
entries.push({
url: ${baseUrl}${translation.path},
lastModified: translation.lastModified,
alternates: { languages },
});
}
}
return entries;
}
```
Bu yaklaşım, Next.js''in yerleşik sitemap oluşturucusunu kullanarak otomatik olarak hreflang etiketlerini XML sitemap''e ekler.
Ham XML Sitemap Oluşturma
Framework bağımsız bir çözüm gerekiyorsa, hreflang sitemap''i şu şablonla oluşturabilirsiniz:
```xml
xmlns:xhtml="http://www.w3.org/1999/xhtml">
https://example.com/tr/urunler/widget-a/
2026-03-01
href="https://example.com/tr/urunler/widget-a/" />
href="https://example.com/en/products/widget-a/" />
href="https://example.com/de/produkte/widget-a/" />
href="https://example.com/en/products/widget-a/" />
```
Kritik nokta: xmlns:xhtml="http://www.w3.org/1999/xhtml" ad alanı bildirimi zorunludur. Bu bildirimi atlarsanız, xhtml:link elemanları geçersiz XML olarak değerlendirilir ve tüm hreflang tanımlarınız yok sayılır.
Hreflang Hata Ayıklama ve Doğrulama
Hreflang uygulamasında hatalar son derece yaygındır. Ahrefs''in 2023 araştırmasına göre, çok dilli sitelerin %75''inden fazlasında hreflang hataları bulunmaktadır. Bu hataları tespit etmek ve düzeltmek için aşağıdaki araçları ve yöntemleri kullanın.
Google Search Console — International Targeting Raporu
Search Console''daki "International Targeting" raporu, algılanan hreflang hatalarını listeler. Ancak dikkat edin: bu rapor yalnızca Google''ın taradığı ve işlediği sayfalar için veri gösterir. Tüm sayfalarınız taranmamışsa, rapor eksik olacaktır.
Kontrol adımları:
- Search Console → International Targeting → Language sekmesi
- "Errors" bölümünde listelenen URL''leri inceleyin
- Yaygın hata türleri: "No return tag", "Unknown language code", "Non-matching canonical"
Screaming Frog ile Hreflang Denetimi
Screaming Frog''un hreflang denetim özelliği en kapsamlı araçlardan biridir:
- Configuration → Spider → Extraction → Hreflang''ı etkinleştirin
- Tüm siteyi tarayın
- Reports → Hreflang → Hreflang All raporunu inceleyin
- Özellikle "Missing Return Links", "Inconsistent Language", "Non-Canonical Hreflang" hatalarını kontrol edin
Ahrefs Site Audit
Ahrefs''in Site Audit aracı, hreflang hatalarını otomatik olarak tespit eder:
- Missing reciprocal hreflang tags
- Hreflang pointing to non-canonical URLs
- Hreflang and lang mismatch
- Missing self-referencing hreflang
- Hreflang pointing to redirected URLs
Manuel Doğrulama Süreci
Otomatik araçlara ek olarak, kritik sayfalarınız için manuel doğrulama yapın:
```bash
Sayfanın hreflang etiketlerini çekin
curl -s https://example.com/tr/urunler/ | grep -i "hreflang"
HTTP header yöntemi kullanılıyorsa
curl -sI https://example.com/tr/dosya.pdf | grep -i "link.*hreflang"
Her alternatif URL''nin return tag''ini doğrulayın
curl -s https://example.com/en/products/ | grep -i "hreflang=\"tr\""
```
Yaygın Hreflang Hataları ve Çözümleri
Hata 1: Eksik Return Tag
Sorun: A sayfası B''yi referans ediyor ama B, A''yı referans etmiyor.
Çözüm: Tüm dil versiyonlarının hreflang listelerini senkronize edin. Her sayfa, gruptaki tüm alternatifleri (kendisi dahil) listelemelidir.
Önleme: Hreflang etiketlerini merkezi bir veri kaynağından (veritabanı, CMS, API) oluşturun. Manuel ekleme hataya çok açıktır.
Hata 2: Yanlış Dil Kodu
Sorun: hreflang="uk" (Ukrayna ülke kodu) yerine hreflang="uk" kullanmak. Doğru Ukraynaca dil kodu uk''dir ancak İngiliz İngilizcesi için en-GB kullanılmalıdır, en-UK geçersizdir.
Çözüm: ISO 639-1 dil kodları ve ISO 3166-1 Alpha-2 bölge kodları referans tablolarını kullanın. Sık yapılan hatalar:
en-UK→ doğrusuen-GB(Birleşik Krallık''ın ISO kodu GB)zh-ZH→ doğrusuzh-CNveyazh-TWiw→ doğrusuhe(İbranice eski kodu)
Hata 3: Self-Referencing Tag Eksikliği
Sorun: Sayfa, alternatiflerini listelerken kendisini dahil etmiyor.
Çözüm: Her hreflang grubunda, sayfanın kendisine işaret eden bir etiket mutlaka bulunmalıdır.
Hata 4: HTTP/HTTPS Protokol Tutarsızlığı
Sorun: Site HTTPS kullanıyorken hreflang URL''lerinde HTTP protokolü bulunuyor.
Çözüm: Tüm hreflang URL''lerini HTTPS olarak güncelleyin. Canonical URL''ler ile tutarlı olmalıdır.
Hata 5: Trailing Slash Tutarsızlığı
Sorun: Canonical URL https://example.com/tr/urunler/ (slash ile) iken hreflang URL''si https://example.com/tr/urunler (slash olmadan).
Çözüm: Sitenizde trailing slash politikanızı belirleyin ve tüm URL''lerde tutarlı uygulayın. Next.js''te trailingSlash: true veya false ayarıyla bunu kontrol edebilirsiniz.
Hata 6: Yönlendirilen URL''lere Hreflang İşaret Etme
Sorun: Hreflang etiketinde belirtilen URL, 301 veya 302 yönlendirmesi içeriyor.
Çözüm: Hreflang URL''leri her zaman nihai hedefe (200 yanıt veren URL''ye) işaret etmelidir. Yönlendirme zinciri varsa, nihai URL''yi kullanın.
Hata 7: Noindex Sayfaya Hreflang İşaret Etme
Sorun: Hreflang ile referans verilen sayfa noindex meta etiketi veya X-Robots-Tag header''ı içeriyor.
Çözüm: Noindex sayfaları hreflang gruplarından çıkarın. Arama motoru noindex sayfayı indekslemeyeceği için, o sayfanın hreflang ilişkileri anlamsızlaşır.
İleri Düzey Hedefleme Stratejileri
Dil-Yalnız vs. Dil+Bölge Hedefleme
Dil-yalnız hedefleme (hreflang="en"): İngilizce konuşan tüm kullanıcılara aynı içerik sunulur. ABD, İngiltere, Avustralya ayrımı yapılmaz.
Dil+bölge hedefleme (hreflang="en-US", hreflang="en-GB"): Aynı dili konuşan farklı bölgelere özelleştirilmiş içerik sunulur. Para birimi, yazım farklılıkları (color/colour), yerel ifadeler farklılaştırılır.
Ne zaman bölgesel hedefleme kullanmalısınız:
- E-ticaret: Fiyatlar, para birimleri, kargo bilgileri bölgeye göre değişiyorsa
- İçerik farklılıkları: Yazım, terminoloji veya yerel referanslar belirgin şekilde farklıysa
- Yasal gereklilikler: Bölgeye özgü yasal bilgiler, vergi oranları varsa
Ne zaman yalnız dil hedefleme yeterlidir:
- Blog/bilgi siteleri: İçerik evrensel, bölgesel fark yok
- SaaS: Ürün tüm bölgelerde aynı, yalnızca dil değişiyor
Bölgesel Kademeli Hedefleme (Fallback)
Bazı bölgeler için özel içerik varken diğerleri için genel dil versiyonu kullanılabilir:
```html
```
Google, bölgesel bir eşleşme bulamadığında dil-yalnız versiyona, onu da bulamadığında x-default''a döner.
Büyük Ölçekli Hreflang Yönetimi
50+ dil ve binlerce sayfa içeren siteler için hreflang yönetimi ciddi bir mühendislik problemidir:
Veritabanı Odaklı Yaklaşım: Çeviri ilişkilerini veritabanında translation_group gibi bir alan ile yönetin. Hreflang etiketlerini bu veriden otomatik oluşturun. Bu yaklaşım, SEOctopus''un da kullandığı yöntemdir.
Sitemap Segmentasyonu: Dil bazında ayrı sitemap dosyaları oluşturun (sitemap-tr.xml, sitemap-en.xml). Her sitemap''te yalnızca o dilin URL''leri ve hreflang alternatifleri yer alır.
CI/CD Entegrasyonu: Her dağıtımda hreflang doğrulama testleri çalıştırın. Return tag kontrolü, dil kodu doğrulama ve canonical tutarlılığını otomatik olarak test edin.
İzleme ve Alerting: Hreflang hatalarını düzenli olarak tarayın. SEOctopus, otomatik hreflang denetimi ile eksik return tag''leri, yanlış dil kodlarını ve canonical uyumsuzluklarını tespit ederek raporlar.
Hreflang ve AI Arama Motorları
2026 itibarıyla yapay zekâ destekli arama motorlarının (ChatGPT Search, Perplexity, Google AI Overviews) hreflang etiketlerini nasıl işlediği önemli bir sorudur.
Google AI Overviews: Google''ın AI özetleri, geleneksel arama sonuçlarıyla aynı indeksi kullanır. Dolayısıyla hreflang etiketleri, AI Overviews sonuçlarında da bölgesel ve dilsel içerik seçimini etkiler.
ChatGPT Search ve Perplexity: Bu platformlar kendi tarayıcılarıyla web''i indeksler. Hreflang etiketlerini doğrudan işleme konusunda resmi bir belgeleri yoktur. Ancak bu platformlar, kullanıcının dilini algılayarak ilgili içeriği sunmaya çalışır. Doğru hreflang yapılandırması, bu platformların doğru dil versiyonunu keşfetmesini kolaylaştırır.
Pratik etki: Hreflang, AI arama motorları için doğrudan bir sıralama sinyali olmasa da, sitenizin çok dilli yapısının doğru anlaşılmasına katkı sağlar. Yapısal veri ne kadar net olursa, AI platformlarının doğru içeriği sunma olasılığı o kadar artar.
Hreflang Uygulama Kontrol Listesi
Aşağıdaki kontrol listesini her hreflang uygulamasında kullanın:
Temel Kontroller:
- [ ] Her hreflang etiketi geçerli ISO 639-1 dil kodu kullanıyor mu?
- [ ] Bölge kodları ISO 3166-1 Alpha-2 standardına uygun mu?
- [ ] Tüm URL''ler mutlak (tam) URL mi?
- [ ] Protokol (HTTP/HTTPS) tüm URL''lerde tutarlı mı?
- [ ] Trailing slash tüm URL''lerde tutarlı mı?
Return Tag Kontrolü:
- [ ] Her sayfa kendi dilini (self-referencing) listeliyor mu?
- [ ] Her A→B referansı için B→A return tag''i var mı?
- [ ] x-default tanımlanmış mı?
- [ ] x-default sayfası da tüm alternatifleri listeleliyor mu?
Canonical Uyumu:
- [ ] Hreflang URL''leri canonical URL''lerle eşleşiyor mu?
- [ ] Cross-language canonical kullanılmıyor mu?
- [ ] Hreflang, yönlendirilen URL''lere işaret etmiyor mu?
- [ ] Hreflang, noindex sayfaları referans etmiyor mu?
Araç Doğrulaması:
- [ ] Search Console International Targeting''de hata yok mu?
- [ ] Screaming Frog hreflang denetimi temiz mi?
- [ ] Ahrefs Site Audit hreflang bölümünde sorun yok mu?
- [ ] Manuel curl testi ile return tag''ler doğrulandı mı?
Sürekli İzleme:
- [ ] Haftalık hreflang denetimi planlandı mı?
- [ ] Yeni sayfa eklendiğinde hreflang güncellemesi otomatik mi?
- [ ] Silinen/yönlendirilen sayfaların hreflang''leri temizleniyor mu?
Sonuç
Hreflang teknik uygulaması, uluslararası SEO''nun en hata yapılan alanıdır. Spesifikasyonu basit gibi görünse de, return tag zorunluluğu, canonical uyumu, dil kodu doğruluğu ve URL tutarlılığı gibi birçok teknik detay, uygulamayı karmaşık hale getirir. Bu rehberdeki yöntemleri, kod örneklerini ve kontrol listesini kullanarak hreflang yapılandırmanızı sağlam temeller üzerine kurabilirsiniz.
Temel prensipleri özetleyelim: tek bir uygulama yöntemi seçin ve tutarlı kullanın, return tag''leri asla ihmal etmeyin, canonical URL''ler ile hreflang URL''lerini senkronize tutun, hreflang etiketlerini merkezi bir kaynaktan otomatik oluşturun ve düzenli denetimler yapın. SEOctopus, bu kontrollerin büyük bölümünü otomatikleştirerek çok dilli sitelerinizin hreflang sağlığını sürekli izlemenize yardımcı olur.