İçerik Tablosu
- 1 Hreflang Etiketi Ne İşe Yarar?
- 2 Hreflang SEO için Neden Önemlidir?
- 3 Hreflang Nedir?
- 4 Hreflang Neyi Başarır?
- 5 Hreflang Kullanmalı mısınız?
- 6 Hreflang Uygulama Seçenekleri
- 7 Teknik Uygulama Temelleri
- 8 Teknik Uygulama Seçenekleri
- 9 Hreflang Uygulamasının Diğer Teknik Yönleri
- 10 Hreflang Uygularken Kullanılabilecek Araçlar
- 11 Hreflang’i Canlı Tutmak: Süreç
- 12 Sonuç
Hreflang etiketleri bir arama motorundan çıkan en karmaşık ögelerden biri. Doğru kullanmak ve faydasını görmek uzun ve zorlu bir süreç olabiliyor. Umuyoruz ki bu rehber web siteniz için hreflang etiketlerini yerleştirirken sık düşülen tuzaklara düşmenizi önleyecek.
Hreflang Etiketi Ne İşe Yarar?
Hreflang etiketleri, içerik olarak aynı olan fakat dil ve bölge olarak farklı hedeflemelere sahip sayfaların ayrıştırılması için kullanılır. Hreflanglar üç farklı varyasyonda kullanılabilir:
- Bölgesel varyasyonlar: en-us, en-gb
- Farklı diller: en, de, fr, tr
- Farklı dil ve bölgesel varyasyonların kombinasyonları
Hreflang etiketlerini kullanarak aynı dilin farklı pazarlarını hedeflemeniz mümkündür. Zaten hreflang’in en yaygın kullanım şekli de budur. Hreflang sayesinde ABD ve Britanya ingilizcesi ya da Almanya ve Avusturya Almancasını farklılaştırmak mümkündür.
Hreflang SEO için Neden Önemlidir?
Peki hreflang’in bir blog konusu olmasına sebep veren şey nedir? SEO açısından incelersek, bunun iki ana nedeni var.
Bunlardan ilki ve en önemlisi: Kullanıcıların dili ve konumuna göre optimize ettiğimiz web sayfalarımız varsa, bu dili konuşan ve bu konumdan gelen insanların bu sayfalara gelmesini isteriz. Doğru dil ve lokasyona optimize içeriklere sahip olmak, sayfaya gelen kullanıcıların deneyimini bir hayli geliştirir ve böylece daha az kişi sayfanıza geldikten sonra vazgeçerek arama sonuçlarına geri döner. Daha az kullanıcının sitenizden vazgeçerek arama sonuçlarına dönmesi demek ise arama sonuçlarında daha yüksek sıralar elde etmek demektir.
Bir diğer sebep ise en az ilki kadar önemli: Hreflang etiketleri web sitenizde kopya içerik sorunlarının baş göstermesine engel olur. Şöyle bir örnek verelim: Türkiye, ABD ve Almanya’ya yönelik farklı URL’lerde bulunan fakat aynı içeriklerle donatılmış sayfalara sahipsiniz ve bu sayfaları birbirinden ayıran tek şey fiyatlarda bulunan para birimi. Google’ın burada hedeflemek istediğiniz yapıyı anlaması biraz zor olabilir. Bu yüzden bu üç sayfayı direkt olarak birbirinin kopyası olarak görür ve sizin de nur topu gibi bir kopya içerik probleminiz olur. Fakat bu sayfalara kendilerine özel hreflang etiketlerini yerleştirirsek. Google’da bu sayfaların aslında aynı içerikle farklı insanlar için optimize olduğunu anlar ve kopya içerik problemi yaşamanız engellenir.
Hreflang Nedir?
Sanırım yavaştan Hreflang’in ne olduğuna dair bir fikre sahip oldunuz. Fakat biz kitaba uygun olması için tekrar açıklayalım. Hreflang, web sitenizde oluşturduğunuz benzer içerikli fakat farklı dil ve bölgeler için oluşturulmuş içerikleriniz ayrıştırılmasını sağlarken, arama motorlarını da bu durum hakkında bilgilendiren etiket kodudur.
Hreflang Neyi Başarır?
Tam olarak yapılmış bir hreflang implementasyonu sonrasında web sitesindeki bütün URL’ler için hedef dil ve bölge seçenekleri belirlenir. Bir kullanıcı Google’da arama yaptığında Google o kullanıcı için hreflang çerçevesinde sırasıyla şu işlemleri uygular:
- Bir URL’i sıralamaya karar verir.
- Bu URL’in hreflang etiketine sahip olup olmadığını kontrol eder.
- Dil ve bölge bakımından o kullanıcıya en uygun gördüğü sonuçları getirir.
Kısaca kullanıcının bulunduğu yer ve dil ayarları onun için en uygun URL’i belirler. Eğer kullanıcının web tarayıcısında birden fazla dil varsa, dillerin tarayıcı ayarlarındaki sıralamaları önem kazanır.
Hreflang Kullanmalı mısınız?
Hreflang etiketlerinin ne olduğuyla ve nasıl çalıştığıyla ilgili problemlerimizi çözdüğümüzü varsayarak kullanıp kullanmama kararını vereceğimiz noktaya geldik. İşi sizin için biraz daha kolaylaştırmak adına aşağıdaki iki durumda kullanmanızı öneriyoruz:
- Birden fazla dilde aynı içeriğe sahipseniz
- Farklı coğrafi bölgelere yönelik, fakat aynı dilde içerikleriniz var ise
Bir alan adına ya da birden fazla alan adına sahip olmanız durumu değiştirmez. Aynı alan adındaki varyasyonları bağlayabildiğiniz gibi, farklı alan adlarını da bu etiketler ile işaretlemek mümkündür.
Hreflang Uygulama Seçenekleri
Çalışmanızı uygularken dikkat etmeniz gereken en önemli şeylerden biri de aşırı spesifik olmamak. Üç tür sayfanız olduğunu varsayalım:
- Almanca
- Almanca, fakat Avusturya’da ikamet edenler için optimize edilmiş.
- Almanca, fakat İsviçre’de ikamet edenler için optimize edilmiş.
Bunları aşağıdaki üç etiketi kullanarak işaretleyebilirsiniz.
- de-de: Almanya’da Almanca konuşan kullanıcılar.
- de-at: Avusturya’da Almanca konuşan kullanıcılar.
- de-ch: İsviçre’de Almanca konuşan kullanıcılar.
Peki diyelim ki ben Belçika’da ikamet eden fakat Almanca konuşan bir kullanıcıyım. Google bu durumda bana hangi sonucu göstermeli? İlk başta bulunan de-de olarak işaretlenen sayfa muhtemelen en iyisi olurdu. Bu problemi çözmek için şöyle ilerleyelim. Aramayı yapan kullanıcı Almanca biliyor mu? Evet. İsviçre veya Avusturya’da yaşıyor mu? Hayır. O zaman kendisine gösterdiğimiz sayfa sadece Almanca olsa yeterli. Yapılacak en akıllıca şey, özel hedef lokasyonlarımıza uymayan aramalar için yalnızca dil seçeneği barındıran etiketleri kullanmak. Eğer sitemizde bulunan de-de olarak işaretlenmiş etiketi yalnızca de olarak değiştirirsek, hem Almanya’da bulunup Almanca konuşan kullanıcılar, hemde dünyanın geri kalanındaki bütün Almanca konuşan kullanıcılar bu sayfayı görecektir. Bizim de problemimiz çözülecektir.
Böyle bir dizi bağlantı oluşturduğumuz da, en spesifik olanın kazandığını bilmek güzel bir şey. Etiketlerin sayfada bulundukları sıra önemli değildir. Arama motorları her zaman koşullara göre en spesifik olanı tercih eder.
Teknik Uygulama Temelleri
Hangi tür implementasyonu seçerseniz seçin, takip etmeniz gereken üç temel kural bulunmaktadır.
Geçerli Hreflang Nitelikleri
Hreflang etiketinin bir bölge yada kabul görmüş bir dilden oluşan değerleri içermesi gerekmektedir. Dil niteliği ISO 639-1 formatında olmak zorundadır. (İki harfli kod)
Bölge kodu ise tamamen opsiyonel olmak ile birlikte ISO 3166-1 Alfa 2 formatında olmak zorundadır. Daha açık olarak resmi olarak atanmış bir değer yazmak gereklidir. Bu da, bu etiketleri kullanırken gerekli araştırmayı yapıp, seçtiğimiz dil ve bölgeler için doğru kodları kullandığımızdan emin olmak zorunda olduğumuz anlamına gelir. Yanlış bölge kodunu kullanmak, hreflang kullanıcıları arasında çok sık görülen bir problemdir. WikiPedia’da bulunan doğru dil ve bölge kodlarını kullanarak implementasyonunuzu doğru yaptığınızdan emin olmaya çalışın.
Google bazı çok sık yapılan hataları anlayıp otomatik olarak doğrusunu uygulayabilir. Örneğin Britanya’da yaşayan İngilizce konuşanlar için optimize ettiğiniz bir sayfada bu kodu en-gb yerine yanlışlıkla en-uk olarak kullandınız. Google sık yapılan bu hatayı anlayıp doğrusunu algılayabilir. Fakat en-eu gibi farklı kullanımları anlayamaz çünkü eu kodunda herhangi bir ülke veya bölge bulunmamaktadır.
Geri Dönüş Bağlantıları
İkinci temel kural geri dönüş bağlantıları ile ilgili. Uygulama türünüz ne olursa olsun her bir URL’de, diğer bütün URL’lere geri dönüş bağlantıları olmalıdır. Bunlar aynı zamanda kendi canonical URL’lerini göstermelidir ki buna birazdan değineceğiz. Eğer sitenizde 80 dil varsa, 80 URL için de hreflang linklerine ihtiyacınız olacak. Bunun başka yolu yok.
Kendisine Verilen Hreflang Linkleri
Üçüncü ve nihai temel kural kendisine verilen linkler ile ilgilidir. Tıpkı az önceki geri dönüş bağlantılarının biraz garip gelebileceği gibi, bazı sayfalarda bulunan bağlantılar bazı web geliştiricileri için garip gözükebilmektedir. Yine de bunlar gereklidir ve olmaması doğru bir implementasyon yapmadığınız anlamına gelir.
Teknik Uygulama Seçenekleri
Web siteniz bu etiketleri uygulamanın üç farklı yolu vardır. Sitenin <head> bölümü, HTTP Üst Bilgi ve XML Site haritaları. Hepsinin kendisine göre uygun kullanım durumları bulunduğu için bunların ayrıntılarına değinelim.
HTML Hreflang Etiketini <head> Bölümünde Kullanmak
Hreflang’ın uygulanması için ilk yöntem HYML hreflang link ögeleridir. Uygulamak için aşağıda örnekleri görülen kodları web sitenizin her sayfasındaki <head> bölümüne eklemeniz gerekmektedir.
<link rel="alternate" href="http://example.com/" hreflang="en" />
<link rel="alternate" href="http://example.com/en-gb/" hreflang="en-gb" />
<link rel="alternate" href="http://example.com/en-au/" hreflang="en-au" />
Her varyasyonun diğer tüm varyasyonlara bağlanması gerekliliği yüzünden bu uygulama şekli çok büyük olabilir ve sitenizde bazı performans sorunlarına sebep verebilir. Örneğin 20 diliniz varsa, bu tür bir uygulamayı yapmak demek her sayfada yukarıda gösterildiği gibi 20 hreflang bağlantı ögesi olması anlamına gelir. Bu da her sayfada kullanıcının ihtiyacı olmadığı fazladan 1,5 KB yüklemesi demektir. Hatta ve hatta içerik yönetim sisteminiz bu tür bağlantıları oluşturmak için bir kaç veritabanı çağrısı yapmak zorunda kalabilir. Bu biçimlendirme tamamen arama motorları içindir. Bu yüzden çok fazla dil olan çok büyük siteler için bu uygulama türünü önermiyoruz.
Hreflang HTTP Üst Bilgi Uygulaması
Hreflang uygulamasında kullanılabilecek ikinci yol da HTTP Üst bilgileridir. HTTP Üst Bilgileri tüm PDF dosyalarınız ve HTML olmayan içeriklerinizi optimize ederken kullanabileceğiniz bir yöntemdir. Tam olarak şöyle gözükmektedirler:
Link: <http://es.example.com/document.pdf>;
rel="alternate"; hreflang="es",
<http://en.example.com/document.pdf>;
rel="alternate"; hreflang="en",
<http://de.example.com/document.pdf>;
rel="alternate"; hreflang="de"
HTTP Üst Bilgisinde çok fazla element barındırmanın yol açtığı problemler <head> uygulamasından farklı değildir: aşırı yük.
Hreflang XML Site Haritası Uygulaması
Uygulamayı yapmanın üçüncü yolu da XML site haritalarıdır. Ek açıklamayı her URL’e eklemek için XML site haritalarında xhtml:link özniteliğini kullanır. Bir sayfanın <head> bölümüne <link> ögesiyle yapılan işlemlere benzer bir şekilde çalışır. Eğer link elementleri kullanılarak yapılan uygulamanın karmaşık olduğunu düşündüyseniz, XML site haritası uygulamasının biraz daha karmaşık olduğunu söylememizin tam zamanı. Aşağıda görülen uygulama ek olarak 2 farklı dile daha sahip olan bir URL için gereken biçimlendirmedir:
<url>
<loc>http://www.example.com/uk/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/" />
<xhtml:link rel="alternate" hreflang="en-au" href="http://www.example.com/au/" />
<xhtml:link rel="alternate" hreflang="en-gb" href="http://www.example.com/uk/" />
</url>
Üçüncü URL olarak kendisine atıf yapan bir URL’e sahip olduğunu eminim farketmişsinizdir. Şimdi, diğer iki URL’inde site haritasında olması gerektiğini hatırlayarak işe koyulalım:
<url>
<loc>http://www.example.com/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/" />
<xhtml:link rel="alternate" hreflang="en-au" href="http://www.example.com/au/" />
<xhtml:link rel="alternate" hreflang="en-gb" href="http://www.example.com/uk/" />
</url>
<url>
<loc>http://www.example.com/au/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/" />
<xhtml:link rel="alternate" hreflang="en-au" href="http://www.example.com/au/" />
<xhtml:link rel="alternate" hreflang="en-gb" href="http://www.example.com/uk/" />
</url>
Gördüğünüz gibi, temelde yalnızca <loc> öğesindeki URL’leri değiştiriyoruz. Bu uygulama şekliyle her bir URL kendisine atıf yapan bir etikete sahip olur ve bağlantıları uygun gördüğü diğer URL’lere döndürür.
Çok sayıda dil ve bölge için bunu yapmak oldukça fazla çıktı gerektirir. Fakat bunun en güzel yanı XML site haritaları yalnızca arama motoru örümcekleri tarafından ziyaret edilir. Böylece ne kadar ağır olursa olsunlar web sitenizi ziyaret eden kullanıcılara bir etki yapmazlar.
XML site haritası uygulamasını tercih etmenin bir diğer güzel yanı da; bir XML site haritası üzerinde değişiklik yapmak çoğu zaman sitedeki tüm sayfalarda değişiklik yapmaktan çok daha kolaydır. Büyük onay süreçlerinden geçmeye gerek yoktur ve elki de zaten XML site haritasının bulunduğu dosyaya direkt erişebiliyorsunuzdur.
Hreflang Uygulamasının Diğer Teknik Yönleri
Buraya kadar hangi hreflang teknik uygulamasını seçtiğinizin kararını verdiyseniz, işe başlamadan önce bilmeniz gereken bir kaç teknik özellik daha olduğunu hatırlatmak istiyoruz.
Hreflang x-default
Ortamlarda x-default olarak bilinen özel bir öğe vardır. Bu değer, diğer hreflang bağlantılarınız da belirttiğiniz dillerden hiç birinin kullanıcı ile eşleşmemesi durumunda o kullanıcının gönderileceği yeri belirlemek için kullanılır. Aşağı yukarı şöyle görülür:
<link rel="alternate" href="http://example.com/" hreflang="x-default" />
Bu öge ilk olarak basına tanıtıldığında “uluslararası açılış sayfaları” olarak, yani kullanıcıların konumlarına göre yönlendirildikleri sayfalar olarak adlandırılmışlardı. Kullanıcıların bulundukları yer ve dil başka hiç bir şey ile eşleşmediyse, gönderilecekleri yer burasıdır.
Yukarıda gösterdiğimiz Alman örneğini ele alırsak. Bu uygulamada İngilizce arama yapan bir kullanıcının “uygun” bir URL’i olmayacaktı. X-default’un sahneye çıktığı durumlardan birisi de budur. Uygulamanıza dördüncü bir bağlantı eklersiniz ve bu dördünü kullanırsınız:
- de
- de-at
- de-ch
- x-default
Bu durumda, x-default bağlantısı, birincil URL ile aynı bağlantıyı işaret edecektir. Teknik olarak tamamen aynı sonuca yol açsa bile, bu bağlantıyı orada tutmanızı öneririz. Uzun vadede hem sayfanın hangi dilde olduğunu hem de kodun okunmasını kolaylaştırdığı için faydalıdır.
Hreflang ve rel=canonical
rel="alternate" hreflang="x"
ve rel="canonical"
birlikte kullanılabilir ve öyle de kullanılmalıdırlar. Her dil de kendisine işaret eden bir re=”canonical” elementi bulunmak zorundadır. İlk örnekte example.com ana sayfasında olduğumuzu varsayarsak şöyle olmasını bekleriz:
<link rel="canonical" href="http://example.com/">
<link rel="alternate" href="http://example.com/" hreflang="en" />
<link rel="alternate" href="http://example.com/en-gb/" hreflang="en-gb" />
<link rel="alternate" href="http://example.com/en-au/" hreflang="en-au" />
Şimdi de en-gb sayfasında olduğumuzu varsayalım, canonical dışında fazla bir şeyin değişmediğini göreceksiniz:
<link rel="canonical" href="http://example.com/en-gb/">
<link rel="alternate" href="http://example.com/" hreflang="en" />
<link rel="alternate" href="http://example.com/en-gb/" hreflang="en-gb" />
<link rel="alternate" href="http://example.com/en-au/" hreflang="en-au" />
En-gb sayfasındaki kanonik ayarı http://example.com olarak ayarlama hatasına düşmeyin, çünkü bu uygulamamızı bozacaktır. Hreflang ögelerinin her bir URL’in kanonik sürümüne işaret etmesi çok önemlidir. Bu sistemler birlikte çalışırlar.
Hreflang Uygularken Kullanılabilecek Araçlar
Eğer buraya kadar okuduysanız aklınızdan geçeni biliyoruz: “Vay be, amma da zormuş!”
Hreflang üzerine çalışırken biz de aynı şeyleri düşünmüştük. Neyse ki ortalıkta bu süreçte faydalanabileceğiniz bazı kullanışlı araçlar bulunmakta.
Hreflang Etiket Oluşturucusu
Hreflang üzerine bir çok çalışması bulunan Aleyda Solis’in sunduğu oldukça yararlı bir etiket oluşturucusu bulunmakta. Link elementi uygulamasını tercih etmeseniz bile, kullanışlı olacak örnek kodlar oluşturarak bu araçtan faydalanabilirsiniz.
Hreflang XML Site Haritası Oluşturucusu
The Media Flow’un çok seveceğiniz bir XML site haritası oluşturucu aracı bulunmakta. Bu araca her dil için doğru URL’lerin bulunduğu bir CSV dosyası yüklerseniz sizin için otomatik olarak bir site haritası oluşturacaktır. Site haritası uygulama türünü seçenler için inanılmaz kullanışlı ve zaman kazandırıcı bir araçtır.
Buraya yüklemeniz gereken CSV dosyasında her dil için ayrı sütunlar olması gerekmektedir. Eğer yukarıda bahsettiğimiz x-default
URL’ini de eklemek isterseniz, o isimde bir sütun oluşturabilirsiniz.
Hreflang Etiket Doğrulayıcısı
Diyelim ki uygulamanızı tamamladınız. Peki doğru yaptınız mı? Eğer ögelerinizi <head> elementine eklediğiniz yolu seçtiyseniz şanslısınız. DejanSEO tarafından yapılan flang isimli araç sizin için gerekli kontrolleri yapacak.
Çok kullanışlı bulmasak da XML site haritasını seçenler de Technical SEO’nun bu aracından faydalanabilirler.
Hreflang’i Canlı Tutmak: Süreç
Hreflang uygulamanızı tamamladıktan sonra bir kontrol süreci oluşturmanızda fayda var. Uygulamanızın sürekli çalıştığından emin olmak için düzenli denetlemeler iyi bir fikirdir.
Şirketinizde web site içerikleriniz ile ilgilenen kişilerin hreflang hakkında bilgi sahibi olduğundan emin olun. Bu uygulamayı bozacak şeyler gerçekleştirmelerinin önüne geçebilir. Bu noktada iki şey çok önem kazanıyor:
- Bir sayfa silindiğinde, karşı sayfalarının güncellendiğinden emin olun.
- Bir sayfa yönlendirildiğinde, karşı sayfalarının da hreflang URL’lerini değiştirin.
Bunu düzenli olarak yaparsanız bu süreçte çok büyük bir sorun yaşamanız düşük bir ihtimaldir.
Sonuç
Bu çalışmayı sitenize uygulamak karmaşık bir işlemdir. Bilmeniz ve uğraşmanız gereken çok fazla standart süreç vardır. Bu rehber hreflang süreci hakkında yeni gelişmeler ve teknolojiler açığa çıktıkça güncellenecektir. Bu yüzden uygulamanız üzerinde tekrar çalıştığınız da bu rehberi yeniden kontrol etmeyi unutmayın. Bütünsel bir SEO bilgisi için ise SEO Rehberi yazımıza mutlaka göz atın. Bu ve diğer her konuda dilediğiniz zaman REN Union’dan da yardım alabilirsiniz.
Yorumları Gör (4)
Merhaba çok dilli bir sitenin header kısmı aynı olmaktadır. Ancak içerikleri body'de değişmektedir. Header kısmında birden fazla hreflang eklemenin sıkıntısı var mı? Mesela sitecom/en ve sitecom/ru gibi çok dilli bir sitenin header bölümüne birden fazla hreflang etiketi eklenir mi? Eklenmez ise bu durumu nasıl çözeceğiz bu konu da fikir verebilir misiniz? Teşekkürler
Merhabalar,
Normal şartlarda da bütün dillerle ilgili olan hreflang kodlarının header'da birlikte gözükmesi gerekmektedir. Böylece siteyi yüklemeye çalışan client kendisine en uygun dili listeden seçerek o dilde bir yükleme/yönlendirme gerçekleştirebilir. Yani sorun yok.
Sevgiler.
Yanıtınız için çok teşekkür ederim, peki bu çok dilli yapıların search console'a eklenmesi nasıl yapılmalı. Her bir dil yapısı için ayrı bir kayıt mı yaptırmalıyım. Mesela sitecom/ru için ayrı bir search console kaydı,
sitecom/en için ve sitecom/ için ayrı bir search console kaydı gibi.
Selamlar, eğer farklı diller için subdomain kullanılıyorsa genelde eklenir. Fakat alt sayfa olarak kullanıyorsanız eklemenize gerek olmadığını düşünmekteyiz. Uluslararası hedefleme metriği için search console'u istiyorsanız, hreflang başlı başına bir uluslararası hedeflemedir zaten. Hreflang yapınızda bir hata var ise bunu tespit etmek için search console'dan faydalanabilirsiniz.
Sevgiler.