Tüm rehberler

Hreflang Nedir? Sözdizimi, Kurallar ve Sık Yapılan Hatalar

Hreflang etiketleri nedir, çok dilli sitelerin neden ihtiyacı vardır, tam sözdizimi, x-default, canonical etiketleriyle nasıl çalışır ve Google'ın onları yok saymasına yol açan hatalar.

Güncellendi 24 Eylül 2026 · 4 dk okuma

Siteniz çevrilmiş ve her dil açılıyor. Yine de Google Alman ziyaretçileri Türkçe sayfalarınıza gönderiyor ya da yalnızca bir dili dizine ekliyor. Sebep genellikle eksik veya bozuk bir hreflang'dir.

Bu rehber hreflang'in ne işe yaradığını, kurallarını ve Google'ın onu yok saymasına yol açan hataları anlatıyor. Okurken kendi sitenizi test etmek için ücretsiz çok dilli SEO kontrol aracımızı kullanın.

Hreflang nedir

hreflang, bir <link> etiketinin özelliğidir ve arama motorlarına şunu söyler: "bu sayfa şu diğer dillerde, şu URL'lerde de var". Google da her arayana kendi dilindeki sürümü gösterir ve sürümleri birbiriyle yarışan sayfalar yerine tek bir grup olarak ele alır.

Her dil sürümünün <head> bölümüne konan tipik bir blok:

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

Hreflang güçlü bir sinyaldir, bir komut değil. Tek bir kuralı yanlış uygularsanız yok sayılır.

Neden önemli

Hreflang olmadan genellikle üç şey olur:

Kurallar

Karşılıklılık

İngilizce sayfa Türkçe sayfayı listeliyorsa, Türkçe sayfa da İngilizce sayfayı geri listelemelidir. Aksi halde Google eşleşmeyi atar. En kolay çözüm, her sürüme aynı bloğu koymaktır.

Tam URL'ler

Her zaman protokol ve alan adıyla birlikte tam URL kullanın: /en/ değil, https://example.com/en/. https ve www dahil canlı URL'lerinizle birebir eşleşmelidir.

Kendine referans

Her sayfa blokta kendini de içerir: Türkçe sayfa kendi URL'sini gösteren hreflang="tr" satırını listeler.

Geçerli ISO kodları

Dil, ISO 639-1 kodudur (tr, en, de) ve isteğe bağlı olarak ardından bir tire ve ISO 3166-1 bölgesi gelir (en-GB, de-AT). Tek başına bölge geçerli değildir. En sık gördüğümüz hatalar:

YanlışDoğru
tr-TURtr-TR (iki harfli bölge kodu)
en-UKen-GB
jpja
cnzh veya zh-CN
uauk (Ukraynaca, Birleşik Krallık değil)
tr_TRtr-TR (alt çizgi değil, tire)

Geçersiz bir kod, o etiketin atılması demektir.

x-default

x-default, dillerinizden hiçbiri arayanla eşleşmediğinde hangi sayfanın gösterileceğini Google'a söyler. Kesinlikle zorunlu değildir, ama olmazsa Google tahmin eder. Diğer satırlar gibi her dil sürümündeki bloğa ekleyin.

Hreflang'i uygulamanın üç yolu

  1. HTML <head> içinde. En yaygın ve incelemesi en kolay yöntem.
  2. XML site haritasında. Her <url>, alternatiflerini xhtml:link öğeleriyle listeler. Her şey tek dosyada durduğu için büyük siteler için kullanışlıdır.
  3. HTTP Link başlığında. <head> olmayan PDF gibi HTML dışı dosyalar içindir.

Bir yöntem seçin. Karıştırmak serbesttir, ama birbirleriyle çelişirlerse sinyaller çatışır.

Hreflang ve canonical etiketleri

Çok dilli sitelerin çoğu burada bozulur. Canonical "bu sayfanın tercih edilen URL'si bu" der. Hreflang "bu diğer URL'ler aynı sayfanın diğer dillerdeki hâli" der. Farklı sorulara cevap verirler.

Kural: her dil sürümünün canonical'ı kendisini gösterir.

<!-- https://example.com/en/pricing/ sayfasında -->
<link rel="canonical" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="tr" href="https://example.com/fiyatlar/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing/" />

İngilizce sayfanın canonical'ı Türkçe sayfayı gösteriyorsa Google İngilizce sayfayı kopya kabul eder, canonical'ı izler ve hreflang'i yok sayar. Çeviriler kopya içerik değildir; bu yüzden diller arası bir canonical hiçbir şeyi korumaz.

html lang'i unutmayın

<html lang="tr"> özelliği sayfanın kendi dilini bildirir. Hreflang'in yerini tutmaz ama o sayfa için blokta kullandığınız kodla eşleşmelidir. lang="en" diyen bir Türkçe sayfa karışık sinyaller gönderir.

Tipik hatalar

Hreflang'inizi nasıl kontrol edersiniz

Çevrilmiş bir sayfayı açın, kaynağını görüntüleyin (Ctrl+U veya Cmd+Option+U) ve hreflang ile canonical arayın. Ardından listelenen URL'lerden birini açıp geri bağlantı verip vermediğine bakın.

Birkaç sayfadan sonra bu yavaşlar. Daha hızlı yol, bir sayfayı ücretsiz çok dilli SEO kontrol aracımızdan geçirmektir. Head, HTTP başlığı ve site haritasındaki hreflang'i doğrular (kodlar, tam URL'ler, kendine referans, x-default, tekrarlar), html lang ile karşılaştırır, canonical'ı kontrol eder ve açıldıklarını, geri bağlantı verdiklerini ve dillerini bildirdiklerini doğrulamak için en fazla altı çevrilmiş sürümü ziyaret eder. Hreflang'in ötesindeki her şey için çok dilli SEO denetim kontrol listemizi izleyin.

Lantis hreflang'i nasıl yönetir

Dört dilde 50 sayfalık bir sitede hreflang'i elle yazmak, senkronize tutulması gereken yüzlerce etiket demektir. Lantis her dili kendi URL'sinden (/en/ gibi bir alt klasör) sunar ve her dil için hreflang'i, x-default'u, doğru html lang'i ve kendini gösteren canonical'ı otomatik ekler; Framer, Webflow, WordPress, Shopify veya tek satır kodla herhangi bir sitede. Çeviriyi yapay zekâ yapar; görsel editör ve terim sözlüğü de vardır.

Fiyatı dil başına ayda €3'tan başlar (iki dilden itibaren €2,50, on dilden itibaren €2) ve ilk 100 çeviri kartsız ücretsizdir. Framer'da Lantis eklentisini kurun. Adım adım rehberler: Framer ve Webflow.

Sıkça sorulan sorular

Hreflang bir sıralama faktörü mü?

Doğrudan değil. Google'ın her arayana hangi dil sürümünü göstereceğine karar verir; bu da her pazarda tıklamaları artırır ve sürümlerin birlikte kümelenmesini önler.

x-default gerekli mi?

Şiddetle tavsiye edilir. Olmadan Google, desteklemediğiniz dildeki kişilere ne göstereceğini tahmin etmek zorunda kalır. Ana dilinize veya bir dil seçici sayfasına yönlendirin.

tr-TR mi kullanmalıyım, sadece tr mi?

Herkes için tek bir Türkçe sürümünüz varsa tr kullanın. tr-TR veya de-AT gibi bölgeleri yalnızca farklı fiyat veya yazım gibi ülke başına ayrı sürümleriniz olduğunda ekleyin.

Diğer dillerde de mevcut English · Français · Deutsch · Italiano · Português · हिन्दी · Русский · 日本語 · 한국어 · Bahasa Indonesia · العربية

Okumaya devam edin