Blog'a dön
Yazılım Geliştirme9 dk okuma22 Ekim 2026

Çok Dilli Web Sitesi Kurmak: URL Yapısı, hreflang ve İçerik Yönetimi Rehberi

Yurt dışına satış yapmak ya da iki dilde hizmet vermek istiyorsanız siteyi çevirmek işin yalnızca yarısıdır. URL yapısı, hreflang, canonical, dil seçimi ve çeviri akışı doğru kurulmazsa Google yanlış sayfayı gösterir. Adım adım teknik ve içerik rehberi.

Çok Dilli Web Sitesi Kurmak: URL Yapısı, hreflang ve İçerik Yönetimi Rehberi

Kısaca: Çok dilli web sitesi, aynı içeriği farklı dillerde sunar; ancak “metni çevirmek” yetmez. Üç karar sitenizin kaderini belirler: 1) URL yapısı (alt dizin /en/, alt alan adı en.site.com veya ülke alan adı site.com.tr), 2) dil sürümleri arasındaki ilişkinin arama motoruna bildirilmesi (hreflang ve her sayfa için kendi kendini işaret eden canonical), 3) kullanıcının dilini seçme biçimi (otomatik yönlendirme yerine görünür bir dil seçici ve açık, ayrı URL'ler). Çoğu işletme için alt dizin yapısı (/en/) bakım ve SEO açısından en pratik başlangıçtır. Her dil sürümü kendi adresine, kendi başlığına ve açıklamasına sahip olmalı, yalnızca yayına hazır çeviriler indekslenmeli ve çeviri süreci içerik güncellemeleriyle birlikte yönetilmelidir. Google'ın çok dilli ve çok bölgeli siteler belgesi bu ilkelerin temel kaynağıdır.

Son güncelleme: Ekim 2026

Çok dilli site ile çok bölgeli site farkı

  • Çok dilli: İçerik birden fazla dilde sunulur (Türkçe, İngilizce).
  • Çok bölgeli: Aynı dilin farklı ülke sürümleri vardır (ör. ABD ve Birleşik Krallık İngilizcesi; farklı para birimi, fiyat, ürün).
  • İkisi birlikte: Hem dil hem ülke kombinasyonları (en-US, en-GB, tr-TR).

Çoğu işletme, önce çok dilli ile başlar. Bölge farklılaşması (fiyat, vergi, kargo, yasal metin) gerektiğinde yapı genişletilir.

Karar 1: URL yapısı

YapıÖrnekArtısıDikkat
Alt dizinsite.com/en/Tek alan adı; otorite birikimi ortak; bakım ve SSL kolayTek altyapıda her dili yönetirsiniz
Alt alan adıen.site.comDil başına ayrı sunucu/ekip mümkünArama motorları çoğunlukla ayrı site gibi değerlendirir; yönetim yükü artar
Ülke kodlu alan adı (ccTLD)site.de, site.com.trÜlke hedeflemesi en güçlü sinyal; yerel güvenHer alan adı ayrı yatırım ve bakım; otorite bölünür
URL parametresisite.com?lang=enHızlı uygulanırÖnerilmez: Arama motorları ve kullanıcılar için net değildir

Pratik öneri: Dil temelli bir yapı için alt dizin çoğu işletme için doğru başlangıçtır. Ülke bazlı farklılaşma (farklı fiyat/stok/hukuk) gerekiyorsa ccTLD veya alt dizin + ülke kodu (ör. /de/, /de-at/) düşünülebilir. Varsayılan dilin (örneğin Türkçe) adreslerini değiştirmeden korumak, mevcut sıralamayı korumanın en güvenli yoludur; yeni dil /en/ altında eklenir.

URL'lerde dikkat edilecekler

  • Her dil sürümü kendi kalıcı adresine sahip olmalı; içerik dil çerezi veya tarayıcı ayarına göre aynı URL'de değişmemeli. Aksi halde arama motoru yalnızca bir dili görür.
  • Mümkünse URL'lerde çevrilmiş ve okunabilir adresler kullanın (/en/services/… gibi). Çevrilmiş adres, o dili konuşan kullanıcı için daha güvenilir ve anlaşılır görünür.
  • Dil sürümleri arasında eşleşme tablosu tutun: hangi Türkçe sayfa hangi İngilizce sayfaya karşılık geliyor?

Karar 2: hreflang ve canonical

hreflang, arama motoruna “bu sayfanın başka dillerde de karşılığı var” bilgisini verir; doğru dilin doğru kullanıcıya gösterilmesine yardım eder.

Temel kurallar

  1. Karşılıklı (reciprocal) olmalı. A sayfası B'yi işaret ediyorsa, B de A'yı işaret etmeli. Tek yönlü işaretleme genellikle yok sayılır.
  2. Kendini de içermeli. Her sayfa kendi dil karşılığını da listeler (kendi kendine referans).
  3. Doğru dil/bölge kodları kullanın: dil için ISO 639-1 (tr, en), bölge için ISO 3166-1 (tr-TR, en-GB).
  4. x-default (isteğe bağlı), dili belirlenemeyen kullanıcılar için varsayılan sayfayı belirtir; genelde dil seçici veya ana sürümdür.
  5. Her dil sürümü kendi canonical'ına sahip olmalı: İngilizce sayfa kendi adresini canonical gösterir, Türkçeyi değil. Dil sürümlerini birbirine “canonical” yapmak, çeviriyi dizinden düşürür.
  6. Tam URL kullanın (https ve alan adı dahil); göreli adresler hata riskini artırır.
  7. hreflang'ı HTML <head>'de, HTTP başlığında veya XML sitemap'te verebilirsiniz; hangisini seçerseniz tutarlı olun.

Örnek (HTML)

<link rel="alternate" hreflang="tr" href="https://www.ornek.com/hizmetler/web" />
<link rel="alternate" hreflang="en" href="https://www.ornek.com/en/services/web" />
<link rel="alternate" hreflang="x-default" href="https://www.ornek.com/hizmetler/web" />
<link rel="canonical" href="https://www.ornek.com/hizmetler/web" />

(Bu İngilizce sayfada canonical, kendi /en/… adresini göstermelidir.)

Çeviri yoksa hreflang yok

Bir sayfanın karşılığı hazır değilse, o dil için hreflang eklemeyin ve o dil sayfasını yayınlamayın. Yarım çevrilmiş veya boş sayfalar kullanıcıyı ve arama motorunu yanıltır. “Yalnızca tam çevrilmiş ve yayına hazır” sayfalar dil sürümü olarak sunulmalıdır.

Karar 3: Dil seçimi ve otomatik yönlendirme

Kullanıcıyı konumuna veya tarayıcı diline göre otomatik olarak başka bir dile yönlendirmek cazip görünür; ancak sorunlar yaratır:

  • Arama motoru botları çoğu zaman belirli konumlardan ve belirli dil ayarlarıyla gelir; otomatik yönlendirme, botun diğer dil sürümlerini hiç görmesini engelleyebilir.
  • Kullanıcı belirli bir dilde bir bağlantıya tıkladığında başka dile atılırsa bu kötü bir deneyimdir.
  • Konum, kullanıcının dili hakkında her zaman doğru bilgi vermez (yurt dışında yaşayan Türkçe konuşan kullanıcı, çok dilli ülkeler).

Daha güvenli yaklaşım:

  1. Her dil için ayrı ve doğrudan erişilebilir URL sunun.
  2. Görünür bir dil seçici koyun (üst menüde, her sayfada karşılığına götüren).
  3. Otomatik yönlendirme yapacaksanız yalnızca ana sayfada ve ilk ziyarette, tarayıcı diline göre ve kullanıcı tercihini kalıcı hale getirerek uygulayın; derin sayfaları (/hizmetler/...) yönlendirmeyin.
  4. Yönlendirme yerine, uygun dilde bir öneri bandı göstermek (“Bu sayfa İngilizce de mevcut”) en az riskli seçenektir.
  5. Dil seçici, mümkünse sayfanın karşılığına gitmeli; yalnızca dil ana sayfasına atmamalı.

Google'ın yönergeleri de, dil veya konuma göre otomatik yönlendirmenin tüm sürümlerin taranmasını engelleyebileceği konusunda uyarır; ayrıntı için yukarıdaki belgeye bakın.

İçerik: Çeviri mi, yerelleştirme mi?

Çeviri, metni dilbilgisi olarak aktarır. Yerelleştirme (localization) ise kitleye uyarlar:

  • Deyimler, örnekler ve vurgu hedef kültüre göre değişir.
  • Para birimi, ölçü birimi, tarih biçimi, telefon ve adres formatı yerelleştirilir.
  • Yasal ve mevzuat metinleri (KVKK/GDPR, kullanım koşulları) ülkeye uygun hazırlanır; bu metinler için hukuki destek alın.
  • Anahtar kelimeler doğrudan çevrilmez; o dilde insanların gerçekten ne aradığını araştırın. “Yazılım geliştirme” ile “software development”ın arama kalıpları farklı olabilir.
  • Görseller ve metin içeren grafikler çevrilmeli veya dil-bağımsız olmalı.

Makine çevirisi ve insan gözü

Makine çevirisi ve yapay zekâ, ilk taslak için hızlı ve ucuzdur; ancak teknik terimler, marka tonu, hukuki ifadeler ve satış metni için insan kontrolü gerekir. Otomatik çeviriyi doğrudan, denetlenmeden yayınlamak hem kalite hem arama motoru açısından risklidir. Pratik akış: makine taslağı → alan bilen biri gözden geçirir → yayın.

Teknik tarafta içerik yönetimi

Çok dilli sitenin sürdürülebilir olması için içerik yapısı baştan planlanmalıdır:

  • Veri modeli: Her içerik (sayfa, yazı, hizmet, ürün) için ana dil kaydı ve dil başına çeviri kaydı. Çeviri kaydında kendi başlık, açıklama, slug, meta alanı ve yayın durumu bulunmalı.
  • Yayın durumu: Çevirinin ana içerikten bağımsız olarak “taslak/yayında” olabilmesi.
  • Güncelleme akışı: Ana dildeki içerik değişince çevirinin güncellenmesi gerektiğini gösteren bir işaret.
  • Slug yönetimi: Dil başına benzersiz ve çakışmayan adresler.
  • Sitemap: Her dil sürümünün sitemap'te yer alması; hreflang'ın sitemap'te de verilmesi mümkün.
  • Yapısal veri ve Open Graph: Her dil sürümünde dil ve URL doğru olmalı (og:locale, inLanguage).
  • Arayüz metinleri: Menü, düğme ve form etiketleri için ayrı bir çeviri sözlüğü (i18n dosyaları) kullanın; metinleri kodun içine gömmeyin.
  • Sayfa içi bağlantılar: Bir İngilizce sayfadan verilen iç bağlantılar İngilizce karşılıklara gitmeli; kullanıcı yanlışlıkla Türkçeye düşmemeli.

Modern çerçevelerde (ör. Next.js) çok dilli yönlendirme ve sunucu taraflı üretim, hız ve SEO için güçlü bir temel sağlar; teknik ayrıntılar için Next.js ile teknik SEO rehberimize bakabilirsiniz.

Çok dilli SEO'da en sık yapılan 9 hata

  1. Dili çerez/oturum ile değiştirip aynı URL'de farklı dil sunmak. Arama motoru yalnızca bir sürümü görür.
  2. hreflang'ı karşılıksız veya hatalı vermek.
  3. Tüm dil sürümlerinin canonical'ını ana dile vermek. Çeviriler dizinden düşer.
  4. Konuma göre zorunlu yönlendirme. Botlar ve kullanıcılar diğer sürümlere ulaşamaz.
  5. Çevrilmemiş veya yarım sayfaları yayınlamak.
  6. Başlık ve meta açıklamayı çevirmemek veya Türkçe bırakmak.
  7. Sitemap'e dil sürümlerini eklememek.
  8. Anahtar kelime araştırması yapmadan birebir çeviri yapmak.
  9. Dil seçicisini gizlemek veya yalnızca ana sayfaya yönlendirmek.

Çok dilli site kontrol listesi

  • URL yapısı seçildi (alt dizin önerilir); varsayılan dilin adresleri korundu
  • Her dil sürümü kalıcı ve ayrı bir URL'ye sahip
  • hreflang karşılıklı, kendi kendini içeriyor, doğru kodlarla veriliyor
  • Her sayfa kendi canonical'ını gösteriyor
  • Yalnızca tam çevrilmiş sayfalar yayında ve indeksleniyor
  • Görünür dil seçici var ve sayfanın karşılığına götürüyor
  • Otomatik yönlendirme yok ya da yalnızca ana sayfada ve tercihi hatırlıyor
  • Başlık, meta açıklama, slug ve yapısal veri çevrildi
  • Sitemap'te tüm dil sürümleri var
  • Para birimi, tarih, telefon gibi biçimler yerelleştirildi
  • Hukuki metinler her ülke için uygun
  • Çeviri güncelleme süreci tanımlı

Aktaş Digital ile çok dilli site

Çok dilli siteleri ayrı URL'ler, kalıcı dil tercihi, karşılıklı hreflang, dil başına başlık/açıklama ve yayın kontrollü çeviri yönetimiyle kuruyoruz. Bu rehberdeki ilkeleri kendi sitemizde de uyguluyoruz: Türkçe adresler değişmeden korunur, İngilizce sürüm /en/ altında yalnızca yayına hazır içerikle sunulur. Web uygulamaları ve kurumsal siteler için çok dilli altyapı kurmak, mevcut sitenizi ek dile açmak veya yenilerken sıralamayı korumak için teklif formumuzdan bize yazabilirsiniz. Yenileme sırasında sıralama kaybını önleme konusunda site yenileme kontrol listemize ve yapay zekâ aramalarında görünürlük için GEO rehberimize göz atabilirsiniz.

Sık Sorulan Sorular

Çok dilli site için ayrı alan adı mı almalıyım?

Çoğu işletme için gerekmez. Alt dizin yapısı (/en/) tek alan adında otoriteyi toplar ve yönetimi kolaylaştırır. Ülke bazlı güçlü yerel varlık, ayrı hukuki ve ticari yapı gerekiyorsa ccTLD düşünülebilir.

Her sayfa için hreflang eklemek zorunda mıyım?

Yalnızca gerçekten karşılığı olan ve yayında olan sayfalar için. Karşılığı olmayan sayfa için hreflang eklemeyin; yarım sayfaları yayınlamayın.

Google Çeviri eklentisi yeterli mi?

Hayır. Tarayıcı tabanlı çeviri eklentisi, arama motorunun dizinleyebileceği ayrı URL'ler ve çevrilmiş içerik üretmez. Ayrıca kalite ve marka tonu denetimi yoktur.

Dil seçici hangi sayfaya götürmeli?

Mümkünse bulunduğunuz sayfanın karşılığına; karşılık yoksa ilgili dilin ana sayfasına. Kullanıcının tercih ettiği dili hatırlamak da deneyimi iyileştirir.

Çeviri güncel kalmazsa ne olur?

Ana dil içeriği değişip çeviri eski kalırsa kullanıcılara tutarsız bilgi sunarsınız. Bu yüzden çeviri durumunu izleyen ve değişiklikte uyarı veren bir süreç gerekir.

İkinci bir dil eklemek mevcut sıralamamı etkiler mi?

Doğru kurulursa (varsayılan dil adresleri korunur, yeni dil ayrı URL'de, hreflang doğru) mevcut sıralamayı etkilemez. Mevcut adresleri değiştirmek ya da dili otomatik yönlendirmek riskli kısımdır.

Sonuç

Çok dilli site, “metni çevirme” projesi değil, URL, hreflang, canonical, dil seçimi ve içerik yönetiminin birlikte kurulduğu bir mimari işidir. Alt dizinle başlayın, varsayılan dil adreslerini koruyun, her sürüme kendi URL ve meta bilgisini verin, yalnızca hazır çevirileri yayınlayın ve otomatik yönlendirmeden kaçının. Bugün yapabileceğiniz ilk iş: sitenizdeki sayfaların hangi dilde karşılığı olacağını gösteren bir eşleşme tablosu hazırlamak.

#Next.js
İlk görüşme ücretsiz
Projenizi birlikte hayata geçirelim
Fikrinizi anlatın — size özel bir yol haritası ve maliyet tahmini hazırlayalım.