Türk Bayrağı
Genel

Çok Dilli Web Sitelerinde SEO: Sık Yapılan Hatalar ve Çözümleri

Çok dilli web uygulamaları geliştirmek, tek dilli bir siteye kıyasla çok daha fazla karar gerektiriyor. Özellikle SEO tarafında — hreflang yönetimi, canonical URL'ler, yapısal veri ve URL yapısı gibi konularda yanlış bir adım, tüm organik trafiğinizi sıfırlayabilir.

Bu yazıda, çok dilli bir web projesi olan ForexTradeLab.com üzerinden gerçek dünyada karşılaşılan SEO sorunlarını ve çözüm yaklaşımlarını inceleyeceğim.

Çok Dilli Sitelerde URL Stratejisi

Çok dilli bir site kurarken ilk karar URL yapısıdır. Üç yaygın yaklaşım var:

Yöntem Örnek Avantaj Dezavantaj
Subdomain ar.site.com/about/ Dil bazlı ayrı hosting Her subdomain ayrı domain authority
Subdirectory site.com/ar/about/ Tek domain authority Routing karmaşıklığı
Parametre site.com/about?lang=ar Kolay implementasyon Google tarafından önerilmiyor

SEO açısından en sağlıklı yöntem subdirectory yaklaşımıdır. Google'ın kendi dokümantasyonu da bunu öneriyor çünkü tüm diller aynı domain authority'den faydalanıyor.

İncelediğim projede de bu yaklaşım kullanılmış: varsayılan dil için prefix yok, diğer diller prefix alıyor. Örneğin:

/tools/lot-calculator/        → İngilizce (varsayılan)
/ar/tools/lot-calculator/     → Arapça

Hreflang: En Çok Hata Yapılan Konu

hreflang tagları, arama motorlarına "bu sayfanın başka dillerde de versiyonları var" demek için kullanılıyor. Kulağa basit geliyor ama pratikte en çok hata yapılan SEO konularından biri.

1. Self-referencing hreflang eksikliği

Her sayfa, kendi diline ait hreflang'i de içermeli. Çoğu geliştirici sadece diğer dillere link verir, kendisini unutur:

<!-- Yanlış: Sadece diğer dil -->
<link rel="alternate" hreflang="ar" href="https://site.com/ar/about/" />

<!-- Doğru: Kendisi dahil tüm diller + x-default -->
<link rel="alternate" hreflang="en" href="https://site.com/about/" />
<link rel="alternate" hreflang="ar" href="https://site.com/ar/about/" />
<link rel="alternate" hreflang="x-default" href="https://site.com/about/" />

2. Canonical URL ile hreflang çakışması

Bu hata tek başına yüzlerce uyarı üretebilir. Canonical URL sonunda slash (/) varsa, hreflang URL'lerinde de olmalı. Tutarsızlık olduğunda Semrush gibi araçlar bunu "hreflang conflict" olarak raporlar.

Çözüm basit: slash'sız gelen URL'leri 301 ile slash'lı versiyona yönlendirmek. Böylece site genelinde tek bir URL formatı olur.

3. Gereksiz bölgesel dil tagları

Arapça içerik tek bir versiyonda sunuluyorsa, ar-SA, ar-AE, ar-EG gibi bölgesel taglar kullanmak anlamsız. Hepsi aynı URL'e işaret ediyorsa Google bunu "duplicate alternate" olarak işaretler. Tek bir hreflang="ar" yeterlidir.

Sitemap'te Hreflang Yapısı

Sitemap içinde hreflang tanımlamak, HTML'deki tanımlamayı destekler. Ancak kritik bir kural var: her dil versiyonu için ayrı URL bloğu oluşturulmalı ve her blok tüm alternatifleri içermeli.

<url>
  <loc>https://site.com/about/</loc>
  <xhtml:link rel="alternate" hreflang="en" href="https://site.com/about/" />
  <xhtml:link rel="alternate" hreflang="ar" href="https://site.com/ar/about/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://site.com/about/" />
</url>
<url>
  <loc>https://site.com/ar/about/</loc>
  <xhtml:link rel="alternate" hreflang="en" href="https://site.com/about/" />
  <xhtml:link rel="alternate" hreflang="ar" href="https://site.com/ar/about/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://site.com/about/" />
</url>

Sadece bir dili yazıp diğerini atlarsanız, Google eksik olan dili indexlerken hreflang sinyalini göremez.

Structured Data ve E-E-A-T

Google'ın E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) kriterleri, özellikle finans, sağlık, hukuk gibi YMYL kategorisindeki sitelerde çok önemli. Structured data bu sinyalleri güçlendirmenin en etkili yolu.

Önerilen şemalar:

  • BlogPosting — yazar bilgisi, yayın ve güncellenme tarihi
  • ProfilePage — yazar profil sayfaları için
  • SoftwareApplication — online araçlar için (ücretsiz ise "price": "0")
  • FAQPage — sıkça sorulan sorular bölümleri için

Önemli bir detay: Google, SoftwareApplication şemasında aggregateRating veya review alanını zorunlu tutuyor. Bu alan eksikse Search Console'da "missing field" hatası alırsınız.

Meta Tag Tutarsızlıkları

Çok dilli projelerde sık karşılaşılan küçük ama kritik bir hata:

<meta name="language" content="english" />
<html lang="en">

Birinde "english" yazarken diğerinde "en" — bu tutarsızlık SEO araçlarında hata olarak çıkar. Her yerde ISO 639-1 kodları (en, ar, tr) kullanılmalı.

Meta Description Uzunluğu

Google meta description'ları piksel cinsinden değerlendirir, karakter sayısıyla değil:

  • Başlık: ~580px (yaklaşık 55-60 karakter)
  • Açıklama: ~920px (yaklaşık 150-160 karakter)

Bunu aşan metinler arama sonuçlarında kesilir. Çok dilli bir sitede her dilin karakter genişliği farklı olduğu için (Arapça karakterler genellikle daha geniş) her dil için ayrı kontrol şart.

Sonuç

Çok dilli SEO, tek seferlik bir iş değil — sürekli izleme ve iyileştirme gerektiren bir süreç. Semrush ve Google Search Console ile düzenli audit yapmak, hataları erken yakalamak açısından kritik.

Bu yazıda bahsettiğim hataların çoğu, ForexTradeLab.com'un SEO audit sürecinde tespit edilmiş gerçek sorunlar. Eğer siz de çok dilli bir proje üzerinde çalışıyorsanız, bu listeyi bir kontrol listesi olarak kullanabilirsiniz.