hreflang Nedir? Çok Dilli Sitelerde Doğru Kullanım
Türkçe ve İngilizce sürümleri olan bir sitede Google'ın doğru dili doğru kullanıcıya göstermesi hreflang etiketiyle sağlanır. Kodları, kuralları ve yaygın hataları anlattık.
İçindekiler
Sitenizin İngilizce sürümünü hazırladınız, ama Almanya’dan arama yapan bir kullanıcı Google’da hâlâ Türkçe sayfanızı görüyor. Ya da tam tersi, Türkiye’deki bir müşteri İngilizce sayfaya düşüyor. Bu durumun en yaygın teknik nedeni eksik veya hatalı hreflang kullanımıdır. Peki hreflang nedir ve çok dilli bir sitede nasıl doğru uygulanır? Bu yazıda kavramı sade bir dille açıklayıp uygulama adımlarını ve sık yapılan hataları ele alıyorum.
hreflang nedir, ne işe yarar?
hreflang, bir sayfanın hangi dilde ve isteğe bağlı olarak hangi bölgeye yönelik olduğunu, ayrıca aynı içeriğin başka dillerdeki karşılıklarının nerede bulunduğunu arama motorlarına bildiren bir HTML özelliğidir. Google bu bilgiyi kullanarak kullanıcının diline ve konumuna en uygun sürümü arama sonuçlarında gösterir.
hreflang’in yapmadığı şeyleri bilmek de önemlidir:
- Sıralamayı doğrudan yükseltmez; doğru sürümün doğru kitleye gösterilmesini sağlar.
- Kullanıcıyı otomatik olarak başka dile yönlendirmez; yalnızca arama sonucundaki adresi etkiler.
- Kötü çevrilmiş veya eksik içeriği telafi etmez.
Dil ve bölge kodları nasıl yazılır?
hreflang değerleri belirli bir standarda göre yazılır: Önce dil kodu (ISO 639-1), isteğe bağlı olarak tire ve ardından bölge kodu (ISO 3166-1 Alpha 2).
| Değer | Anlamı | Ne zaman kullanılır? |
|---|---|---|
| tr | Türkçe, tüm bölgeler | Türkçe içerik, bölge ayrımı yok |
| en | İngilizce, tüm bölgeler | Genel İngilizce sürüm |
| en-GB | İngilizce, Birleşik Krallık | Fiyat, para birimi veya içerik bölgeye özelse |
| de-DE | Almanca, Almanya | Almanya’ya özel sürüm |
| x-default | Varsayılan sürüm | Kullanıcının diline uyan sürüm yoksa gösterilecek sayfa |
Sık yapılan bir hata, Birleşik Krallık için “en-UK” yazmaktır; doğru kod “en-GB”dir. Bölge kodu tek başına kullanılamaz; “TR” yerine “tr” veya “tr-TR” yazılmalıdır.
hreflang uygulamasının üç yolu
hreflang nedir sorusunun teknik kısmı burada başlar. Bu bilgi üç farklı yerde verilebilir. Hepsi aynı sonucu verir; sitenin yapısına uygun olanı seçip yalnızca birini kullanmak yönetimi kolaylaştırır.
1. HTML head bölümünde link etiketleri
En yaygın yöntemdir. Türkçe ve İngilizce iki sürümü olan bir sayfada, her iki sürümün head bölümüne de şu satırlar eklenir:
<link rel=”alternate” hreflang=”tr” href=”https://alanadiniz.com/hizmetler/”>
<link rel=”alternate” hreflang=”en” href=”https://alanadiniz.com/en/services/”>
<link rel=”alternate” hreflang=”x-default” href=”https://alanadiniz.com/en/services/”>
2. XML site haritasında
Çok sayıda sayfası ve dili olan sitelerde hreflang ilişkileri site haritasına yazılabilir. Bu yöntem sayfa kodunu şişirmez ve toplu yönetimi kolaylaştırır.
3. HTTP başlığında
PDF gibi HTML olmayan dosyalar için sunucu yanıtının başlığına hreflang bilgisi eklenebilir. Kurumsal sitelerde nadiren gerekir.
Doğru hreflang için temel kurallar
hreflang küçük ayrıntılara duyarlıdır. Uygulamanın işe yaraması için şu kurallara uymanız gerekir:
- Karşılıklı bağlantı (geri dönüş): Türkçe sayfa İngilizceyi gösteriyorsa, İngilizce sayfa da Türkçeyi göstermelidir. Tek yönlü işaretler Google tarafından yok sayılabilir.
- Kendine referans: Her sayfa, hreflang listesinde kendisini de içermelidir.
- Tam adres: Protokol ve alan adı dahil mutlak adres kullanılmalıdır.
- Dizine eklenebilir hedefler: hreflang’in gösterdiği adresler 200 kodu dönmeli, yönlendirme veya noindex içermemelidir.
- Canonical ile uyum: Her dil sürümü kendi adresini canonical olarak göstermelidir.
Son madde özellikle önemlidir. İngilizce sayfanın canonical’ını Türkçe sayfaya yönlendirmek, Google’a “İngilizce sayfa bir kopyadır” demek anlamına gelir ve hreflang’i işlevsiz bırakır. Canonical mantığını canonical etiketi yazısında ayrıntılı olarak anlattım.
WordPress’te hreflang nasıl uygulanır?
WordPress’te çok dilli site kurmak için WPML, Polylang gibi eklentiler veya her dil için ayrı alt site oluşturulan Multisite yapısı kullanılır. Bu eklentilerin çoğu, sayfalar birbirine çeviri olarak bağlandığında hreflang etiketlerini otomatik üretir.
Otomatik üretim kolaylık sağlar, ancak kontrol gerektirir. Çevirisi olmayan bir sayfanın yanlış sürüme bağlanması, menüde bulunan ama içeriği boş çeviri sayfaları veya eklenti ile temanın aynı anda etiket basması gibi sorunlarla sık karşılaşılır. Türkçe ve İngilizce bir site planlıyorsanız, yapı seçeneklerini ve içerik hazırlığını iki dilli web sitesi rehberinde bulabilirsiniz.
Örneğin işletme danışmanlığı yapan KS Company için hazırladığım Türkçe/İngilizce sitede her sayfanın iki dildeki karşılığının birbirine doğru bağlanması, yurt dışından gelen ziyaretçinin doğrudan İngilizce içeriğe ulaşması açısından önemliydi.
Sık yapılan hreflang hataları
- Geri dönüş bağlantısının eksik olması: En yaygın hatadır ve Search Console’da uyarı olarak görünebilir.
- Yanlış dil veya ülke kodu: “en-UK”, “tr-TU” gibi geçersiz değerler.
- Kullanıcıyı IP’ye göre zorla yönlendirmek: Botlar genellikle tek bir konumdan tarar; zorunlu yönlendirme diğer sürümlerin keşfedilmesini engelleyebilir. Bunun yerine dil seçimini bir banner ile önermek daha güvenlidir.
- Makine çevirisini kontrolsüz yayınlamak: Teknik olarak doğru hreflang, düşük kaliteli içeriğin sıralanmasını sağlamaz.
- Ana sayfayı her dilin karşılığı göstermek: Her sayfa, diğer dildeki gerçek karşılığına bağlanmalıdır.
Yayına almadan önce hreflang kontrol listesi
Çok dilli bir siteyi yayına almadan veya yeni bir dil eklemeden önce aşağıdaki adımları sırayla gözden geçirmenizi öneririm. Bu kontrol, sonradan Search Console’da hata ayıklamakla geçecek zamanı ciddi ölçüde azaltır.
- Her dil için adres yapısına karar verin: alt klasör (/en/), alt alan adı (en.alanadiniz.com) veya ayrı alan adı.
- Hangi sayfaların hangi dillerde karşılığı olduğunu bir tabloda eşleştirin.
- Rastgele seçtiğiniz birkaç sayfada hreflang etiketlerinin karşılıklı ve kendine referanslı olduğunu kontrol edin.
- Her dil sürümünün canonical’ının kendi adresini gösterdiğini doğrulayın.
- x-default için hangi sayfanın kullanılacağını belirleyin.
- Dil değiştiricinin, kullanıcıyı ana sayfaya değil ilgili sayfanın diğer dildeki karşılığına götürdüğünden emin olun.
Bu adımlar küçük bir kurumsal sitede yarım saatlik bir kontrolle tamamlanabilir; büyük sitelerde ise bir tarama aracıyla toplu denetim yapmak daha sağlıklıdır.
Sık sorulan sorular
Tek dilli bir sitede hreflang gerekir mi?
Hayır. hreflang yalnızca aynı içeriğin birden fazla dil veya bölge sürümü olduğunda anlamlıdır. Tek dilli bir sitede eklemenin bir faydası yoktur.
x-default kullanmak zorunlu mu?
Zorunlu değildir, ama önerilir. Kullanıcının diline uyan bir sürüm yoksa hangi sayfanın gösterileceğini belirtir; genellikle dil seçim sayfası veya en geniş kitleye hitap eden sürüm seçilir.
hreflang hatalarını nereden görebilirim?
Sayfa kaynağını açarak etiketleri elle kontrol edebilirsiniz. Ayrıca tarama araçları karşılıklı bağlantı eksiklerini ve geçersiz kodları toplu olarak raporlar. Search Console’daki uluslararası hedefleme aracı ise artık kullanılmamaktadır.
Farklı alan adlarındaki sürümler arasında hreflang kullanılabilir mi?
Evet. alanadiniz.com.tr ve alanadiniz.com gibi farklı alan adlarındaki dil sürümleri de hreflang ile birbirine bağlanabilir; kurallar aynıdır.
Sonuç
Özetle hreflang nedir diye soranlara verilecek cevap şu: hreflang, çok dilli bir sitede emeğinizin doğru kitleye ulaşmasını sağlayan sessiz bir işaretçidir; karşılıklı bağlantı ve canonical uyumu sağlandığında sorunsuz çalışır. Çok dilli sitenizin yapısını birlikte planlamak isterseniz bana buradan yazabilirsiniz.
