murattunalı.

hreflang hataları.

hreflang kurulumlarında en sık yapılan hatalar karşılıklılık eksikliği, kendini bildirmeme, yanlış kod kullanımı ve kanonik adresle çelişmedir.

hreflang, doğru kurulduğunda sessizce çalışan ve yanlış kurulduğunda da sessizce çalışmayan bir katman. Hiçbir hata mesajı yok, sayfa normal görünüyor, ve yalnız arama sonuçlarında yanlış dil sürümü çıkmaya başlıyor — o da fark edilmesi haftalar süren bir belirti.

Bu yüzden hreflang kurulumu bir kez yapılıp bırakılamıyor; denetlenmesi ve tercihen bir teste bağlanması gerekiyor. Aşağıdaki hatalar gerçek sitelerde en sık görülenler.

Karşılıklılık eksikliği

En yaygın hata. A sayfası B'yi bildiriyor ama B, A'yı bildirmiyor. Arama motoru bu durumda bildirimi geçersiz sayıyor ve küme hiç yokmuş gibi davranıyor.

Sebebi genelde kısmi güncelleme: yeni bir dil eklenirken ana dil sayfalarına yeni bağ eklenmesi unutuluyor. Ya da bir sayfa silindiğinde diğer dillerdeki bağlar temizlenmiyor.

Kalıcı çözüm bildirimleri elle yazmamak: bağlar tek bir kaynaktan üretiliyorsa karşılıklılık yapısal olarak garanti oluyor. Bu sitede üretici bunu sağlıyor ve süit ayrıca doğruluyor.

Kendini bildirmeme

İkinci en yaygın hata ve en çok şaşırtanı. Her sayfa, kümedeki diğer sürümlerle birlikte KENDİ dilini de bildirmeli. Üç dilli bir sitede her sayfa üç bağ taşımalı — kendisi dahil.

Sezgiye aykırı geldiği için sık atlanıyor: «zaten bu sayfa Türkçe, neden Türkçe olduğunu ayrıca söyleyeyim?» Cevap, kümenin bir liste olarak tanımlanmış olması — liste eksikse liste geçersiz.

Kanonik adresle çelişme

Bu hata daha sinsi çünkü iki ayrı işaretleme birbiriyle konuşuyor. Bir sayfa hreflang ile «ben Almanca sürümüm» diyor ama kanonik adresi Türkçe sayfayı gösteriyorsa, iki sinyal çelişiyor.

Sonuç genelde Almanca sayfanın dizine hiç girmemesi: kanonik bildirimi «asıl sayfa şu» dediği için motor Almanca sürümü bir kopya sayıyor ve atıyor. hreflang'in söylediği her şey boşa gidiyor.

Kural nettir: her dil sürümü KENDİNE kanonik vermeli. Çeviriler birbirinin kopyası değil, ayrı sayfalar. Bu sitede 171 sayfanın 171'i kendine kanonik veriyor ve ölçülerek doğrulandı.

Her dil sürümü kendine kanonik verir; çeviriler birbirinin kopyası değildir.

Yanlış ve uydurma kodlar

Dil ve bölge kodları standart listelerden alınıyor ve tahmin edilemiyor. Sık yapılan hatalar bellidir.

  1. Bölge kodunu tek başına kullanmak — her zaman bir dil kodu gerekiyor.
  2. Yanlış ülke kodu — bazı ülkelerin kodu sezgisel değil; listeden bakılmalı.
  3. Uydurma dil kodu — standartta olmayan bir kod tüm kümeyi geçersiz kılıyor.
  4. Büyük-küçük harf karışıklığı — okunabilirlik için dil küçük, bölge büyük yazılıyor.
  5. Alt çizgi kullanmak — ayraç tire; alt çizgi başka bir standardın biçimi.

Sessiz bozulma sorunu

Bu hataların ortak özelliği görünmez olmaları. Sayfa açılıyor, doğru görünüyor, kullanıcı sorun yaşamıyor — ve yalnız arama motoru yanlış dil sürümünü gösteriyor. Belirtiyi fark etmek haftalar sürüyor ve fark edildiğinde sebep aramak zorlaşıyor.

İkinci bir zorluk, hatanın kısmi olabilmesi: kümenin bir kısmı doğru, bir kısmı bozuk olabiliyor. Site genelinde bir denetim yapılmadan bu ayrım görülmüyor — tek bir sayfaya bakıp «çalışıyor» hükmü vermek yanıltıcı.

  1. Site genelinde tara — tek sayfa denetimi yetmez.
  2. Bağları üreticiye bağla — elle yazılan küme ilk eklemede bozulur.
  3. Kanonikleri ayrıca kontrol et — hreflang ile çelişen kanonik en sinsi hata.
  4. Arama konsolu raporunu düzenli oku — canlı siteden gelen tek gerçek veri.
  5. Bir teste bağla — dağıtım anında görünsün, haftalar sonra değil.

Beşinci madde bu sitede uygulanıyor: doğrulama süiti kümenin eksiksiz ve karşılıklı olduğunu, her sayfanın kendine kanonik verdiğini ve kodların standart olduğunu her koşumda ölçüyor. Bir sayfa eklendiğinde ve bağ unutulduğunda kusur dağıtım anında görünüyor.

Ve bir çerçeve: bu katman kırıldığında kaybedilen şey görünürlük değil, YANLIŞ görünürlük. Almanca arayan bir kullanıcıya Türkçe sayfa gösteriliyor — sayfa dizinde, sıralamada, ama yanlış kişiye. Bu, hiç görünmemekten daha az fark edilen ve daha çok zarar veren bir durum.

Bir hata daha: eksik sayfalar

Listeye eklenmesi gereken bir hata daha var ve büyük sitelerde en yaygın olanı: kümede bildirilen bir sayfanın aslında var olmaması. Türkçe sayfa Almanca karşılığını bildiriyor ama o adres 404 veriyor.

Sebep genelde şablonsal üretim: bağlar «her sayfanın her dilde karşılığı var» varsayımıyla üretiliyor ve o varsayım bir sayfa çevrilmediğinde çöküyor. Küme geçersiz sayılıyor ve arama motoru tüm bildirimi görmezden geliyor.

Doğru davranış, yalnız GERÇEKTEN var olan sürümleri bildirmek. Bir sayfa iki dilde varsa iki bağ yazılıyor, üç değil. Küme eksiksiz olmalı ama bildirilen her üye de gerçek olmalı.

Bu sitede kural kodla korunuyor: bir dilin içeriği yoksa o dil için sayfa üretilmiyor VE hreflang kümesine girmiyor. İki davranış aynı kaynaktan geliyor, dolayısıyla ayrışamıyorlar.

Kapanışta bir öncelik sırası: bu hatalardan hangisinin önce düzeltileceği sorulursa cevap kanonik çelişmesi. Çünkü o hata yalnız eşleştirmeyi değil dizinlemeyi de bozuyor — sayfa arama sonuçlarında hiç görünmüyor. Diğerleri yanlış sürümü gösteriyor; bu, hiçbir sürümü göstermiyor.

Bir denetim alışkanlığı önerisi: hreflang kontrolünü yeni bir dil ya da yeni bir sayfa eklendiği HER seferde yap. Bu iki olay, hataların neredeyse tamamının doğduğu anlar — çünkü mevcut sayfaların bağlarını güncellemek gerekiyor ve o adım en sık unutulanı.

Ve bir kayıt kuralı: hangi dillerin kümede olduğu bir yerde yazılı olmalı. Ekipte biri yeni bir dil eklediğinde hangi sayfaların güncelleneceğini bilmesi gerekiyor ve bu bilgi kimsenin hafızasında yaşamamalı.

Ve son bir çerçeve: bu hataların hiçbiri zekâ gerektiren hatalar değil — hepsi dikkat hatası ve hepsi tekrar ediyor. Bu yüzden çözüm de dikkat değil otomasyon: bağlar tek kaynaktan üretilsin, karşılıklılık yapısal olsun ve bir test her dağıtımda doğrulasın.

KAYNAKLAR