Teknik SEO

Hreflang Etiketi Nedir ve Çok Dilli Sitelerde Nasıl Kullanılır?

Hreflang etiketi, aynı içeriğin farklı dil veya bölge sürümlerini arama motorlarına tanıtan bir işaretlemedir. Doğru kurulduğunda Türkiye’deki kullanıcıya Türkçe sürüm, Almanya’daki kullanıcıya Almanca sürüm gösterilir; yanlış kurulduğunda ise sürümler birbirini bastırır ve hedef pazarlarda görünürlük kaybı yaşanır.

Bu rehberde hreflang’in çalışma mantığını, söz dizimini, üç farklı uygulama yöntemini, WordPress tarafındaki pratikleri, en sık yapılan hataları ve doğrulama adımlarını ele alıyoruz. Altyapı kararlarını henüz vermediyseniz çok dilli web sitesi altyapısı nasıl planlanır yazısını önce okumanızı öneririz.

Hreflang etiketi nedir, hangi sorunu çözer?

Hreflang etiketiyle dil sürümlerinin arama motoruna tanıtılmasını gösteren şema
Her dil sürümü diğerlerini işaret eder; arama motoru doğru sürümü kullanıcıya gösterir.

Çok dilli sitelerde aynı sayfanın Türkçe, İngilizce ve Almanca sürümleri birbirine çok benzer yapıdadır. Arama motoru bu sürümleri ayrı ayrı değerlendirdiğinde iki sorun doğar: yanlış dildeki sürüm sonuçlarda çıkabilir ve sürümler birbirinin yerine geçerek performansı böler. Hreflang, “bunlar rakip sayfalar değil, aynı içeriğin farklı dildeki sürümleridir” bilgisini verir.

Önemli bir ayrım: hreflang bir yönlendirme aracı değildir. Kullanıcıyı otomatik olarak başka bir dile göndermez, yalnızca arama sonuçlarında hangi sürümün gösterileceğine dair güçlü bir sinyal üretir. Ayrıca yinelenen içerik riskini azaltır; konunun tamamı için duplicate content sorunu yazısına bakabilirsiniz.

Söz dizimi: dil kodu, bölge kodu ve x-default

Hreflang söz dizimi örneği: dil kodu, bölge kodu ve x-default değeri
Dil kodu zorunlu, bölge kodu isteğe bağlıdır; x-default varsayılan sürümü işaret eder.

Değer, ISO 639-1 dil kodu ve isteğe bağlı olarak ISO 3166-1 alpha-2 bölge kodundan oluşur. tr yalnızca dili, tr-TR ise Türkiye’deki Türkçe konuşan kullanıcıları hedefler. Yalnızca bölge kodu yazmak (örneğin TR) geçersizdir.

<link rel="alternate" hreflang="tr" href="https://ornek.com/urunler/" />
<link rel="alternate" hreflang="en" href="https://ornek.com/en/products/" />
<link rel="alternate" hreflang="de-DE" href="https://ornek.com/de/produkte/" />
<link rel="alternate" hreflang="x-default" href="https://ornek.com/en/products/" />

x-default, listelenen dillerden hiçbirine uymayan kullanıcılar için varsayılan sürümü belirtir. Genellikle dil seçim sayfası veya İngilizce sürüm bu görevi üstlenir.

Karşılıklılık kuralı

Hreflang çift yönlü çalışır. A sayfası B’yi gösteriyorsa B de A’yı göstermek zorundadır. Tek taraflı tanımlar geçersiz sayılır ve tüm küme yok sayılabilir. Her sürümün listesi, kendisi dâhil tüm dil sürümlerini içermelidir.

Uygulama yöntemleri ve WordPress tarafı

HTML, HTTP başlığı ve XML site haritası üzerinden hreflang uygulama yöntemleri
Üç yöntem de geçerlidir; ancak aynı anda yalnızca birini kullanmak karışıklığı önler.

Hreflang üç şekilde tanımlanabilir. Birincisi HTML’in head bölümüne eklenen link etiketleridir; küçük ve orta ölçekli sitelerde en pratik yöntemdir. İkincisi HTML dışı dosyalar için kullanılan HTTP yanıt başlığıdır. Üçüncüsü ise XML site haritası içinde tanımlamadır; binlerce sayfası olan sitelerde bakımı en kolay seçenektir. Site haritası yapısı için XML sitemap oluşturma yazısına göz atabilirsiniz.

Link: <https://ornek.com/en/guide.pdf>; rel="alternate"; hreflang="en"

WordPress tarafında çok dilli eklentiler bu işaretlemeyi genellikle otomatik üretir. Burada dikkat edilmesi gereken nokta, eklentinin ürettiği çıktının canonical etiketiyle çelişmemesidir: her dil sürümünün canonical’ı kendisini göstermelidir. Kural için canonical URL yazısındaki ilkeleri uygulayın. Laravel gibi çerçevelerde çeviri altyapısını kurarken Laravel localization yazısı yol gösterir.

Dil sürümleri arasında yönlendirme yapmalı mıyım?

Tarayıcı diline göre otomatik yönlendirme yapmak, botun diğer sürümleri görmesini engelleyebildiği için risklidir. Daha güvenli yaklaşım, kullanıcıya öneri banner’ı göstermek ve seçimi ona bırakmaktır. Kalıcı adres değişikliklerinde ise 301 yönlendirme kurallarını uygulayın.

Sık yapılan hatalar ve doğrulama

HataSonuçÇözüm
Tek yönlü tanımKüme geçersiz sayılırHer sürümde karşılıklı tanım yapın
Yanlış kod kullanımı (örn. en-UK)Etiket yok sayılırDoğru kod en-GB; ISO listelerini esas alın
Göreli adres yazımıTanım okunamazHer zaman tam ve mutlak URL kullanın
Yönlendirilen adresi göstermekSinyal zayıflarNihai, 200 yanıtı dönen adresi verin
Noindex sayfayı kümeye eklemekÇelişkili sinyalDizin dışı sayfaları kümeden çıkarın; bkz. noindex etiketi
x-default tanımının olmamasıBelirsiz durumlarda rastgele sürümVarsayılan sürümü açıkça belirtin
Aynı anda hem HTML hem sitemap tanımıBakım karmaşası, çelişki riskiTek yöntem seçin ve tutarlı uygulayın

Doğrulama için Search Console’daki uluslararası hedefleme raporlarını ve sayfa kaynağındaki etiketleri birlikte kontrol edin. Yeni dil sürümü eklendiğinde tüm kümeyi güncellemeyi unutmayın; eksik kalan tek sürüm bile kümeyi bozabilir.

Yayın öncesi kontrol listesi

  • Her dil sürümü, kendisi dâhil tüm sürümleri listeliyor mu?
  • Dil ve bölge kodları geçerli ISO değerleriyle mi yazıldı?
  • Tüm adresler mutlak ve 200 yanıtı dönüyor mu?
  • x-default tanımlandı mı?
  • Canonical etiketleri her sürümde kendini mi gösteriyor?
  • Tanım yöntemi (HTML, başlık veya sitemap) tek ve tutarlı mı?
  • Otomatik dil yönlendirmesi botların erişimini engelliyor mu?
  • Dil sürümleri arasında iç bağlantı yapısı kuruldu mu?

Sıkça Sorulan Sorular

Hreflang bir sıralama faktörü müdür?
Doğrudan sıralama faktörü değildir. Hangi dil sürümünün hangi kullanıcıya gösterileceğini belirleyen bir eşleştirme sinyalidir; doğru kullanımı dolaylı olarak tıklama oranını ve kullanıcı memnuniyetini artırır.

Aynı dilin farklı ülke sürümleri için kullanılır mı?
Evet. Türkiye ve Almanya’daki Türkçe içerikler için tr-TR ve tr-DE tanımlanabilir. İçerikler birbirinin neredeyse aynısıysa fiyat, kargo ve iletişim gibi bölgesel farkların net olması gerekir.

Alt alan adı mı, alt dizin mi kullanmalıyım?
İkisi de geçerlidir. Alt dizin yapısı (site.com/en/) tek alan adının otoritesini paylaştırdığı için küçük ve orta ölçekli projelerde genellikle daha avantajlıdır.

Sadece iki dilim var, yine de gerekli mi?
İçerikler benzer yapıdaysa evet. İki sürüm arasında bile yanlış eşleşme yaşanabilir; hreflang bu riski ortadan kaldırır.

Çeviri kalitesi düşükse hreflang işe yarar mı?
Etiketleme teknik bir sinyaldir, içerik kalitesini telafi etmez. Makine çevirisi çıktısının düzenlenmeden yayınlanması, hedef pazarda kalite sorununa yol açar.

Hreflang değişikliği ne zaman etkisini gösterir?
Tüm sürümlerin yeniden taranması gerektiği için genellikle birkaç hafta sürer. Site haritası üzerinden tanım yapıldığında süreç kısalabilir.

Dil sürümleri arasında iç bağlantı vermeli miyim?
Evet, dil seçici bağlantıları hem kullanıcıya hem botlara yardımcı olur. Genel yapı için iç linkleme stratejisi yazısındaki ilkeleri uygulayın.

Kaynaklar

Sonuç

Hreflang etiketi, çok dilli projelerde teknik olarak küçük ama etkisi büyük bir ayrıntıdır. Karşılıklılık kuralına uymak, doğru kodları kullanmak, tek bir uygulama yöntemi seçmek ve x-default tanımlamak; kurulumun yüzde doksanını sorunsuz hâle getirir.

İlgili rehberler:

ozgur

Özgür Bayram, WordPress, Laravel, yapay zekâ ve web performansı alanlarında çalışan bir yazılım geliştiricisidir. Bilim Meraklısı’nda teknoloji, yazılım, hosting, SEO ve dijital araçlar hakkında anlaşılır, uygulanabilir rehberler hazırlar. Amacı, teknik konuları sade bir dille anlatarak okuyucuların doğru kararlar vermesine ve sorunlarını güvenle çözmesine yardımcı olmaktır.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu