Hreflang, yayınladığınız içeriklerin dilinin ne olduğunu bilgisayarınıza bildiren bir koddur. Bu dili kullanan kişiler için arama sonuçlarında içeriğinize öncelik verilmesine yardımcı olur. Hreflang, HTML’in <head> bölümünde bulunur.
Örneğin şu şekilde bir URL’ye sahip olduğunuzu düşünelim:
- https://www.example.com/en-us/
- https://www.example.com/en-ca/
- https://www.example.com/en-gb/
Bu örneklerde yer alan URL bilgisi önemli değildir. Önemli olan bu sayfalarla ilişkili olan hreflang değeridir. Bu üç sayfa üç farklı kullanıcıları hedeflemektedir:
- Birincisi ABD’de bulunan İngilizce konuşan kullanıcıları hedefler.
- İkincisi Kanada’da bulunan İngilizce konuşan kullanıcıları hedefler.
- Üçüncüsü ise İngiltere’de bulunan İngilizce konuşan kullanıcıları hedefler.
Örneğin, sitenizde Kanada için Fransızca bir çeviri varsa, ayrı bir URL (https://www.example.com/fr-ca/) oluşturmak ve Fransızca konuşan Kanadalıları bu sayfaya yönlendirmek gerekir.
Hreflang iki farklı etiketten biri ile ifade edilebilmektedir: rel=alternate veya hreflang=x-default.
Hreflang niteliğinin tanımı, sitenizde aynı içeriği içeren URL’leri belirtmek için arama motorları tarafından okunan koddur. Hatta arama motorlarına içeriğinizin sitenizdeki diğer içeriklerle olan ilişkileri hakkında bilgi vermek için kullanılması mümkündür. Örneğin, bu sayfanın Almanca bir çeviriye sahip olduğunu söyleyebilecektir.

Hızlı Erişim Menüsü
Ne Zaman Hreflang Kullanmalısınız?
Hreflang kullanmanızı gerektirecek birkaç farklı durum söz konusudur. Bunları şu şekilde sıralamak mümkündür:
- Ana içeriğiniz tek bir dildedir. Ancak gezinme ve footer gibi şablonları çevirebilirsiniz.
- Aynı dilin varyantlarını kullanmaya karar verebilirsiniz. Belirli bir pazar için daha özel hale getirmek amacıyla içeriğinizi denemek ve yerelleştirmek istediğinizde bu yararlı bir adımdır. Örneğin, ana diliniz olarak Portekizce kullanıyor olabilirsiniz. Daha sonra varyantlar olarak Portekizce ve Brezilya dili kullanıyor olabilirsiniz.
- Sitenizin içeriğinin bir dilden diğerine doğrudan çevirisinin olduğu yerlerde kullanabilirsiniz. Örneğin, orijinal içeriğiniz İngilizce olan web sayfanızın Almanca çevirisi olabilecektir.
Hreflang Neden Önemlidir?
Sitenizdeki çevrilmiş içerik daha geniş bir kitleye ulaşmanızı, dil engellerini ve bölgelerini aşmanızı sağlar. Hreflang olmadan, arama motorlarının çevrilmiş içeriğinizi kopya olarak okuma olasılığı çok yüksektir. Bu, SEO sıralamanızı olumsuz etkileyebilecektir.
Hreflang etiketi, arama motorlarına içeriğin aynı içeriğin farklı bir dil sürümü olduğunu ve bu içeriği yinelenen içerik olarak etiketlenmemesi gerektiğini söyler. Hreflang etiketi, içeriğin doğru sürümünün uygun kullanıcıya ulaşmasını da sağlar. Örneğin, sitenizi İspanya’da kullanan bir kişiye İspanyolca sürümü sunulurken, İngiltere’deki biri için aynı içeriğin İngilizce sürümü sunulur.
Hreflang, bir URL’yi konuma göre neyin sıralanacağını belirlemeniz gerektiğinde oldukça yararlıdır. Örneğin, ABD merkezli bir siteyi Avusturalya’da https://www.example.com/au yerine https://www.example.com/ olarak sıralamak gibi. Hreflang, URL’nin hreflang ek açıklamalarına sahip olup olmadığını kontrol eder ve araştırmacıya en uygun URL’yi sunar.
hreflang=x-default Etiketi Neden Kullanılmalıdır?
Arama motorları, arama sonuçlarını hangi dilde sıralayacağını seçerken birkaç farklı yolu kullanmaktadırlar. Bir kullanıcının IP adresini, hreflang=x-default etiketi ve kullanıcının sorgusu gibi son derece yararlı olabilecek şeyleri kılavuz olarak kullanabilmektedirler.
Bu, aradıkları dilde bir site bulmak isteyen kullanıcıların hemen çıkma oranlarını azaltmaya yardımcı olarak olumlu bir kullanıcı deneyimi sağlar. Ancak, belirli bir ülkede bir dil sağlamazsanız, durumunuzu etiketlemek ve kullanıcıları uygun şekilde yönlendirmek için x-default niteliğini kullanabilirsiniz.

<link rel=”alternate” href=”http://example.com/en-gb” hreflang=”en-gb” />
<link rel=”alternate” href=”http://example.com/en-us” hreflang=”en-us” />
<link rel=”alternate” href=”http://example.com/en-au” hreflang=”en-au” />
<link rel=”alternate” href=”http://example.com/” hreflang=”x-default” />
x-default hreflang niteliği, Google algoritmalarına x-default sayfasının belirli bir dili veya yerel ayarı hedeflemediğini gösteren bir sayfa olduğunu belirtir.
Daha önce de belirtildiği gibi, arama motorları bazen yalnızca bir çeviri olmasına rağmen sitenizi yinelenen içeriğe sahip olarak görebilecektir. Bu nedenle hreflang=x-default etiketi, hangi içeriğin çeviri olduğunu belirleyecektir.
Bununla birlikte, bunun tüm yinelenen içerik için bir çözüm olmayacağının farkında olmak önemlidir. Etiketi, farklı ögeler için benzer ürün açıklamaları gibi sitenizde olabilecek gerçek yinelenen içeriği gizlemezler. Google yalnızca herflang=x-default etiketinin kullanarak “a” içeriğinin “b” içeriğinin çevirisi olduğunu tanımlayacaktır.
Canonical ve Hreflang Etiketleri Arasındaki Fark Nedir?
Yinelenen içerikle baş etmenin bir numaralı kuralı canonical etiketleri kullanmaktır. Bu genellikle “rel=canonical” olarak adlandırılır ve arama motorlarına bir URL’nin daha baskın bir sürümünü göstermek için kullanılır. Bu, arama motoru botlarının yinelenen içerik sürümünün taranıp dizine eklenmesini sağlamasına bir önlemdir.
Hreflang etiketi bunun yerine, dil veya bölgeye göre arama sonuçlarında web sayfasının doğru sürümünü görüntüler. Canonical ve herflang etiketi arasındaki temel fark, canonical etiketinde önceden belirlenmiş bir baskın sayfa olmasıdır. Hreflang sayfalarında ise hiçbiri baskın değildir.

Hreflang Etiketi Nasıl Kullanılır?
Hreflang etiketini sitenize doğru bir şekilde uygulamak biraz zor olabilir. Aşağıda bunun nasıl yapılacağı ile ilgili ufak bir rehber yer almaktadır.
Hreflang etiketlerini uygulamanın üç farklı yöntemi vardır:
Header Kısmına Link Elementleri Ekleme (<head>)
Bir HTML sayfanız varsa hreflang etiketi <head> içerisine yerleştirilebilecektir:
<link rel=”alternate” hreflang=”fr” href=”https://www.example.com”>
HTTP Başlıklarında Hreflang Kullanma
PDF’ler gibi HTML olmayan sayfalar için hreflang ek açıklamasını HTTP başlığına eklemelisiniz
Link: <https://www.example.com/>; rel=”alternate”; hreflang=”en”
Yukarıdaki örnekte görebileceğin gibi bu etiketlerin hreflang=”en” kısmı Google’a listelenen URL’nin sayfanın İngilizce sürümü olduğunu söyler. Bu nedenle ana dil tarayıcısı İngilizce olan ve İngilizce konuşulan ülkelerdeki kullanıcılar hedeflenmektedir. Eğer hreflang=”fr” olsaydı, Google, URL’yi Fransızca için gösterecekti.
İçeriğinizin çevrilmiş tüm sürümlerine bir bağlantı eklemeniz önemlidir. Ek olarak, hreflang etiketlerine kendinizin de başvurması gerekmektedir. Dört farklı dil varyasyonu olan (İngilizce, Almanca, İtalyanca ve Fransızca) bir sayfa şöyle gözükecektir:
<link rel=“alternate” hreflang=“en” href=“https://www.example.com”>
<link rel=“alternate” hreflang=“de” href=“https://www.example.com/de”>
<link rel=“alternate” hreflang=“it” href=“https://www.example.com/it”>
<link rel=“alternate” hreflang=“fr” href=“https://www.example.com/fr”>
Daha spesifik olmak ve dilinize bölgesel varyantlar eklemek istiyorsanız dil kodundan sonra bir ülke kodu eklemeniz gerekmektedir. Sırayı doğru şekilde takip etmeli ve bir tire işareti kullanmalısınız. Google’ın şehirleri ve kasabaları tanımayacağını da unutmamak gerekir. Yalnızca bir ülkeyi bir bütün olarak ele alacaktır.
Kullanacağınız hreflang etiketlerine coğrafya ekleme işlemi, hreflang özelliğindeki dil kodundan sonra bir ülke kodu eklenerek yapılabilir. Yukarıdaki site her dilden farklı ülkeleri hedefliyorsa şöyle görünürler:
<link rel=“alternate” hreflang=“en-gb” href=“https://www.example.com”>
<link rel=“alternate” hreflang=“es-ar” href=“https://www.example.com/ar”>
<link rel=“alternate” hreflang=“pt-br” href=“https://www.example.com/pt”>
Google bu etiketleri gördüğünde İngilizceyi İngiliz kullanıcılara, İspanyolcayı Arjantinli kullanıcılara ve Portekizceyi Brezilyalı kullanıcılara gösterecektir. Bu kodların tümünü ISO 639-1 ve ISO 3166-1 Alpha 2 kısmında bulabilirsiniz.
Birinci ve ikinci yöntemi kullanmanın dezavantajı, her ikisinin de sayfa yükleme sürenizi yavaşlatmasıdır. İçeriğinizin birden fazla çevirisi ve varyantı varsa ve bir sorun oluşturduğunu tespit ediyorsanız üçüncü seçenek en iyisi olabilecektir.
Site Haritalarını Kullanma
Üçüncü yöntem, XML site haritasına hreflang etiketleri eklemektedir. Site haritanızdaki her URL’nin hreflang ek açıklamalarını içermesi gerekeceğinden bu kesinlikle ek açıklama eklemenin en uzun yoludur.
İngilizce ve Rumence sürümleri olan bir sitenin kodu şu şekilde olacaktır:
<url>
<loc>https://www.website.com</loc>
<xhtml:link rel=“alternate” hreflang=“en” href=“https://www.website.com” />
<xhtml:link rel=“alternate” hreflang=“ro” href=“https://www.website.com/ro” />
</url>
<url>
<loc>https://www.website.com/ro</loc>
<xhtml:link rel=“alternate” hreflang=“ro” href=“https://www.website.com/ro” />
<xhtml:link rel=“alternate” hreflang=“en” href=“https://www.website.com” />
</url>
Gördüğünüz gibi burada çok daha fazla kodlama gereklidir. Siteniz büyüdükçe, birden çok sayfada birden fazla içerik varyasyonu yer alabileceği için iş yükünüz hızla artış gösterecektir. Bu ekstra çabanın aksine yükleme süresinden taviz vermeyi düşünebilirsiniz.
Yükleme süresinden taviz vermek yavaş bir web sayfasına sahip olmak demektir. Bu durumda SEO sıralamalarına mal olabilecek ve potansiyel kullanıcılar ve müşteriler için hemen çıkma oranlarını artırabilecektir. Site haritası, sitenizi tararken arama motorları için de bir referans noktasıdır. Site haritanızda alternatif URL’ler olduğunda, bunların daha verimli bir şekilde bulunmasına olanak tanır.
Hreflang ve Canonical Etiketleri Nasıl Birlikte Kullanılır?
Yukarıda belirtildiği gibi, hreflang ve canonical etiketlerinin kullanım ve uygulamalarında küçük farklılıklar vardır. Ancak, uygulamalarını birleştirmek istiyorsanız birlikte kullanılmaları mümkündür. Canonical etiketi, sayfanın her sürümüne, kendisini işaret ederek eklemeniz yeterlidir.
Üç dilde bir web sitesi örneğini aşağıda görebilirsiniz. İngilizce işaretlemesi şöyle görünecektir:
<link rel=“canonical” href=https://www.example.com/”>
<link rel=“alternate” hreflang=“en-gb” href=“https://www.example.com”>
<link rel=“alternate” hreflang=“es-ar’’ href=“https://www.example.com/es”>
<link rel=“alternate” hreflang=“pt-br” href=“https://www.example.com/pt”>
İspanyolca versiyon için aynı şeyi yapabilirsiniz:
<link rel=“canonical” href=https://www.example.com/es”>
<link rel=“alternate” hreflang=“en-gb” href=“https://www.example.com”>
<link rel=“alternate” hreflang=“es-ar” href=“https://www.example.com/es”>
<link rel=“alternate” hreflang=“pt-br” href=“https://www.example.com/pt”>
Portekizce versiyon için aynı şeyi yapabilirsiniz:
<link rel=“canonical” href=https://www.example.com/fr”>
<link rel=“alternate” hreflang=“en-gb” href=“https://www.example.com”>
<link rel=“alternate” hreflang=“es-ar” href=“https://www.example.com/es”>
<link rel=“alternate” hreflang=“pt-br” href=“https://www.example.com/pt”>
Bunu yaparken dikkatli olun. Çünkü hreflang etiketinde standart olmayan bir URL kullanmak gibi yaygın bir bir hata bulunmaktadır. Buradaki bir hata Google’ın kafasının karışmasına neden olacak ve onun düzgün çalışma yeteneğini sekteye uğratacaktır.

Hreflang Kullanılırken Sıkça Yapılan Hatalar Nelerdir?
Her ne kadar hreflang kullanmanın birçok avantajı olmasına rağmen, özellikle uluslararası bir kitleniz varsa, hataların olumsuz bir etkisi olabilecektir. Bu hreflang etiketleri doğru kitlenin içeriği doğru dilde gördüğünden emin olmak için kullanılır.
Bu konuda başarılı olamazsanız, yüksek hemen çıkma oranlarıyla karşılaşırsınız ve o bölgedeki site trafiğini kaçırırsınız. Bu hataların ikisi de Google’ın sizi cezalandırmasına neden olacaktır. SEO çalışmalarınızda ters bir etki olmaması için her şeyin doğru olması önemlidir.
- Boş hücreler: CSV dosyanızı XML’e dönüştürdüğünüz zaman boş hücreler varsa veriler doğrulanmaz. Boş bir hücreye, bazı URL’ler için dil veya coğrafi bilgi girilmemesi nedeniyle ortaya çıkabilecektir.
- Yanlış dil kodları kullanma: Dilinizi ve ülke kodlarınızı girerken küçük bir yazım hatası bile Google’ın içeriğinizi tamamen farklı bir dilde okumasına neden olabilecektir. Ayrıca, kısaltmalarda yapılacak küçük bir hata daha yüksek hemen çıkma oranlarına neden olabilecektir.
- Doğru URL’nin kullanılmaması: Example.com yazdığınızda https://www.example.com/ adresine yönlendiriliyorsanız hreflang olarak eklemeniz gereken URL budur.
- Yanlış ayırıcıların kullanılması: Birden çok dil kullanırken ayırıcıları yanlış kullanmak mümkündür. Örneğin, Almanca dilinde varsayılan değer ayırıcı olarak noktalı virgül benzeri bir noktalama işareti kullanırlar. Ancak hreflang ek açıklama üretici araçlar bu tür bir ayırıcı kullanmazlar.
- Eksik header bilgileri: Ülke değerlerinizi ayırırken tire işaretinin kullanılması gerektiğinde dikkat etmek önemlidir. Alt çizgi geliştiriciler tarafından çok kullanılır. Bu nedenle kodlama sırasında bu küçük (genellikle gözden kaçan) hatayı yapmaya daha eğilimli bir durum söz konusudur.
- Hreflang bağlantılarının yönlendirilmesi: Bağlantılarla ilgili bir sorun varsa, 4xx veya 5xx HTTP koduyla karşılaşırsınız. Bu, artık var olmayan bir sayfa veya bozuk bir bağlantı kullanılması durumunda ortaya çıkan bir durumdur.
- Yanlış değer sırası: Hreflang doğru sırada yazılmalıdır. Bunun yapılmaması bir hataya neden olacaktır. Dil kodu her zaman önce gelir, ardından ülke kodu gelir.
- Hatalı veriler: Hatalı veriler, dizin oluşturmayla ilgili sorunlara neden olur. Hatalı veriler, daha sonra yeni hreflang etiketleri için temizleme yapılmadan kullanılan önceki dosyaların düzenlenmesi sonucu oluşabilecektir.
- Sayfa kaynak kodundaki problemler: Belirli durumlarda hreflang değerlerinin sayfa kaynak koduyla çakışması gibi bir problem ortaya çıkmaktadır. Genellikle göz ardı edilen bu tür durumları tespit etmek için sayfa kaynak kodunun tamamına bakılması gerekecektir.
Google sitenizi dizine eklemeye başlamadan önce bunları çözebilmeniz için bu yaygın hataların farkında olmanız çok önemlidir.
Yaygın Hreflang Hataları Nasıl Çözülür?
Herhangi bir problemde olduğu gibi düzeltme yapmadan önce onu tanımlamanız gerekmektedir. Google’ın Search Console aracını veya W3C’yi kullanarak uyumluluğu kontrol edebilirsiniz.
Google Search Console’da “arama trafiği” kısmına gidin. Oradan Uluslararası Hedefleme bölümüne girin. Sayfanın ortasında uluslararası hedefleme raporunu göreceksiniz. Dil sekmesi, sayfa düzeyi işaretlemeler ve hreflang’ı düzgün bir şekilde yükleyip yüklemediğinizi gösterir. Bir sorun varsa, rapor bunun ne olduğunu ve nerede olduğunu belirleyecektir.
Ceza Almanıza Neden Olabilecek Hreflang Hataları
Bu noktada, Google’ın sizi cezalandırabileceği bazı hatalar olduğunu belirtmek önemlidir. Bunun için bazı örneklere göz atabiliriz.
- Dil ve ülke kodlarını ayırmak için alt çizgi kullanma: Bu konuda çok fazla kafa karışıklığı yaşanmıştır. Ancak Google, dil ve ülke kodlarının bir tire işareti ile ayrılması gerektiğini doğrulamıştır. Bu, arama motoru sonuçlarındaki görünürlüğü etkilememektedir.
- İstisnai olarak ayrılmış dil kodlarını kullanma: Kabul edilecek dil kodu biçimleri listesinde bazı istisnalar vardır. Bunlar arasında devlet kuruluşlarından (örneğin “İngiltere”) bir talep olarak gelen ISO 639-1 bulunmaktadır. Bunu hreflang etiketinde kullanırsanız, Google Search Console’da bir hata görmezsiniz.
- Kendine referans veren hreflang etiketlerinin eklenmemesi: Kendine referans vermek gerekli olmasa bile hreflang’ın merkezinde olduğu düşünülürse bu tavsiye edilen bir durumdur.
- Mutlak URL kullanmamak: Mutlak URL kullanmamak hatalara yol açmaz. Ancak mümkün olduğunda mutlak URL kullanmanız önerilir.
Yukarıdaki hataların her biri çevrimiçi içerik yayınlama konusunda az miktarda boşluğa izin verdikleri için testten geçirilmesi gereken şeylerdir. Bu hatalardan uzak durmanın en kolay yolu hiç kuşkusuz Google’ın yönergelerini izlemek ve hatalardan kaçınmaktır.
WordPress İçin Dil Çevirme Eklentisi
WordPress kullanıyorsanız, Polylang, WPML, Weglot veya Bablic gibi bir eklenti kullanmak, siteniz için otomatik bir çevirici çalıştırmaktan çok daha yararlı olacaktır. Bu araçlardan bazıları iyi miktarda çeviri sağlarlar. Ancak en önemli kısmı ziyaretçilere mükemmel çeviri sağlamalıdır.
Her eklentinin avantajları olsa bile sitenizin yükleme süresini düşünerek en hafifi seçmelisiniz. Polylang, çok dilli sayfalar ve yayınlar oluşturma konusunda size yardımcı olabilecek en hafif eklentilerden biridir.
Sayfalar ve gönderiler için varsayılan diliniz otomatik olarak seçilir. Çevrilmiş her içeriği eklemek için bir dilin yanındaki “+” düğmesini tıklamanız ve ardından o dil için içerik eklemeniz gerekecektir.

WordPress’te Hreflang Nasıl Eklenir?
Şu anda Polylang veya başka bir eklenti kullanıyorsanız hreflang etiketleri otomatik olarak eklenecektir. Alternatif olarak yapmanız gereken bunları ayarlardan etkin hale getirmektir.
WPML kullanıyorsanız doğru hreflang linkleri sitenin header kısmında yer alacaktır. Durumu kontrol etmek için WPML > Languages > SEO Options kısmına gidebilirsiniz.
Google’a içeriğin ülkelere yönelik olduğunu söylemek istiyorsanız, değerler en-US ve fr-FR gibi dil ve ülke içermelidir. İçerik ülkeler için ayrım gözetilmeksizin tasarlanmışsa, bu değerler en veya fr gibi dilleri içermelidir.
WPML kullanıyorsanız WPML > Languages kısmına gidip Edit Languages seçeneğini kullanmaya çalışabilirsiniz.
Sitenizi çok dilli hale getirmek için bu eklentilerden herhangi birini kullanmıyorsanız HREFLANG Tags Lite eklentisini yüklemeyi düşünebilirsiniz. Bununla birlikte Insert Header and Footer eklentisini yükleyerek hreflang kodunu header kutucuğuna yerleştirebilirsiniz.
Sonuç
Artık hreflang etiketinin ne olduğunu ve içeriğinizin doğru kililere doğru bir şekilde sunulması için neler yapmanız gerektiğini biliyor olmalısınız. Arama motorlarının içeriğinizi her çevrilmiş sürümün kopyası olarak okumasını önlemek ve içeriğinizi belirli diller ve bölgeler için belirleyebilmek, sitenize ve SEO performansınıza olumlu katkı sağlayacaktır.