hreflang
Aynı içeriğin farklı dil ve bölge sürümlerini birbirine bağlayan, arama motoruna hangi kullanıcıya hangi sürümü göstereceğini bildiren işaretlemedir.
Türkçe ve İngilizce sürümlerin birbirinin kopyası değil, çevirisi olduğunu söylemenin yolu.
Doğru kurulduğunda Türk kullanıcıya Türkçe, Alman kullanıcıya Almanca sürüm gösterilir; yanlış kurulduğunda ikisi de birbirinin kopyası sanılır.
Üç zorunlu kural:
- Kendine referans: Her sürüm, kendisi dâhil tüm sürümleri listeler.
- Karşılıklılık: A sürümü B'yi gösteriyorsa, B de A'yı göstermelidir. Tek yönlü bildirim yok sayılır.
- Dil kodu doğruluğu:
tr,en-GB,de-ATgibi geçerli kodlar; bölge kodu tek başına kullanılmaz (tr-TRyerine yalnızcaTRyazılmaz).
x-default: Hiçbir dil eşleşmediğinde gösterilecek sürüm. Dil seçim sayfası ya da ana dil sürümü olur.
Nerede tanımlanır: <head> içinde <link rel="alternate" hreflang="...">, HTTP başlığında ya da sitemap'te. Üçünden biri seçilir; karıştırılmaz.
Canonical ile ilişkisi: Her dil sürümü kendine canonical verir. Türkçe sürümü İngilizce'ye canonical'lamak, Türkçe sürümü dizinden düşürür — çok dilli sitelerdeki en pahalı hata budur.
Ne zaman gerekmez: Tek dilli sitede hiç gerekmez. Aynı dilin bölgesel varyantları arasında içerik farkı yoksa da genellikle gereksiz karmaşıklıktır.
Skill Aşama 9'da "projenin hreflang sözleşmesine uy" der ve kendi başına çeviri üretmez. Sebebi: yarım kurulmuş hreflang, hiç kurulmamış olandan kötüdür; tek yönlü ya da canonical'la çelişen bildirim sürümlerden birini görünmez yapar.
Türkçe sayfada bulunması gerekenler: kendine hreflang="tr", İngilizce sürüme hreflang="en", gerekiyorsa hreflang="x-default". İngilizce sayfada da aynı üçlü bulunmalıdır — biri eksikse ikisi de yok sayılır.
"hreflang sıralamayı yükseltir." Yükseltmez; doğru kullanıcıya doğru sürümü gösterir. "Çeviri sayfalar kopya içerik sayılır." hreflang doğru kurulduğunda sayılmaz; asıl risk yanlış canonical'dır.