Tarayıcı Diline Göre .htaccess ile Otomatik Dil Yönlendirmesi (2026 Güncel Rehber)

Çok dilli web sitelerinde ziyaretçilerin kendi tarayıcı diline göre otomatik olarak doğru dil versiyonuna yönlendirilmesi, kullanıcı deneyimini (UX) önemli ölçüde iyileştirir. Bu sayede ziyaretçi siteye girer girmez Türkçe, İngilizce, Almanca veya istediğiniz başka bir dildeki içeriğe ulaşır. Apache sunucularda bu işlemi .htaccess dosyası ile hızlı ve etkili bir şekilde gerçekleştirebilirsiniz.

Neden Tarayıcı Diline Göre Yönlendirme Yapmalısınız?

Ziyaretçiler tarayıcı ayarlarında tercih ettikleri dili belirtir (Accept-Language HTTP header).

Doğru dile otomatik yönlendirme, hemen çıkma (bounce) oranını düşürür ve sitede geçirilen süreyi artırır.

Uluslararası sitelerde dönüşüm oranlarını olumlu etkiler.

SEO açısından da faydalıdır – Her dil için ayrı URL yapısı (örneğin /tr/, /en/) kullanıldığında hreflang etiketleriyle birlikte daha iyi indekslenir.

Önemli Uyarı (2026):

Yalnızca ana sayfaya (root /) yönlendirme yapın. İç sayfalarda yönlendirme yaparsanız kullanıcılar manuel dil değiştirme seçeneğini kullanamaz. Ayrıca arama motoru botları (özellikle Googlebot) Accept-Language header’ını tutarlı göndermez. Bu yüzden hreflang etiketlerini ve ayrı URL’leri mutlaka kullanın. AI ajanları ve bazı crawler’lar için de öngörülebilir URL yapısı daha güvenlidir.

.htaccess ile Tarayıcı Diline Göre Yönlendirme Kodu

Web sitenizin kök dizinindeki .htaccess dosyasına aşağıdaki kodu ekleyin. mod_rewrite modülünün sunucuda aktif olduğundan emin olun.

RewriteEngine On

# Türkçe tarayıcılar için /tr/ klasörüne yönlendir
RewriteCond %{HTTP:Accept-Language} ^tr [NC]
RewriteRule ^$ /tr/ [L,R=302]

# İngilizce tarayıcılar için /en/ klasörüne yönlendir
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ /en/ [L,R=302]

# Almanca için örnek (istediğiniz dili ekleyin)
# RewriteCond %{HTTP:Accept-Language} ^de [NC]
# RewriteRule ^$ /de/ [L,R=302]

# Diğer tüm diller için varsayılan (fallback) yönlendirme - genellikle İngilizce
RewriteRule ^$ /en/ [L,R=302]

RewriteEngine On → URL yeniden yazma motorunu aktif hale getirir.

RewriteCond %{HTTP:Accept-Language} ^tr [NC] → Gelen isteğin Accept-Language başlığını kontrol eder. ^tr Türkçe’yi, [NC] ise büyük/küçük harf duyarsızlığını belirtir.

RewriteRule ^$ /tr/ [L,R=302] → Ana sayfaya (^$) yapılan isteği /tr/ yoluna yönlendirir.

Daha gelişmiş bir versiyon (birden fazla dil önceliğini dikkate alarak):

RewriteEngine On

# En öncelikli dili al (ilk iki harf)
RewriteCond %{HTTP:Accept-Language} ^([a-z]{2}) [NC]
RewriteRule ^$ /%1/ [L,R=302]

# Hiçbiri eşleşmezse İngilizceye yönlendir
RewriteRule ^$ /en/ [L,R=302]

Pratik İpuçları ve En İyi Uygulamalar

  1. Test Etme Tarayıcınızın dil ayarlarını değiştirerek (Chrome → Ayarlar → Diller) testi yapın. 302 ile test edin, sorun çıkmazsa 301’e çevirin.
  2. Dil Değiştirme Seçeneği Ekleyin Otomatik yönlendirme sadece ilk girişte yeterli değildir. Sitenizde bayraklar veya dil seçici menü mutlaka olsun. Aksi takdirde Türkçe kullanıcı İngilizce sayfaya giremez.
  3. SEO ve AI Arama Uyumluluğu
    • Her dil için ayrı URL’ler kullanın (/tr/hizmetler/, /en/services/).
    • <link rel=”alternate” hreflang=”tr” href=”https://example.com/tr/”> etiketlerini ekleyin.
    • robots.txt ve LLMs.txt dosyalarınızda AI crawler’larını (ChatGPT-User, PerplexityBot vb.) engellemeyin.
    • İçeriklerinizi temiz, semantik HTML ile yazın ki AI ajanları kolayca anlasın.
  4. Alternatif Yöntemler
    • PHP / Node.js tarafında → Daha esnek kontrol (cookie + session ile dil tercihi saklama).
    • JavaScript → Client-side detection (navigator.language).
    • WordPress → Polylang, WPML gibi eklentiler otomatik redirect özelliği sunar.
    • Cloudflare / Nginx → Sunucu seviyesinde daha performanslı çözümler.

Hangi yöntemi seçmelisiniz? Küçük-orta ölçekli sitelerde .htaccess yeterlidir. Yüksek trafikli veya karmaşık yapılarda server-side (PHP/Node) + cookie tabanlı çözüm önerilir.

Sık Karşılaşılan Sorunlar ve Çözümleri

  • Yönlendirme çalışmıyor → mod_rewrite aktif mi? Hosting panelinden kontrol edin.
  • Sonsuz yönlendirme döngüsü → Kuralları doğru sırayla yazın, L bayrağını unutmayın.
  • Botlar yanlış dile gidiyor → Botlara özel kural eklemeyin; hreflang ile yönlendirin.

Bu yöntemle sitenizi ziyaretçilere daha dost hale getirirken, arama motorları ve modern AI arama araçları için de yapılandırılmış bir temel oluşturursunuz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir




    What to read next