Çok dilli bir site kurarken hreflang etiketlerine dil kodu eklerken çoğu kişi aynı soruyla karşılaşır: tr mi yazılmalı, yoksa tr-TR mi? İkisi de teknik olarak kabul edilir, ama bu iki form aynı şeyi mi ifade eder? Hangisi hangi senaryoda tercih edilmeli? Bu soruların cevabı, ISO 639-1 standardı ile BCP 47 dil etiketi sisteminin nasıl çalıştığını anlamaktan geçiyor.
Hreflang dil kodlarını yanlış kullanmak çoğu durumda sessiz bir hata üretir. Google etiketi görmezden gelmez, ama hedeflemeyi yanlış yorumlayabilir ya da arama sonuçlarında beklenmedik dil versiyonunu öne çıkarabilir. Sorun log dosyalarında değil, trafik ve sıralama davranışında ortaya çıktığı için fark edilmesi gecikir.
ISO 639-1 nedir ve hreflang bu standardı nasıl kullanır?
ISO 639-1, dilleri iki harfli kodlarla tanımlayan uluslararası bir standarttır. Türkçe için tr, İngilizce için en, Almanca için de, İspanyolca için es bu sistemden gelir. 2002 yılında yayımlanan standart, bugün 184 dili kapsamaktadır.
Hreflang etiketi, bu iki harfli dil kodunu doğrudan temel alır. Yalnızca dil belirtilecekse hreflang="tr" biçiminde kullanılır. Dil koduna bölge kodu eklenmek istenirse iki harfli ISO 3166-1 Alpha-2 ülke kodu tire ile birleştirilir: hreflang="tr-TR" veya hreflang="en-US" gibi. Bu kombinasyon BCP 47 standardını izler ve Google'ın hreflang belgelerinde açıkça önerildiği biçimdir.
Teknik olarak bakıldığında hreflang="tr" "Türkçe içerik" anlamına gelirken hreflang="tr-TR" "Türkiye bölgesi için Türkçe içerik" anlamına gelir. İkisi arasındaki fark, yalnızca bir ülkeye hizmet eden tek Türkçe versiyona sahip siteler için pratikte önemsizdir. Birden fazla Türkçe varyant söz konusu olduğunda ise bu ayrım kritik hale gelir.
Sadece dil kodu ne zaman yeterli?
Tek bir dil, tek bir içerik varyantı olan durumlarda dil kodu yeterlidir. Yalnızca Türkiye pazarına hitap eden bir e-ticaret sitesi Türkçe sayfaları için hreflang="tr" kullanabilir. İngiltere'ye özel bir hizmet Türkiye'de de aktif değilse hreflang="en" kullanmak mantıklıdır.
Bununla birlikte, Google'ın iç belgelerine dayanan pratik gözlemler bölge kodu eklemenin hedeflemeyi daha net kıldığını göstermektedir. hreflang="tr" sadece "Türkçe" dediğinde Google bu içeriği Türkçe konuşan herkese sunabilir; bu Almanya'daki Türkler ya da Azerbaycan'daki Türkçe konuşucular olabilir. Bölge kodu eklendiğinde hedefleme daha belirgin olur.
Karar verirken şu soruyu sormak yeterlidir: Aynı dilde birden fazla versiyonunuz var mı? Varsa bölge kodu zorunludur. Yoksa, yalnızca dil kodu çalışır ama bölge kodu eklemek zarar vermez.
Dil ve bölge kombinasyonu: hangi senaryoda zorunlu?
İspanyolca bu konunun en net örneğidir. İspanya için İspanyolca (es-ES), Meksika için İspanyolca (es-MX) ve Arjantin için İspanyolca (es-AR) birbirinden içerik, fiyatlandırma ve hatta kelime dağarcığı bakımından farklılaşabilir. Google'ın bu üç sayfayı birbirinden ayırt edebilmesi için bölge kodları olmadan mümkün değildir.
Aynı durum İngilizce için de geçerlidir. Amerika Birleşik Devletleri (en-US), İngiltere (en-GB) ve Avustralya (en-AU) versiyonları ayrı içerik sunuyorsa sadece en yazmak Google'ı bunaltır; hangisini hangi kullanıcıya göstereceğini bilemez. Bu senaryoda hreflang kodu üretirken her URL için dil ve bölge kodunu birlikte tanımlamak zorunludur.
Çince de sıkça karışıklık yaratan bir örnektir. Yalnızca zh yazmak yeterli değildir; Tayvan için geleneksel Çince (zh-TW), Çin anakarası için basitleştirilmiş Çince (zh-CN) ve Hong Kong için zh-HK ayrı ayrı tanımlanmalıdır. İki yazı sistemi arasındaki fark içerik düzeyinde son derece belirgindir.
Yaygın dil kodları ve doğru formatları
Hreflang etiketlerinde en sık kullanılan dil ve bölge kombinasyonları şu şekilde özetlenebilir:
| Dil / Bölge | Doğru Kod | Not |
|---|---|---|
| Türkçe (Türkiye) | tr-TR veya tr |
Tek varyant varsa ikisi de çalışır |
| İngilizce (ABD) | en-US |
Birden fazla İngilizce varsa zorunlu |
| İngilizce (İngiltere) | en-GB |
en-UK geçersizdir, doğrusu en-GB'dir |
| Almanca (Almanya) | de-DE |
Avusturya için de-AT ayrıdır |
| Fransızca (Fransa) | fr-FR |
Kanada Fransızcası için fr-CA |
| Portekizce (Brezilya) | pt-BR |
Portekiz için pt-PT farklıdır |
| Çince (Basitleştirilmiş) | zh-CN |
Geleneksel için zh-TW |
| Arapça | ar veya ar-SA |
Bölgeye göre farklılaştırmak önerilir |
Bölge kodlarının büyük harf olması teknik bir zorunluluk değildir; Google küçük harfi de kabul eder. Ancak tr-TR biçimi, yani büyük harfli bölge kodu, standart konvansiyondur ve okunabilirlik açısından tercih edilir.
Hreflang etiketinin teknik kurulum adımlarını inceledikten sonra bu kodları doğru formatta oluşturmak çok daha kolay hale gelir. Özellikle karşılıklı referans kuralını sağlamak için her URL'nin kendi etiketini içermesi gerektiğini aklınızda tutun.
En sık yapılan hatalar ve sonuçları
Hreflang dil kodlarında karşılaşılan hatalar genellikle birkaç kategoride yoğunlaşır. Birincisi ve en yaygın olanı yanlış bölge kodu kullanmaktır. en-UK geçersizdir; İngiltere'nin ISO 3166-1 kodu GB'dir. zh tek başına yeterince spesifik değildir. Bu tür hatalar Google Search Console'da "geçersiz dil etiketi" uyarısı olarak görünmez; Google genellikle etiketi sessizce görmezden gelir ya da tahmini bir eşleşme yapar.
İkinci yaygın hata büyük/küçük harf tutarsızlığıdır. TR-tr ya da EN-us gibi ters biçimlendirme teknik olarak kabul görmeyebilir; dil kodu küçük harf, bölge kodu büyük harf olarak yazılması önerilir: tr-TR, en-US.
Üçüncü hata ise dil ve ülke kodunu karıştırmaktır. hreflang="TR" yanlıştır; büyük harfli iki karakterlik kod ISO 3166-1 ülke kodu gibi okunabilir ama hreflang bu formatı tanımaz. Dil kodu her zaman ISO 639-1'den, yani küçük harfli iki karakterden oluşmalıdır.
Son olarak, bölge kodu olmadan birden fazla aynı dil versiyonu oluşturmak kritik bir çelişki yaratır. hreflang="en" etiketiyle işaretlenmiş iki farklı URL varsa Google hangisini hangi kullanıcıya sunacağını bilemez. XML sitemap üzerinden hreflang bloğu eklemek bu tür çakışmaları erken aşamada tespit etmeye yardımcı olabilir; sitemap doğrulama araçları etiket tutarsızlıklarını daha görünür kılar.
Dil kodlarını doğru yazmak, hreflang kurulumunun en küçük ama en temel adımıdır. İki harfli dil kodu hatalıysa ya da bölge kodu gereken yerde eksikse, geri kalan teknik kurulum ne kadar doğru yapılırsa yapılsın Google'ın sinyali doğru okuması güçleşir. Hreflang etiketinin temel mantığını kavradıktan sonra dil kodlarına geri dönmek, pek çok yapılandırma hatasını baştan önler.