Bir web sitesinde çoklu dil yapısından söz edilebilmesi için sayfaların farklı dillerde içerik sunması gerekir. Google'a sayfa içeriğinin farklı yerel sürümleri olduğunu belirtirken bir takım HTML etiketleri kullanılır. "HTML lang" ve "hreflang" etiketleri, sayfaların hangi dilde olduğunu ve hangi alternatif dillerde karşılık URL'leri olduğunu belirtmek için kullanılır. Bunun yanında XML site haritasını da çoklu dil yapısına uygun olarak kurgulamak gerekir.
Google arama motoru, bir site belli bir coğrafi bölgeyi veya kitleyi hedef alıyorsa bunu bilmek ister. Bunun nedeni, ilgili bölgelerden yapılan aramaların sonuçlarını iyileştirmektir. Belirli bir ülkede yaşayıp belirli bir dili konuşan kullanıcılar için tasarlanmış bir veya daha fazla internet sitesini yönetiyorsanız, sayfalarınızın alakalı dil ve ülke sürümünün görüntülendiğinden emin olmanız gerekecektir.
SEO’ya Fayda Sağlamak İçin Sayfa Çevirileri Nasıl Yapılmalıdır?
Çoklu dil seçeneği için web sitelerinde sayfa içeriğindeki dilin değişmesi yeterli değildir. SEO dostu bir çoklu dil yapısı kurgulamak için işin teknik süreçlerinin yanı sıra içeriklerin çevrilme biçimi de oldukça önemlidir.
Sayfaların otomatik çeviri araçlarıyla ya da ChatGPT gibi yapay zeka araçlarıyla çevrilip kontrol edilmeden yayınlanmaması gerekir. Google çevirinin nasıl yapıldığına değil, kalitesine bakar. Ancak kontrol edilmemiş, düşük kaliteli otomatik çevirilerin yığın halinde yayınlanması spam politikalarına takılabilir ve site genelinde olumsuz sinyallere sebep olabilir.
Bu konuda SEO dostu bir çoklu dil yapısı için içeriğin çevirisinin o dili ana dili olarak konuşan bir kişi tarafından yapılması veya kontrol edilmesi gerekir. Bu sayede hem hedeflenen dil veya bölgedeki kullanıcılara aşina olduğu bir içerik sunulur hem de arama motoru botlarına faydalı bir içerik sunmak mümkün olur.
HTML Lang Etiketi Nedir ve Ne İşe Yarar?
HTML lang kodu, bir web sayfasının kullandığı dili veya bölgeyi belirtmek için kullanılır. Çoklu dil yapısında, sayfa içeriği ve URL değiştiğinde bu kodun da ilgili dil veya bölge özelinde değişiyor olması gereklidir.
Google, sayfanın dilini belirlerken lang etiketini değil kendi dil tespitini kullandığını belirtmektedir. Ancak bu etiket tarayıcılar, ekran okuyucular ve diğer arama motorları için önemlidir.
HTML lang kodu:
<html lang="dil_kodu">
Kullanım örneği: Türkçe ve İngilizce dillerini içeren bir web sitesinde Türkçe sayfalarda <html lang="tr">, İngilizce sayfalarda ise <html lang="en"> kullanılmalıdır.
Hreflang Etiketi Kullanımı
Hreflang etiketi, bir sayfanın farklı dil ve bölge sürümlerine karşılık gelen URL'leri belirtmek için kullanılır. Bu sayede arama motoru botları, farklı dil ve bölge sürümlerini birbirinin kopyası olarak değil, alternatif sürümleri olarak değerlendirir ve kullanıcıya doğru sürümü gösterir. Farklı dil versiyonları görsel, başlık ve içerik gibi alanlarda anlamsal olarak benzerlik göstereceğinden, çoklu dil yapısında hreflang etiketi mutlaka kullanılmalıdır.
Hreflang etiketi sayfaların <head></head> kodları arasında şu şekilde tanımlanır:
<link rel="alternate" hreflang="dil_kodu" href="alternatif_dil_sayfa_URL'si" />
| Tanım | Açıklama |
|---|---|
| href | Dil karşılığı olan sayfanın URL'si girilmelidir. |
| hreflang | Dil ve bölge kodu girilmelidir. Örneğin en-ca (İngilizce dili, Kanada) veya en-us (İngilizce dili, Amerika). |
| x-default | Hedeflenmeyen dil ve bölgelerde gösterilecek varsayılan sayfa için kullanılır. |
Örnek:
<link rel="alternate" href="https://kriko.io/" hreflang="tr-tr" />
<link rel="alternate" href="https://kriko.io/en/" hreflang="en-us" />
Hreflang etiketleri sayfanın <head> bölümü dışında, HTTP başlığıyla veya XML site haritası üzerinden de tanımlanabilir. Üç yöntemden birini seçmek yeterlidir.
Kendine Referans ve Karşılıklı Linkler
Bu etiket ile çoklu dil yapılandırması yaptığınızda, sayfanın kendi diline de işaret etmesi gerektiğini unutmayın. Yani sayfa, birden fazla alternate etiketiyle hem kendisine hem de farklı dillerdeki karşılıklarına işaret etmelidir.
Ayrıca hreflang etiketleri karşılıklı olmalıdır. A sayfası B sayfasını alternatif olarak gösteriyorsa, B sayfası da A sayfasını göstermelidir. Karşılıklı olmayan hreflang etiketleri Google tarafından dikkate alınmaz.
Her dil sürümünün canonical etiketi de kendi URL'sini göstermelidir. Farklı dildeki bir sürümü canonical olarak göstermek, hreflang kurgusunu bozar. Canonical etiketi hakkında detaylı bilgi için "Canonical Etiketi Nedir? Nasıl Kullanılır?" yazımızı inceleyebilirsiniz.
X-default Değeri Nedir?
Hreflang içerisinde dillerin alternatif versiyonlarına yer verilirken, x-default değeri sayfanın varsayılan URL'sini belirtmek için kullanılır. Yani dil karşılığı olmayan bir dil veya bölge için gösterilecek varsayılan versiyonu belirtir. Google x-default kullanımını zorunlu tutmasa da önermektedir.
<link rel="alternate" hreflang="x-default" href="varsayılan_dil_sayfa_URL'si" />
Hedefleme Yapılmayan Bölgeler İçin X-default Değeri Nasıl Kullanılır?
Bir örnek üzerinden açıklamak gerekirse, web sitesinde İngiltere ve Fransa'nın hedeflendiğini düşünelim. İtalya'dan gelen bir kullanıcıyı, kullanmak istediği dili kendisinin seçeceği bir dil seçme sayfasına yönlendirmek isteyebilirsiniz.
Bu senaryoda x-default değeri, sayfanın dil karşılığı olan URL yerine doğrudan dil seçme sayfasını referans gösterebilir. Bu sayede gelen kullanıcıya, içerik sunulan diller arasında bir seçenek sunulabilir.
Hreflang Kullanım Örnekleri
Tişört satışı yapan ve Amerika, İngiltere, Almanya ve Türkiye'de faal bir e-ticaret firması için hreflang kurgusunun nasıl olması gerektiğini inceleyelim. Aşağıdaki örnek, tişörtlerin listelendiği sayfa için hazırlanmıştır:
URL kurgusu:
- İngiltere'de İngilizce konuşanlar için: https://ornek.com/en-gb/t-shirts
- Amerika'da İngilizce konuşanlar için: https://ornek.com/en-us/t-shirts
- Almanya'da Almanca konuşanlar için: https://ornek.com/de-de/t-shirts
- Almanya'da İngilizce konuşanlar için: https://ornek.com/en-de/t-shirts
- Almanya'da Türkçe konuşanlar için: https://ornek.com/tr-de/t-shirts
- Türkiye'de Türkçe konuşanlar için: https://ornek.com/tisort
Bu URL kurgusunda Türkçe dili, varsayılan dil olarak kök dizinde (root path'te) yer almaktadır. https://ornek.com/tisort sayfası için hreflang kurgusu aşağıdaki gibi olmalıdır:
<link rel="alternate" hreflang="tr-tr" href="https://ornek.com/tisort" />
<link rel="alternate" hreflang="en-gb" href="https://ornek.com/en-gb/t-shirts" />
<link rel="alternate" hreflang="en-us" href="https://ornek.com/en-us/t-shirts" />
<link rel="alternate" hreflang="de-de" href="https://ornek.com/de-de/t-shirts" />
<link rel="alternate" hreflang="en-de" href="https://ornek.com/en-de/t-shirts" />
<link rel="alternate" hreflang="tr-de" href="https://ornek.com/tr-de/t-shirts" />
<link rel="alternate" hreflang="x-default" href="https://ornek.com/tisort" />
Aynı etiket listesi, karşılıklılık kuralı gereği diğer tüm dil sürümlerinde de yer almalıdır.
Hreflang Kullanımında Dikkat Edilmesi Gerekenler
- Hreflang etiketinin
<head></head>etiketleri arasında, HTTP başlığında veya site haritasında kurgulanması, - Dil karşılığı olan tüm sayfaların eklenmesi,
- Her sayfanın hreflang listesinde kendisini de göstermesi,
- Etiketlerin karşılıklı olması,
- Desteklenen dil ve bölge kodlarının kullanılması gereklidir.
Hreflang Etiketinde En Sık Yapılan Hatalar
- Karşılıklı linklerin eksik olması: Bir sayfa diğer dil sürümünü gösterirken diğer sürüm onu göstermiyorsa, Google bu etiketleri dikkate almaz.
- Tüm dil sürümlerinin hreflang'te belirtilmemesi: Her sayfanın diğer dillerdeki karşılıklarının hreflang'te belirtilmemesi, yanlış dil sürümünün gösterilmesine ve kopya içerik algısına sebep olabilir.
- Hatalı dil veya bölge kodu kullanılması: Örneğin İngiltere için "en-uk" yazılması. Doğrusu "en-gb"dir.
- X-default kullanılmaması: X-default değeri tanımlanmadığında, sayfanın hedeflemediği bir dil veya bölgeden gelen kullanıcılara hangi sürümün gösterileceği belirsiz kalır.
Site Genelinde Hedefleme: Google Bir Siteyi Hangi Ülkeyle İlişkilendirir?
Hreflang, URL düzeyinde bir hedefleme yöntemidir. Bunun yanında Google, siteyi genel olarak bir ülkeyle ilişkilendirirken bazı sinyallere bakar. Örneğin alan adı uzantınız bir ülke kodu içeriyorsa (.com.tr, .gen.tr, .co.uk, .de vb.), Google sitenizi o ülkenin sonuçlarıyla ilişkilendirir. Alan adınız .com, .net, .org gibi global bir uzantıya sahipse, Google sitenizi hreflang etiketleri ve içerik gibi diğer sinyallere bakarak belli bir coğrafya ile ilişkilendirir.
Geçmişte bu tür sitelerde hedef ülkeyi belirtmek için Search Console'daki "Uluslararası Hedefleme" aracı kullanılıyordu. Ancak Google bu aracı 2022 yılında kaldırdı. Bugün hedefleme için hreflang etiketleri ve doğru URL yapısı kullanılıyor.
Bu yüzden farklı ülke veya dilleri hedefleyen bir site açacaksanız, ülke uzantısına sahip bir alan adı tercih etmemeniz önemli! Ülke uzantılı bir alan adı sitenizi o ülkeye bağlar. Örneğin .com.tr uzantılı bir alan adıyla Meksika'yı hedeflemek oldukça zordur.
Çoklu Dil Yapısında URL Nasıl Olmalıdır?
URL yapısı, SEO için herkesin de bildiği gibi optimize edilmesi gereken bir alandır. Çoklu dil yapısında ise sayfaların ve içeriklerin gruplanabilmesi için oldukça önemlidir. Her dil ve bölge için URL yapısı oluştururken dikkat edilmesi gereken bazı konular vardır. Bunların başında dil ve ülke kodlarının sıralaması gelir. Dil kodları ISO 639-1, ülke kodları ise ISO 3166-1 Alpha 2 biçiminde belirtilmelidir. Dikkat edilmesi gereken bir diğer konu ise tek başına ülke kodu belirtilemeyeceğidir. Yalnızca dil kodu geçerli bir hedeflemedir, ancak yalnızca ülke kodu ile hedefleme kabul edilmemektedir. Google, ülke kodlarına bakarak dil hedeflemesini otomatik olarak yapmamaktadır.
Google yönergelerine göre dil ve ülke kodu, {dil_kodu}-{ülke_kodu} sırasıyla kullanılmalıdır. Doğru URL yapısı için örnekler:
- /en-us/ Amerika'da İngilizce konuşanlar için
- /en-gb/ İngiltere'de İngilizce konuşanlar için
- /en-tr/ Türkiye'de İngilizce konuşanlar için
- /de-at/ Avusturya'da Almanca konuşanlar için
- /de-be/ Belçika'da Almanca konuşanlar için
- /nl-be/ Belçika'da Felemenkçe konuşanlar için
- /fr-be/ Belçika'da Fransızca konuşanlar için
Hatalı URL yapısı için bir örnek: Belçika'da Fransızca konuşanları hedeflemek için /be/ kullanılmamalıdır. Çünkü "be" tek başına kullanıldığında ISO 639-1 biçimine göre Belarusça anlamını taşır. Bu durumda hedeflenen dil ve bölge hatalı olacaktır.
Çoklu Dil Yapısında URL Oluşturma Yöntemleri
Alt alan adı (sub-domain): Dil kurgusunu alt alan adında yapmak, çoklu dil yapısı için kullanılabilir bir yöntemdir. Örneğin en.ornek.com gibi bir yapıda ilgili dil alt alan adında kurgulanabilir.
Alt klasör (sub-folder): Her dil için bir URL dizini oluşturularak kurgulanabilir. Örneğin ornek.com/en/ gibi bir yapıda ilgili dil alt dizinde kurgulanabilir.
Ülke kodlu alan adı (ccTLD): Her ülke için ayrı bir alan adı kullanılabilir. Örneğin ornek.de veya ornek.co.uk gibi. Bu yöntem, siteyi ilgili ülkeye en güçlü şekilde bağlar, ancak her alan adının otoritesi ayrı ayrı oluşturulmalıdır.
Parametre: Dil seçenekleri parametre ile de gruplanabilir. Örneğin ornek.com/?dil=tr gibi bir yapı ile farklı diller kurgulanabilir. Ancak Google bu yöntemi önermemektedir. Kullanılacaksa bu parametrelerin robots.txt dosyasından engellenmemiş olması gerekir.
Bu dört seçenek arasında en çok tercih edilen yapılar alt klasör ve alt alan adıdır. Benim tavsiyem alt klasör yapısıdır. Alt klasör ile kurgulandığında alan adının otoritesi tüm dil sürümleri arasında paylaşılır ve arama motoru botları dil versiyonlarının URL'lerini daha kolay tarar.
Tişört satışı yapan ve Amerika, İngiltere, Almanya ve Türkiye'de faal bir e-ticaret firması için alt klasör yapısını örnekleyelim:
| URL | Dil ve bölge hedeflemesi |
|---|---|
| https://example.com/en/ | Yalnızca dil olarak İngilizce olduğu belirtilen URL |
| https://example.com/en-us/ | İngilizce dilinde Amerika'yı hedefleyen ve Amerikan Doları ($) fiyatı gösteren URL |
| https://example.com/en-gb/ | İngilizce dilinde İngiltere'yi hedefleyen ve İngiliz Sterlini (£) fiyatı gösteren URL |
| https://example.com/de-de/ | Almanca dilinde Almanya'yı hedefleyen ve Euro (€) fiyatı gösteren URL |
| https://example.com/ | Kök dizinde varsayılan dil ile istenen dil hedeflenebilir veya dil seçimi yapılacak bir landing page kurgulanabilir. Bu örnekte kök dizinde Türkçe dili hedefleniyor. |
Çoklu Dil Yapısına Uygun XML Site Haritası Nasıl Oluşturulur?
Site haritası kullanımı, arama motorlarının web sitenizi daha verimli bir şekilde taramasına yardımcı olur. Site haritası ile sitemizde önemli gördüğümüz sayfaları Google'a bildirmiş oluyoruz. Google, hreflang etiketini Aralık 2011'de duyurdu. Site haritası üzerinden hreflang desteği ise 2012'de geldi.
UTF-8 formatında olan XML site haritası dosyalarını çoklu dil yapısına uygun hale getirmek için hreflang kurgusuna benzer bir mantıkla ilerlemek gerekir. Her sayfanın dil karşılığı olan sayfaları <xhtml:link rel="alternate"> ile belirtilmelidir. Yukarıdaki tişört satışı örneği için çoklu dil desteği veren (multilingual) XML site haritasına bir göz atalım:
<?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://ornek.com/tisort</loc>
<lastmod>2021-06-25</lastmod>
<xhtml:link rel="alternate" hreflang="tr-tr" href="https://ornek.com/tisort" />
<xhtml:link rel="alternate" hreflang="en-gb" href="https://ornek.com/en-gb/t-shirts" />
<xhtml:link rel="alternate" hreflang="en-us" href="https://ornek.com/en-us/t-shirts" />
<xhtml:link rel="alternate" hreflang="de-de" href="https://ornek.com/de-de/t-shirts" />
<xhtml:link rel="alternate" hreflang="en-de" href="https://ornek.com/en-de/t-shirts" />
<xhtml:link rel="alternate" hreflang="tr-de" href="https://ornek.com/tr-de/t-shirts" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://ornek.com/tisort" />
</url>
</urlset>
Bu örnekte yalnızca Türkçe sayfanın bloğu gösterilmiştir. Site haritasında her dil sürümü için ayrı bir <url> bloğu oluşturulmalı ve her blokta aynı alternatif listesi yer almalıdır.
Çoklu Dil Yapısında XML Site Haritası Hazırlarken Dikkat Edilmesi Gerekenler
Çoklu dil yapısında site haritasını kurgularken, normal site haritasından farklı olarak <url></url> içerisindeki sayfanın tüm alternatif dil versiyonlarını <xhtml:link rel="alternate"> ile belirtmek gereklidir. Bunun dışında XML site haritası hazırlarken aşağıdaki hususlara dikkat etmek gereklidir:
- Google, standart site haritası protokolünün kullanılmasını bekler. Her bir site haritası en fazla 50.000 URL içermeli ve 50 MB'ı geçmemelidir.
- Site haritası XML formatında olmalıdır, /sitemap.xml şeklinde oluşturulabilir. Çok sayıda URL varsa site haritaları bölümlere ayrılarak çeşitlendirilebilir.
- Site haritasında 3xx, 4xx ve 5xx HTTP durum kodları veren URL'ler bulunmamalıdır. Yalnızca 200 durum kodu veren URL'ler yer almalıdır.
- Site haritasında noindex etiketi içeren sayfalar yer almamalıdır.
- Site haritası güncel tutulmalı, mümkünse dinamik olarak oluşturulmalıdır. Sayfalar siteden silindiğinde veya kaldırıldığında site haritasından da kaldırılmalıdır.
- Dosya UTF-8 biçiminde oluşturulmalıdır.
Çoklu dil yapısında web sitelerinin nasıl optimize edileceğini ve SEO için Google yönergelerine uygun optimizasyonun nasıl yapılacağını detaylıca inceledik. Global olarak içerik, ürün veya hizmet pazarlayan web siteleri bu sayede doğru dil veya bölge hedeflemesi yapabilirler.













