Live · status OK
Back to blog
SEO & AEO14 min

Çok dilli SEO ve hreflang pratikte: 11 dil deneyim rehberi

TL;DR

Ç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.

Julien Daniel
ByJulien Daniel
Founder & CTO, OptionWeb
Share
Çok dilli SEO için 11 ülke bayrağını birleştiren oklarla küre

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ÖrnekAvantajlarDezavantajlar
Alt klasörsite.com/fr/, /en/1 domain = paylaşılan equity, basit yapılandırmaGüçlü coğrafi sinyal yok
Alt domainfr.site.com, en.site.comAyrılabilir DNS yapılandırması, yerel ekiplerBacklink equity kısmen ayrılmış
ccTLDsite.fr, site.be, site.deMaksimum coğrafi sinyal, yerel brandingDomain 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.

app/[lang]/page.tsxtsx
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 sitemapToplam <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.
app/sitemap.tsts
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:

  1. Accept-Language başlığına dayalı auto-redirect → /fr/, /en/, vb. (riskli UX ama maks dönüşüm)
  2. Hatırlama cookie'siyle dil seçim sayfası (açık UX, ilk dönüşümü cezalandırır)
  3. 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şımSayfa başına maliyetSEO kalitesiNe zaman kullanılır
Profesyonel insan çevirisi15-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 €OrtaTaslaklar, 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:

  1. Karşılıklı olmayan hreflang: Google her şeyi göz ardı eder. Merkle Tool ile aylık denetim zorunlu.
  2. Coğrafi IP'ye dayalı agresif auto-redirect: tatildeki Fransız kullanıcı Türkçe görür.
  3. Ürün sayfalarında ham otomatik çeviriler: çöken dönüşüm, zayıf engagement sinyalleri, düşen sıralama.
  4. EN yerine ana dile işaret eden x-default: desteklenen diller dışındaki kullanıcılar anlaşılmaz Fransızcaya düşer.
  5. JSON-LD şemalarını yerelleştirmeyi unutmak: EN'de Organization, FR'de Article = Google için tutarsızlık.
  6. Çok yakın diller arasında yinelenen sayfalar (PT-PT vs PT-BR, ES-ES vs ES-MX) granüler hreflang olmadan: kaniballeşme.
  7. Yeni dil eklendikten sonra sitemap güncellenmemiş: yeni URL'ler 6 ay boyunca asla indekslenmemiş.
  8. 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 TargetingGoogle tarafından tespit edilen hreflang hatalarına ayrılmış bölüm. Klasik 'No return tags' bildirimi.
  • Screaming Frog SEO SpiderToplu 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 AuditHreflang 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.
Tags#seo#hreflang#i18n#multilingual#international-seo#nextjs