- Konu sahibi
- #1
Canonical ve hreflang birbirinin alternatifi değildir: canonical, benzer veya yinelenen sayfalar arasından tercih edilen URL’yi belirtir; hreflang ise aynı içeriğin hangi dil ve bölgeye ait alternatiflerinin gösterileceğini bildirir. Çok dilli bir sitede her dil sürümü genellikle kendi canonical adresini göstermeli, tüm dil sürümleri tek bir dile canonical yapılmamalıdır. Hreflang bağlantıları da alternatif sayfalar arasında karşılıklı ve tutarlı kurulmalıdır.
Canonical, arama motoruna “Bu sayfanın temsil edilmesini istediğim asıl sürüm budur” mesajını verir. Hreflang ise “Kullanıcının dili veya bölgesi bu sürüm için uygunsa onu tercih et” bilgisini taşır. İlki URL tercihine, ikincisi dil ve bölge eşleştirmesine odaklanır.
Örneğin bir ürünün Türkçe, İngilizce ve Almanca sürümleri olduğunu varsayalım:
Bu yapı, arama motorunun dil sürümlerini tek bir sayfanın kopyaları gibi birleştirmesi yerine, uygun sürümü kullanıcıya sunmasına yardımcı olur. Hreflang, canonical sinyalini geçersiz kılan bir yönlendirme değildir; iki sinyalin aynı sayfa kümesini desteklemesi gerekir.
Varsayımsal olarak şu üç sayfanız olsun:
Buradaki
Türkçe sayfanın head bölümünde örnek ilişki şöyle gösterilebilir:
İngilizce ve Almanca sayfalarda canonical kendi örnek dil sürümüne çevrilir; alternate kümesi kendisini de içeren aynı tam adresleri bildirir. Aynı dilde gerçekten yinelenen bölgesel URL’lerde ise tercih edilen sürüm için canonical/hreflang birlikte ayrıca tasarlanabilir; her bölgesel kopyanın her koşulda self-canonical olması evrensel zorunluluk değildir.
Bütün dil sayfalarını tek bir canonical URL’ye göndermek, çeviri sayfalarının bağımsız arama sonuçlarında değerlendirilmesini zorlaştırabilir. Hreflang eklemek bu tercihi otomatik olarak düzeltmez.
Bir diğer hata yalnızca ana sayfada hreflang kullanmaktır. Alternatifler ürün, kategori ve içerik sayfası bazında eşleşmelidir; ana sayfadaki işaretleme diğer sayfaların ilişkisini kurmaz.
Dil sürümlerini birbiriyle eşleştirirken içerik eşdeğerliğini de kontrol edin. İngilizce bir ürün sayfasını, içerik ve amaç bakımından farklı bir Almanca kategori sayfasıyla eşlemek doğru değildir. Böyle bir karşılık yoksa hreflang eklememek, yanlış eşleştirme yapmaktan daha sağlıklıdır.
Kontrol sırası şudur: Önce her sayfanın doğru canonical’a sahip olduğunu, ardından hreflang kümesinin karşılıklı ve doğru eşleştiğini doğrulayın. Teknik yapı doğru olsa bile hangi sürümün gösterileceği garanti edilmez; işaretlemeler arama motoruna tercih ve bağlam sinyali sağlar.
İki işaretleme nasıl çalışır?
Canonical, arama motoruna “Bu sayfanın temsil edilmesini istediğim asıl sürüm budur” mesajını verir. Hreflang ise “Kullanıcının dili veya bölgesi bu sürüm için uygunsa onu tercih et” bilgisini taşır. İlki URL tercihine, ikincisi dil ve bölge eşleştirmesine odaklanır.
Örneğin bir ürünün Türkçe, İngilizce ve Almanca sürümleri olduğunu varsayalım:
- Türkçe sayfa canonical olarak Türkçe sayfayı gösterir ve İngilizce ile Almanca alternatiflerini bildirir.
- İngilizce sayfa canonical olarak İngilizce sayfayı gösterir ve diğer iki sürümü bildirir.
- Almanca sayfa canonical olarak Almanca sayfayı gösterir ve diğer iki sürümü bildirir.
Bu yapı, arama motorunun dil sürümlerini tek bir sayfanın kopyaları gibi birleştirmesi yerine, uygun sürümü kullanıcıya sunmasına yardımcı olur. Hreflang, canonical sinyalini geçersiz kılan bir yönlendirme değildir; iki sinyalin aynı sayfa kümesini desteklemesi gerekir.
Somut örnek ve doğru karar
Varsayımsal olarak şu üç sayfanız olsun:
/tr/urun, /en/product ve /de/produkt. Her sayfada canonical kendi adresini göstermelidir. Hreflang kümesi ise şu mantıkla kurulmalıdır:| Sayfa | Canonical tercihi | Hreflang alternatifleri |
|---|---|---|
| Türkçe ürün | Kendi Türkçe sürümü | tr, en, de ve x-default gerekiyorsa |
| İngilizce ürün | Kendi İngilizce sürümü | tr, en, de ve x-default gerekiyorsa |
| Almanca ürün | Kendi Almanca sürümü | tr, en, de ve x-default gerekiyorsa |
Buradaki
x-default, belirli bir dil veya bölgeye eşlenmeyen kullanıcılar için genel bir sürüm seçmek istediğinizde kullanılabilir. Zorunlu değildir; uygun bir genel sayfa yoksa eklenmemelidir.Türkçe sayfanın head bölümünde örnek ilişki şöyle gösterilebilir:
HTML:
<link rel="canonical" href="https://example.com/tr/urun">
<link rel="alternate" hreflang="tr" href="https://example.com/tr/urun">
<link rel="alternate" hreflang="en" href="https://example.com/en/product">
<link rel="alternate" hreflang="de" href="https://example.com/de/produkt">
Uygulama adımları
- Dil ve bölge sürümlerini belirleyin. Bir sayfanın gerçekten çevrilmiş veya hedef bölgeye uyarlanmış bir karşılığı yoksa o sürümü hreflang kümesine eklemeyin.
- Her sürümün canonical değerini kontrol edin. Türkçe sayfa Türkçe sürüme, İngilizce sayfa İngilizce sürüme işaret etsin. Canonical adresleri erişilebilir, indekslenebilir ve tercihen tek biçimli URL’ler olmalıdır.
- Her sürümde aynı alternatif kümesini tanımlayın. Türkçe sayfa İngilizceyi bildiriyor ancak İngilizce sayfa Türkçeyi bildirmiyorsa yapı eksik kalır.
- Dil kodlarını ve gerekiyorsa bölge kodlarını doğru eşleştirin. Dil ile ülkeyi karıştırmayın; yalnızca gerçekten ayrı hedefleriniz varsa bölge ayrımı kullanın.
- Yönlendirme, noindex veya robots.txt engeli bulunan adresleri alternatif olarak kullanmayın. Hreflang ile erişilemeyen bir sayfayı hedef göstermek çelişkili sinyal üretir.
- Yayın sonrası kaynak kodunu ve tarama raporlarını kontrol edin. Bir sayfanın canonical’ı beklenmedik şekilde başka dile gidiyorsa veya karşılıklı hreflang bağlantısı eksikse önce şablon ve URL üretimini düzeltin.
Sık yapılan hatalar
Bütün dil sayfalarını tek bir canonical URL’ye göndermek, çeviri sayfalarının bağımsız arama sonuçlarında değerlendirilmesini zorlaştırabilir. Hreflang eklemek bu tercihi otomatik olarak düzeltmez.
Bir diğer hata yalnızca ana sayfada hreflang kullanmaktır. Alternatifler ürün, kategori ve içerik sayfası bazında eşleşmelidir; ana sayfadaki işaretleme diğer sayfaların ilişkisini kurmaz.
Dil sürümlerini birbiriyle eşleştirirken içerik eşdeğerliğini de kontrol edin. İngilizce bir ürün sayfasını, içerik ve amaç bakımından farklı bir Almanca kategori sayfasıyla eşlemek doğru değildir. Böyle bir karşılık yoksa hreflang eklememek, yanlış eşleştirme yapmaktan daha sağlıklıdır.
Kontrol sırası şudur: Önce her sayfanın doğru canonical’a sahip olduğunu, ardından hreflang kümesinin karşılıklı ve doğru eşleştiğini doğrulayın. Teknik yapı doğru olsa bile hangi sürümün gösterileceği garanti edilmez; işaretlemeler arama motoruna tercih ve bağlam sinyali sağlar.