
Tarayıcı Diline Göre .htaccess Üzerinden Sayfa Dili Yönlendirmesi Nasıl Yapılır?
Web sitenizi kullanıcıların tarayıcı dillerine göre otomatik olarak yönlendirmek, daha iyi bir kullanıcı deneyimi sağlar. .htaccess
dosyası kullanarak, tarayıcı diline göre kullanıcıları farklı dil sayfalarına yönlendirebilirsiniz. Bu işlem için Apache sunucusu üzerinde mod_rewrite modülünün aktif olması gerekmektedir.
Aşağıda, tarayıcı dilini algılayarak otomatik yönlendirme işlemini gerçekleştiren bir .htaccess
yapılandırması örneğini bulabilirsiniz:
.htaccess ile Tarayıcı Diline Göre Yönlendirme Adımları:
- mod_rewrite Modülünü Aktif Edin
Sunucunuzdamod_rewrite
modülünün aktif olduğundan emin olun. Apache sunucularında varsayılan olarak bu modül genellikle aktiftir. - .htaccess Dosyasını Düzenleyin
Web sitenizin ana dizininde.htaccess
dosyasını açın veya yeni bir dosya oluşturun. Aşağıdaki kodu.htaccess
dosyanıza ekleyin.
RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^tr [NC]
RewriteRule ^$ /tr/index.html [L]
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ /en/index.html [L]
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ /de/index.html [L]
Kod Açıklaması:
- RewriteEngine On: mod_rewrite’ı aktif eder.
- RewriteCond %{HTTP
}: Kullanıcının tarayıcı ayarlarında belirtilen dili algılar. Tarayıcıların dil bilgisi
Accept-Language
başlığı üzerinden gönderilir. Örneğin,^tr
Türkçe dilini,^en
İngilizce dilini,^de
ise Almanca dilini temsil eder. - RewriteRule: Bu kural, tarayıcı diline göre ana sayfayı (yani
/
) ilgili dildeki sayfaya yönlendirir. Eğer kullanıcı tarayıcısında Türkçe dili ayarlıysa,/tr/index.html
sayfasına yönlendirilir.
Örnek Senaryo:
- Kullanıcının tarayıcı dili Türkçe ise, kullanıcı /tr/index.html sayfasına yönlendirilir.
- Eğer tarayıcı dili İngilizce ise, kullanıcı /en/index.html sayfasına yönlendirilir.
- Almanca dilde bir kullanıcı tarayıcısı varsa, /de/index.html sayfası görüntülenir.
Çoklu Dil Destekleme
Birden fazla dil kodunu aynı sayfaya yönlendirmek isterseniz, şu şekilde bir yapı kurabilirsiniz:
RewriteRule ^$ /fr/index.html [L]
Bu kuralda hem fr
hem de fr-CA
(Kanada Fransızcası) gibi varyantlar aynı sayfaya yönlendirilecektir.
SEO ve Kullanıcı Deneyimi İçin İpuçları:
- SEO Açısından Dikkat: Tarayıcı diline göre yönlendirme yaparken, Googlebot gibi arama motoru tarayıcılarını yanlış yönlendirmemeye dikkat edin. Aksi takdirde sayfalarınızın dizine eklenmesiyle ilgili sorunlar yaşanabilir. Bunun için Googlebot’un dil tercihlerini göz ardı edebilir ya da hreflang etiketi kullanabilirsiniz.
- Hreflang Etiketi Kullanımı: Farklı dil versiyonlarınız için HTML sayfalarında
hreflang
etiketlerini kullanmak, arama motorlarına hangi sayfanın hangi dile ait olduğunu bildirir.
<link rel=”alternate” href=”https://www.siteniz.com/en/” hreflang=”en”>