Hreflang, çok dilli bir sitede her sayfanın diğer dil sürümlerini arama motorlarına bildiren etikettir. Doğru kurulum için her sayfa kendisini ve tüm alternatiflerini listelemeli, işaretleme karşılıklı olmalı, bir x-default tanımlanmalı ve her dil sürümü kendi canonical adresini göstermelidir. Karşılığı olmayan tek taraflı hreflang etiketleri Google tarafından yok sayılır.
Hreflang etiketi ne işe yarar?
Hreflang etiketi, aynı içeriğin farklı dil veya bölge sürümlerini birbirine bağlayarak Google'ın kullanıcıya doğru sürümü göstermesini sağlar. Türkçe arama yapan kullanıcıya Türkçe sayfa, İngilizce arama yapana İngilizce sayfa sunulur. Hreflang doğrudan bir sıralama faktörü değildir; yanlış dil sürümünün gösterilmesini ve sürümlerin kopya içerik gibi algılanmasını önler.
Hreflang değerleri ISO 639-1 dil koduyla başlar (tr, en, de) ve isteğe bağlı olarak ISO 3166-1 Alpha-2 bölge kodu alır (en-GB, de-AT). Yalnızca bölge kodu yazmak geçersizdir; İngiltere için sık görülen 'en-UK' da hatalıdır, doğrusu 'en-GB'dir. Bing hreflang'den çok html lang niteliğine ve content-language sinyaline baktığı için her sürümde html lang değerini de doğru ayarlamak gerekir.
İlgili hizmetler
Çok dilli sitede URL yapısı nasıl olmalı?
Çok dilli sitede en güvenilir URL yapısı, dili adresin kendisinde taşıyan yapıdır: alt klasör (/en/), alt alan adı (en.site.com) veya ülke kodlu ayrı alan adı. Dili çerez, tarayıcı ayarı veya JavaScript durumuyla değiştiren siteler tek URL'de birden fazla içerik sunar; Googlebot ise çoğunlukla yalnızca varsayılan dil sürümünü görür.
- —Alt klasör (/en/): Tek alan adı, tek otorite ve en kolay kurulum. Çoğu KOBİ ve kurumsal site için önerilen yapı.
- —Alt alan adı (en.site.com): Ayrı sunucu veya ekip gerektiğinde mantıklıdır; otorite bir miktar bölünebilir.
- —Ülke kodlu alan adı (site.de): Güçlü yerel sinyal verir, ancak her alan adı ayrı yönetim ve bağlantı çalışması ister.
- —URL parametresi (?lang=en): Teknik olarak çalışır ama önerilmez; paylaşımda ve raporlamada karışıklık yaratır.
404 Ajans'ın kendi sitesinde Türkçe içerik kök dizinde (/), İngilizce içerik ise /en altında yayınlanıyor. Dil, uygulama durumundan değil doğrudan URL yolundan okunuyor; böylece /kocaeli-web-tasarim ile /en/kocaeli-web-tasarim iki ayrı, taranabilir ve prerender edilmiş sayfa oluyor. Dil değiştirme düğmesi de yalnızca karşılık gelen URL'ye giden sıradan bir bağlantı. Kullanıcıyı tarayıcı diline göre otomatik yönlendirmiyoruz, çünkü bu hem kullanıcıyı hem botu istemediği sürüme kilitleyebilir.
Self-referencing ve karşılıklı (reciprocal) hreflang nedir?
Self-referencing hreflang, bir sayfanın alternatifler listesinde kendisini de göstermesidir; karşılıklı hreflang ise A sayfası B'yi gösteriyorsa B sayfasının da A'yı göstermesi zorunluluğudur. Google, karşılığı olmayan hreflang çiftlerini güvenilmez sayar ve yok sayar. Bu yüzden her dil sürümü, aynı eksiksiz alternatifler kümesini içermelidir.
Somut bir örnek: Türkçe /kocaeli-web-tasarim sayfasının head bölümünde üç link etiketi bulunur. Birincisi rel alternate ve hreflang tr ile sayfanın kendi adresini, ikincisi hreflang en ile /en/kocaeli-web-tasarim adresini, üçüncüsü hreflang x-default ile varsayılan adresi gösterir. İngilizce sayfada da birebir aynı üç etiket yer alır. Tüm adresler https ve alan adı dahil mutlak URL olarak yazılmalıdır.
x-default ne zaman kullanılır?
x-default, kullanıcının diline veya bölgesine uyan bir sürüm olmadığında gösterilecek varsayılan sayfayı belirtir. Örneğin Almanca konuşan bir kullanıcı yalnızca Türkçe ve İngilizce sürümü olan bir siteye geldiğinde x-default ile işaretlenmiş adres önerilir. x-default genellikle ana dil sürümüne veya bir dil seçim sayfasına işaret eder.
Hangi sürümün x-default olacağı iş hedefine bağlıdır. Yurt dışı talebi hedefleyen bir ihracatçı için İngilizce sürüm mantıklı olabilir; yerel pazara odaklanan bir işletme için Türkçe sürüm. Önemli olan kararın tutarlı olması ve her dil sürümünde aynı x-default adresinin kullanılmasıdır.
Canonical ve hreflang birlikte nasıl kullanılır?
Canonical ve hreflang birlikte kullanılırken her dil sürümünün canonical etiketi kendi adresini göstermelidir. İngilizce sayfanın canonical etiketini Türkçe sayfaya yönlendirmek, Google'a İngilizce sürümün bir kopya olduğunu ve indekslenmemesi gerektiğini söyler; hreflang sinyali de geçersiz kalır. Canonical dil içindeki kopyaları, hreflang diller arası ilişkiyi çözer.
Hreflang kümesindeki tüm URL'ler canonical, 200 durum kodu döndüren ve indekslenebilir sayfalar olmalıdır. noindex içeren, başka adrese yönlendiren veya farklı bir canonical'a işaret eden adresleri hreflang listesine koymak, sinyalin sessizce çalışmamasına neden olur. Parametreli veya sonunda eğik çizgi farkı olan adresler de ayrı URL sayılır.
Projeniz için
Hreflang kurulumunda en sık yapılan 5 hata nedir?
Hreflang kurulumunda en sık yapılan beş hata; karşılıklılık eksikliği, yanlış dil veya bölge kodu, göreli URL kullanımı, canonical çakışması ve dilin yalnızca JavaScript ile değiştirilmesidir. Bu hataların her biri küçük görünür ama sonuç aynıdır: Google hreflang kümesini yok sayar ve kullanıcıya yanlış dil sürümünü gösterebilir.
- —Karşılıklılık eksikliği: Türkçe sayfa İngilizceyi gösteriyor ama İngilizce sayfada Türkçeye dönüş etiketi yok.
- —Yanlış kod: 'en-UK', 'tr-TUR' veya yalnızca bölge kodu kullanmak. Doğrusu 'en-GB', 'tr' veya 'tr-TR' biçimidir.
- —Göreli URL: /en/sayfa gibi alan adsız adresler yazmak. Hreflang adresleri mutlak olmalıdır.
- —Canonical çakışması: Tüm dil sürümlerinin canonical'ını tek bir dile yönlendirmek.
- —Yalnızca JavaScript ile dil değiştirmek: Aynı URL'de farklı dil göstermek; bot yalnızca bir sürümü görür.
Hreflang HTML'de mi, sitemap'te mi tanımlanmalı?
Hreflang üç yerde tanımlanabilir: HTML head içindeki link etiketleri, XML sitemap içindeki xhtml:link öğeleri veya PDF gibi HTML olmayan dosyalar için HTTP başlıkları. Google üç yöntemi eşit kabul eder. Küçük ve orta ölçekli sitelerde HTML yöntemi yeterlidir; binlerce URL ve çok sayıda dili olan sitelerde sitemap yöntemi sayfa ağırlığını azaltır.
- —HTML head: Sayfayı inceleyen herkes etiketleri görür, hata ayıklaması kolaydır. Dil sayısı arttıkça her sayfanın head bölümü büyür.
- —XML sitemap: Sayfa kodunu şişirmez, merkezi yönetilir. Hataları görmek için sitemap dosyasını ayrıca incelemek gerekir.
- —HTTP başlığı: Yalnızca PDF ve benzeri HTML olmayan dosyalar için anlamlıdır.
İki yöntemi aynı anda kullanmak yasak değildir, ancak iki kaynağın birbiriyle çelişmemesi gerekir. 404 Ajans sitesinde hreflang etiketleri her sayfanın prerender edilmiş HTML'ine yazılıyor; sitemap ise aynı içerik dizisinden otomatik üretildiği için yeni bir sayfa eklendiğinde hiçbir şey elle güncellenmiyor. Kurulumdan sonra Search Console'da dizine ekleme raporlarını ve üçüncü taraf hreflang denetim araçlarını düzenli kontrol etmek iyi bir alışkanlıktır.
