Türkçe, İngilizce ve İspanyolca sürümleri olan bir siteniz var ve İspanya’daki bir kullanıcı Google’da arama yaptığında karşısına Türkçe sayfanız çıkıyor. Ya da İngilizce sayfanız, İspanyolca sayfanızın yerine sıralanıyor. Bu durumların arkasında çoğu zaman eksik ya da hatalı bir hreflang kurulumu vardır. Bu rehberde hreflang etiketinin ne yaptığını, kurulumdan önce hangi kararları vermeniz gerektiğini, doğru kodu nasıl yazacağınızı ve yayından sonra neleri kontrol etmeniz gerektiğini adım adım anlatıyoruz.
Hreflang nedir ve hangi sorunu çözer?
Hreflang, bir sayfanın hangi dilde ve isteğe bağlı olarak hangi ülke için hazırlandığını arama motorlarına bildiren bir işarettir. Aynı içeriğin farklı dillerdeki karşılıklarını birbirine bağlar ve Google’a şunu söyler: bu sayfaların hepsi aynı konuyu anlatıyor, kullanıcının diline ve konumuna en uygun olanı göster.
Hreflang bir sıralama faktörü değildir; sayfanızı daha üst sıraya taşımaz. Yaptığı iş, zaten sıralanan sayfanın doğru dil sürümünün doğru kullanıcıya gösterilmesini sağlamaktır. Bu da daha düşük hemen çıkma oranı, daha alakalı trafik ve her pazarda doğru mesaj demektir. Ayrıca aynı içeriğin bölgesel varyasyonlarının (örneğin İngiltere ve ABD için iki İngilizce sayfa) birbirinin kopyası gibi algılanma riskini azaltır.
Kurulumdan önce: URL yapısını netleştirin
Hreflang, sağlam bir URL yapısının üzerine kurulur. Her dil sürümünün kendine ait, kalıcı ve taranabilir bir adresi olmalıdır. Dili çerezle ya da tarayıcı ayarıyla değiştirip aynı URL’de farklı içerik göstermek, arama motorlarının sürümleri ayrı ayrı görmesini engeller.
Üç yaygın seçenek vardır ve hreflang üçüyle de çalışır:
- Alt klasör: ornek.com/tr/, ornek.com/en/, ornek.com/es/ — yönetimi en kolay ve alan adı otoritesini tek yerde toplayan yapı.
- Alt alan adı: tr.ornek.com, en.ornek.com — teknik olarak ayrı kurulumlar gerektiğinde tercih edilir.
- Ülke alan adı: ornek.com.tr, ornek.es — güçlü yerel sinyal verir ama her alan adı için ayrı otorite inşa etmek gerekir.
Doğru dil ve bölge kodlarını seçin
Hreflang değeri önce dil kodundan, isteğe bağlı olarak da bir tire ve bölge kodundan oluşur. Dil kodu ISO 639-1 standardına (tr, en, es), bölge kodu ISO 3166-1 Alpha-2 standardına (TR, ES, GB, US) göre yazılır. Tek başına bölge kodu kullanılamaz; “es” geçerlidir, “ES” tek başına bir dil değildir.
Bölge kodunu yalnızca gerçekten bölgeye özel içeriğiniz varsa ekleyin. İspanyolca sayfanız hem İspanya’ya hem Latin Amerika’ya hitap ediyorsa sadece “es” yeterlidir. Fiyatlar euro ile verilmiş, İspanya’ya özgü bir hizmet sunuyorsanız “es-ES” daha doğru olur. En sık görülen hata, Birleşik Krallık için “en-UK” yazmaktır; doğru kod “en-GB”dir.
Adım adım hreflang kurulumu
Kurulumu üç yoldan yapabilirsiniz: sayfanın HTML head bölümüne link etiketleri eklemek, sunucu yanıtına HTTP başlığı eklemek (PDF gibi HTML olmayan dosyalar için) ya da XML site haritasında belirtmek. Sitenin tamamında tek bir yöntem seçin ve onunla ilerleyin. Aşağıdaki adımlar head yöntemi için geçerlidir:
Aşağıdaki örnek, Türkçe hizmetler sayfasının head bölümünü gösteriyor. İngilizce ve İspanyolca sayfalarda da aynı dört hreflang satırı bulunmalı; yalnızca canonical etiketi her sayfanın kendi adresini göstermelidir.
- Her sayfa için tüm dil karşılıklarını içeren bir eşleştirme tablosu hazırlayın; bir sayfanın bazı dillerde karşılığı yoksa onu tabloda boş bırakın.
- Her sayfaya, kendisi dahil tüm dil sürümlerini listeleyen link etiketlerini ekleyin. Sayfanın kendini göstermesi (self-reference) zorunludur.
- Bağlantıların karşılıklı olduğundan emin olun: Türkçe sayfa İngilizceyi gösteriyorsa İngilizce sayfa da Türkçeyi göstermelidir.
- Her zaman protokol dahil tam (mutlak) URL kullanın.
- Kullanıcıyı hiçbir dile yönlendiremediğiniz durumlar için bir x-default sürümü belirleyin.
- Şablonları elle değil, CMS veya kod üzerinden otomatik üretin; böylece yeni sayfa eklendiğinde etiketler kendiliğinden güncellenir.
<!-- https://www.ornek.com/tr/hizmetler/ sayfasının <head> bölümü -->
<link rel="canonical" href="https://www.ornek.com/tr/hizmetler/" />
<link rel="alternate" hreflang="tr" href="https://www.ornek.com/tr/hizmetler/" />
<link rel="alternate" hreflang="en" href="https://www.ornek.com/en/services/" />
<link rel="alternate" hreflang="es-ES" href="https://www.ornek.com/es/servicios/" />
<link rel="alternate" hreflang="x-default" href="https://www.ornek.com/en/services/" />
x-default ve canonical ile uyum
x-default, ziyaretçinin dili sizin sunduğunuz dillerden hiçbiriyle eşleşmediğinde gösterilecek sayfadır. Genellikle İngilizce sürüm ya da kullanıcının dil seçtiği bir karşılama sayfası x-default olarak işaretlenir.
Canonical ve hreflang birbirini tamamlamalı, çelişmemelidir. Her dil sürümünün canonical etiketi kendini göstermelidir. İspanyolca sayfanın canonical’ını İngilizce sayfaya yönlendirirseniz Google’a İspanyolca sayfanın asıl sayfa olmadığını söylemiş olursunuz ve hreflang sinyaliniz büyük olasılıkla görmezden gelinir. Hreflang’de yalnızca 200 kodu dönen, dizine eklenebilir ve canonical olan URL’lere yer verin.
Dil seçici ve otomatik yönlendirme
Hreflang arama motorları içindir; sitenizdeki kullanıcılar ise dil seçiciyle hareket eder. İyi bir dil seçici, ziyaretçiyi diğer dilin ana sayfasına değil, bulunduğu sayfanın o dildeki karşılığına götürür. Dil adlarını bayrakla değil, kendi dillerinde yazın: Türkçe, English, Español. Bayrak ülkeyi temsil eder, dili değil; İspanyolca konuşan bir Meksikalı ya da İngilizce konuşan bir Kanadalı için bayrak kafa karıştırır.
Tarayıcı diline ya da IP adresine göre otomatik yönlendirme yapmak cazip görünse de dikkatli olun. Googlebot çoğunlukla ABD’den tarama yapar; zorunlu bir yönlendirme, botun diğer dil sürümlerini hiç görmemesine yol açabilir. Daha güvenli yol, kullanıcıya üstte küçük bir öneri bandı göstermek ve seçimi ona bırakmaktır. Bu yaklaşım hem kullanıcı deneyimini hem de taranabilirliği korur.
En sık yapılan hreflang hataları
Teknik denetimlerde karşılaştığımız sorunların büyük kısmı birkaç tekrar eden hatadan kaynaklanır:
- Karşılıklı bağlantının eksik olması (return tag hatası).
- Geçersiz kodlar: en-UK, tr-TU ya da tek başına ülke kodu.
- Yönlendirilen, 404 dönen veya noindex olan URL’lere hreflang vermek.
- Göreli URL kullanmak (/en/services/ gibi).
- Otomatik IP yönlendirmesiyle arama motoru botlarının diğer dil sürümlerine ulaşmasını engellemek.
- Makine çevirisiyle üretilmiş, ince ve düşük kaliteli dil sürümlerini yayına almak.
Yayın sonrası kontrol listesi
Hreflang bir kere kurulup unutulacak bir ayar değildir. Yeni sayfa, yeni dil ya da URL değişikliği her seferinde etiketleri etkiler. Yayından sonra bir tarama aracıyla siteyi tarayıp hreflang raporunu inceleyin, Google Search Console’da URL denetimi ile Google’ın seçtiği canonical sayfayı kontrol edin ve ülkelere göre performansı takip edin.
Kısa kontrol listesi:
- Her sayfada self-reference var mı?
- Tüm bağlantılar karşılıklı mı?
- Kodlar ISO standartlarına uygun mu?
- Tüm hedef URL’ler 200 dönüyor ve canonical mı?
- x-default tanımlı mı?
- Dil seçici, kullanıcıyı aynı sayfanın diğer dil sürümüne götürüyor mu?
Sonuç
Doğru kurulmuş hreflang, çok dilli bir sitenin her pazarda kendi sesiyle görünmesini sağlar. İşin özü basittir: temiz URL yapısı, doğru kodlar, karşılıklı bağlantılar ve canonical ile uyum. Norcored olarak Türkçe, İngilizce ve İspanyolca siteleri hreflang yapısı baştan doğru kurgulanmış şekilde geliştiriyoruz; mevcut sitenizin kontrol edilmesini isterseniz bize yazabilirsiniz.
Öne çıkanlar
- Hreflang sıralama değil, doğru dil sürümünü gösterme aracıdır.
- Her dil sürümünün ayrı ve kalıcı bir URL’si olmalı.
- Self-reference ve karşılıklı bağlantı zorunludur.
- Kodlar ISO 639-1 ve ISO 3166-1 Alpha-2’ye uygun olmalı; en-UK değil en-GB.
- Canonical her zaman sayfanın kendisini göstermeli.
Sık sorulanlar
Hreflang sıralamamı yükseltir mi?
Doğrudan hayır. Hreflang bir sıralama faktörü değildir; zaten sıralanan sayfanın doğru dil sürümünün gösterilmesini sağlar. Dolaylı olarak daha alakalı trafik ve daha iyi kullanıcı deneyimi getirir.
Hreflang’i head’e mi, site haritasına mı eklemeliyim?
İkisi de geçerlidir. Küçük ve orta ölçekli sitelerde head yöntemi daha kolay denetlenir; çok sayfalı sitelerde site haritası sayfa ağırlığını azaltır. Önemli olan tek yöntem seçip tutarlı uygulamaktır.
Bir sayfanın bazı dillerde karşılığı yoksa ne yapmalıyım?
O sayfa için yalnızca var olan dil sürümlerini listeleyin. Karşılığı olmayan dili ana sayfaya ya da ilgisiz bir sayfaya bağlamayın.



