Çok dilli SEO ve hreflang pratikte: 11 dil deneyim rehberi
Çok dilli SEO, vakaların %70'inde karşılıklı hreflang eksikliği veya tutarsız URL mimarisi nedeniyle başarısız olur. Stack 2026: /lang/ alt klasörlü URL'ler (özel durumlar dışında coğrafi domain yok), Next.js Metadata + sitemap içinde hreflang, fallback dil için x-default, 50 öncelikli sayfada insan çevirileri (otomatik değil), pazara göre content adaptation. optionweb.dev sitemiz 18 aydır üretimde 11 dil işletmektedir.
optionweb.dev sitemiz 18 aydır 11 dilde çalışıyor — FR, NL, EN, DE, ES, IT, PT, SQ, AR, MK, TR. Bu üretim çalışmaları, hiçbir teorik rehberin bahsetmediği tüm çok dilli SEO tuzaklarını keşfetmemizi sağladı. İşte tam deneyim raporu ve OptionWeb'de tüm uluslararası müşteri projelerinde artık uyguladığımız metodoloji.
1. URL mimarisi: alt klasör vs alt domain vs ccTLD
Çok dilli bir site için üç mimari seçenek. Başlangıç tercihi diğer her şeyi etkiler:
| Mimari | Örnek | Avantajlar | Dezavantajlar |
|---|---|---|---|
| Alt klasör | site.com/fr/, /en/ | 1 domain = paylaşılan equity, basit yapılandırma | Güçlü coğrafi sinyal yok |
| Alt domain | fr.site.com, en.site.com | Ayrılabilir DNS yapılandırması, yerel ekipler | Backlink equity kısmen ayrılmış |
| ccTLD | site.fr, site.be, site.de | Maksimum coğrafi sinyal, yerel branding | Domain maliyeti + altyapı × N ülke |
2026 önerisi: KOBİ ve şirketlerin %90'ı için /lang/ alt klasörü. optionweb.dev üzerindeki seçimimiz budur. ccTLD yalnızca Amazon veya IKEA iseniz.
2. Hreflang: karşılıklılık pazarlık konusu değildir
Hreflang, Google'a sayfanın hangi sürümünün hangi kullanıcıya dile/ülkeye göre sunulacağını söyleyen meta etiketidir. Doğru hreflang olmadan, Google yalnızca bir sürümü (genellikle EN) sıralar ve diğerlerini göz ardı eder = uluslararası trafikte büyük kayıp.
Mutlak kural: karşılıklılık. /fr/, /en/'e işaret ediyorsa, /en/ de geriye doğru /fr/'ye işaret etmelidir. Karşılıklılık olmadan, Google sayfadaki TÜM hreflang'leri göz ardı eder.
export async function generateMetadata({ params }: Props): Promise<Metadata> {
const { lang } = params;
return {
title: t('home.title', { lng: lang }),
alternates: {
canonical: `https://optionweb.dev/${lang}`,
languages: {
'fr': 'https://optionweb.dev/fr',
'nl': 'https://optionweb.dev/nl',
'en': 'https://optionweb.dev/en',
'de': 'https://optionweb.dev/de',
'es': 'https://optionweb.dev/es',
'it': 'https://optionweb.dev/it',
'pt': 'https://optionweb.dev/pt',
'sq': 'https://optionweb.dev/sq',
'ar': 'https://optionweb.dev/ar',
'mk': 'https://optionweb.dev/mk',
'tr': 'https://optionweb.dev/tr',
'x-default': 'https://optionweb.dev/en',
},
},
};
}Hreflang kod formatı: ISO 639-1 (dil, örn: 'fr') VEYA ISO 639-1 + ISO 3166-1 (dil-ülke, örn: 'fr-BE'). Dil-ülke formatı belirli bir pazarı hedefler. Yalnızca dili kullanmak vakaların %90'ında yeterlidir.
3. x-default ve dil fallback'i
x-default özelliği, kullanıcının dili hreflang listesinde yoksa sunulacak sürümü belirtir. SEO 'lifeguard'ınızdır: x-default olmadan, çok dilli sitenize gelen Japon bir kullanıcı Google algoritmasına göre rastgele bir sayfa görür.
İyi uygulama: x-default'u en evrensel fallback diline (genellikle EN) veya varsa bir dil seçim sayfasına işaret edin.
4. Çok dilli sitemap veya sub-sitemap
Hacme göre iki yaklaşım:
- hreflang xhtml:link içeren tek sitemap — Toplam <5000 URL için. Her URL varyantlarını xhtml:link ile listeler. Ağır ama merkezileştirilmiş.
- Dil başına sub-sitemap + sitemap_index — >5000 URL için. Dil başına bir sitemap.xml (sitemap-fr.xml, sitemap-en.xml...), tümü sitemap_index.xml'de referans alınır.
export const dynamic = 'force-static';
export default function sitemap(): MetadataRoute.Sitemap {
const SUPPORTED_LANGS = ['fr','nl','en','de','es','it','pt','sq','ar','mk','tr'];
const PAGES = ['', '/blog', '/services', '/contact'];
const urls: MetadataRoute.Sitemap = [];
for (const page of PAGES) {
for (const lang of SUPPORTED_LANGS) {
urls.push({
url: `https://optionweb.dev/${lang}${page}`,
lastModified: new Date(),
alternates: {
languages: Object.fromEntries(
SUPPORTED_LANGS.map(l => [l, `https://optionweb.dev/${l}${page}`])
),
},
});
}
}
return urls;
}5. Language detection: auto-redirect veya kullanıcı seçimi
Yeni bir ziyaretçi optionweb.dev/ kökünüze geldiğinde, 3 seçeneğiniz var:
- Accept-Language başlığına dayalı auto-redirect → /fr/, /en/, vb. (riskli UX ama maks dönüşüm)
- Hatırlama cookie'siyle dil seçim sayfası (açık UX, ilk dönüşümü cezalandırır)
- Fallback x-default + 'Switch to your language?' banner'ı (önerilen uzlaşma)
optionweb.dev'deki seçimimiz: seçenek 3. Kök / /fr/'ye (varsayılan dil) yönlendirir, Accept-Language başka bir desteklenen dil belirtirse geçişi öneren ince bir banner ile. Her ziyarette geçişi yeniden önermemek için hatırlama cookie'si.
6. Çeviri stratejisi: insan vs otomatik
Çok dilli SEO'nun ana bütçesel sorusudur. İş önceliğine göre üç seçenek:
| Yaklaşım | Sayfa başına maliyet | SEO kalitesi | Ne zaman kullanılır |
|---|---|---|---|
| Profesyonel insan çevirisi | 15-50 € | Mükemmel | İlk 20-50 stratejik sayfa |
| Post-edited machine translation (MTPE) | 5-15 € | İyi | İkincil sayfalar, hacimli blog |
| Ham machine translation (DeepL, Google) | 0,001 € | Orta | Taslaklar, az kritik içerik |
İhracatçı KOBİ için önerilen plan: profesyonel insan çevirisinde ilk 30 sayfa, MTPE'de blog, geri kalanı insan editi'ne kadar noindex işaretli ham MT'de. Başlangıç bütçesi: ilk 30 sayfa × 10 dil için 1 500-5 000 €.
7. Çok dilliliğin 8 tuzağı (üretimde yaşanmış)
18 ayda müşteri projelerinde yaptığımız veya gördüğümüz hataların listesi:
- Karşılıklı olmayan hreflang: Google her şeyi göz ardı eder. Merkle Tool ile aylık denetim zorunlu.
- Coğrafi IP'ye dayalı agresif auto-redirect: tatildeki Fransız kullanıcı Türkçe görür.
- Ürün sayfalarında ham otomatik çeviriler: çöken dönüşüm, zayıf engagement sinyalleri, düşen sıralama.
- EN yerine ana dile işaret eden x-default: desteklenen diller dışındaki kullanıcılar anlaşılmaz Fransızcaya düşer.
- JSON-LD şemalarını yerelleştirmeyi unutmak: EN'de Organization, FR'de Article = Google için tutarsızlık.
- Çok yakın diller arasında yinelenen sayfalar (PT-PT vs PT-BR, ES-ES vs ES-MX) granüler hreflang olmadan: kaniballeşme.
- Yeni dil eklendikten sonra sitemap güncellenmemiş: yeni URL'ler 6 ay boyunca asla indekslenmemiş.
- Crawler robotlarını engelleyen dil cookie'si: Googlebot yalnızca bir dili görür, diğerleri görünmez.
Doğrulama ve izleme araçları
- Hreflang Tags Testing Tool (Merkle) — Ücretsiz. Herhangi bir URL'de hreflang karşılıklılığını doğrular. Aylık olarak kullanılmalı.
- Google Search Console > International Targeting — Google tarafından tespit edilen hreflang hatalarına ayrılmış bölüm. Klasik 'No return tags' bildirimi.
- Screaming Frog SEO Spider — Toplu hreflang denetimi ile tam site crawl'ı. Yıllık 159 £ pro sürüm. Büyük siteler için vazgeçilmez.
- Sistrix — Ülke/dile göre sıralama takibi. Aylık 100-300 €. Uluslararası raporlama bütçesi olan şirketler için.
- Ahrefs Site Audit — Hreflang denetimini içerir. Aylık minimum 99 $. Çok dilli lansmandan önce tek seferlik denetim için iyi.
- Manuel curl denetimi — Ücretsiz. Her URL'nin döndürdüğü hreflang'leri 'curl -I' ve HTML inceleme yoluyla doğrulayın.
Read next
Statik bir Next.js sitesinin teknik SEO'su: 2026 eksiksiz kontrol listesi
Bir Next.js static export sitesinin SEO'da 100/100'e ulaşması için teknik olarak yapılandırılması gereken her şey: metadata, JSON-LD, sitemap, hreflang, robots, Speakable, gelişmiş şemalar.
2026'da GEO: ChatGPT, Perplexity ve Google AI Overviews tarafından alıntılanmak
Generative Engine Optimization: ChatGPT Search, Perplexity, AI Overviews, Gemini ve Copilot tarafından alıntılanmak için site yapılandırma. Klasik SEO ötesinde somut teknikler.
2026'da Belçika web hosting: KOBİ'ler için tam rehber
2026'da Belçikalı bir web hosting nasıl seçilir — seçim kriterleri, gerçek maliyetler, GDPR uyumluluğu, yerel veri merkezleri, performans. OptionWeb'den pratik rehber.
