Ana içeriğe geç

Hreflang Nasıl Kullanılır? Adım Adım Rehber

Hreflang Nasıl Kullanılır? - Çok Dilli SEO Rehberi


Çok dilli bir web sitesi yönetiyorsanız, arama motorlarının her sayfanın hangi dil ve bölgeye hitap ettiğini anlaması için hreflang etiketine ihtiyaç duyarsınız. Hreflang nedir sorusunu yanıtladıktan sonra asıl soru şudur: bu etiketi teknik olarak siteye nasıl ekleriz? Bu rehberde, hreflang uygulamasının üç yöntemini, doğru sözdizimini ve adım adım kurulum sürecini ele alıyoruz.

Hreflang etiketi HTML'e nasıl eklenir?

En yaygın yöntem, hreflang etiketlerini sayfanın <head> bölümüne <link rel="alternate"> etiketiyle eklemektir. Bu yöntem, dinamik JavaScript gerektirmez; HTML'i sunucuda render eden her platformda çalışır.

Temel sözdizimi şöyledir:

<link rel="alternate" hreflang="tr" href="https://example.com/tr/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />

Dikkat edilmesi gereken kurallar şunlardır: hreflang etiketleri karşılıklı olmalıdır; Türkçe sayfa İngilizce sayfaya işaret ediyorsa, İngilizce sayfa da Türkçe sayfaya işaret etmelidir. Ayrıca her sayfa kendi kendine de işaret etmelidir; hreflang="tr" etiketi Türkçe sayfanın kendi URL'ini içermelidir.

XML sitemap üzerinden hreflang ekleme

Büyük sitelerde binlerce sayfanın <head> bölümünü değiştirmek yerine, hreflang bildirimleri XML sitemap dosyasına toplu olarak eklenebilir. Bu yaklaşım özellikle içerik yönetim sistemlerinde tercih edilir.

Sitemap tabanlı hreflang için xhtml ad alanının eklenmesi zorunludur:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/tr/urun/</loc>
    <xhtml:link rel="alternate" hreflang="tr" href="https://example.com/tr/urun/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/product/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/product/"/>
  </url>
  <url>
    <loc>https://example.com/en/product/</loc>
    <xhtml:link rel="alternate" hreflang="tr" href="https://example.com/tr/urun/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/product/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/product/"/>
  </url>
</urlset>

Karşılıklılık kuralı sitemap yönteminde de geçerliliğini korur. Türkçe <url> bloğu İngilizce URL'i içeriyorsa, İngilizce <url> bloğu da Türkçe URL'i içermelidir. XML Sitemap üretmek için SeoDenetim aracını kullanıyorsanız, hreflang alanlarını manuel olarak eklemeniz gerektiğini unutmayın.

HTTP başlıklarıyla hreflang: PDF ve dinamik içerik için

HTML dışı içerikler için — PDF belgeler, JSON yanıtları veya JavaScript ile tamamen render edilen uygulamalar — hreflang bildirimi HTTP yanıt başlığı üzerinden yapılabilir.

Apache web sunucusunda .htaccess aracılığıyla veya sunucu taraflı kodla bu başlık şöyle eklenir:

Link: <https://example.com/tr/belge.pdf>; rel="alternate"; hreflang="tr",
      <https://example.com/en/document.pdf>; rel="alternate"; hreflang="en"

Bu yöntem uygulamada en az kullanılandır; ancak HTML erişiminin mümkün olmadığı durumlarda tek çözüm olabilir. Normal HTML sayfalar için her zaman HTML veya sitemap yöntemini tercih edin.

Doğru hreflang sözdizimi: Dil ve bölge kodları nasıl birleştirilir?

Hreflang değerleri ISO 639-1 dil kodları ile isteğe bağlı ISO 3166-1 Alpha-2 bölge kodlarından oluşur. Kombinasyon bir tire ile ayrılır:

  • hreflang="tr" — Türkçe, bölge fark etmez
  • hreflang="tr-TR" — Türkiye'deki Türkçe kullanıcılar
  • hreflang="en" — İngilizce, bölge fark etmez
  • hreflang="en-US" — Amerika'daki İngilizce kullanıcılar
  • hreflang="en-GB" — İngiltere'deki İngilizce kullanıcılar
  • hreflang="zh-Hans" — Basitleştirilmiş Çince (script kodu)

Bölge kodu yalnızca aynı dilde birden fazla bölgeye yönelik farklı içerik sunduğunuzda anlam taşır. Tek bir Türkçe içeriğiniz varsa hreflang="tr" yeterlidir; gereksiz yere hreflang="tr-TR" kullanmak sizi yönetilmesi daha zor bir yapıya mahkum eder.

x-default değerinin rolü ve doğru kullanımı

hreflang="x-default", kullanıcının dili ve bölgesiyle eşleşen başka bir hreflang değeri bulunamadığında Google'ın göstereceği sayfayı işaret eder. Bu etiketin tam teknik anlamını ve gereksinimleri x-default rehberimizde ayrıntılı biçimde ele aldık.

x-default için tipik senaryolar şunlardır: dil seçim sayfası (kullanıcıyı tercih yapmasına yönlendiren bir açılış sayfası), varsayılan dil sayfası (genellikle İngilizce), veya bölge/dil kısıtlaması olmayan genel içerik. x-default'u mutlaka gerçek, ziyaret edilebilir bir URL'e yönlendirin; 404 döndüren bir sayfaya işaret etmek hreflang sinyal bütünlüğünü bozar.

Hreflang Generator ile kurulumu kolaylaştırın

Birden fazla dil ve bölge kombinasyonunu manuel yazmak hata riski taşır; özellikle karşılıklılık kuralını tüm sayfa çiftlerinde tutarlı biçimde uygulamak zorlayıcı olabilir. SeoDenetim Hreflang Generator, URL listelerinizi girdikten sonra hem HTML <link> etiketlerini hem de sitemap formatını otomatik olarak üretir.

Araç aynı zamanda karşılıklılık kontrolü yapar: hangi sayfanın hangi dil sürümüne işaret ettiğini görsel olarak doğrulayabilir, eksik çiftleri hemen fark edebilirsiniz. Manuel yönetimin mümkün olmadığı büyük kataloglarda bu otomasyon ciddi zaman ve hata tasarrufu sağlar.

Hreflang uygulamasında en sık karşılaşılan teknik hatalar

Hreflang doğru sözdizimde yazılmış olsa bile bazı teknik hatalar etiketin etkisini sıfıra indirir. Bunların başında karşılıklılık eksikliği gelir; A sayfası B'ye işaret ederken B sayfası A'ya işaret etmezse Google bu bağlantıyı geçersiz sayar. İkinci yaygın hata, canonical ve hreflang çelişkisidir: canonical etiketiniz sayfayı başka bir URL'e yönlendirirken hreflang orijinal URL'i kullanıyorsa sinyal karmaşıklığı doğar; her zaman canonical ile aynı URL'i kullanın.

Bir diğer hata ise hreflang etiketlerinin yalnızca bazı sayfalara eklenmesidir. Hreflang ya tüm dil sürümlerinde eksiksiz uygulanır ya da hiç uygulanmaz; yarım kalmış bir yapı, tam yokluğa kıyasla daha fazla sorun yaratabilir. Son olarak, 301 yönlendirmesiyle sonuçlanan URL'leri hreflang değeri olarak kullanmaktan kaçının; Google, yönlendirme zincirlerini her zaman doğru biçimde çözemeyebilir.