Hreflang oluşturucu ne yapar, kim kullanır?
Hreflang, aynı içeriğin farklı dil veya bölge sürümlerini arama motoruna birbirine bağlı bir küme olarak tanıtır. Böylece Türkçe arama yapan kullanıcıya Türkçe sayfanın, İngiltere'deki kullanıcıya en-GB sürümünün gösterilmesine yardımcı olur; sıralama garantisi vermez, yalnızca hangi sürümün kime uygun olduğunu anlatır.
Araç, çok dilli kurumsal site yöneten geliştiriciler, WordPress'te dil eklentisi kullanan içerik ekipleri ve uluslararası e-ticaret projelerinde teknik SEO yapan uzmanlar için hazırlandı. Girdiğiniz URL'lere istek gönderilmez; bütün doğrulama tarayıcınızda yapılır.
Nasıl kullanılır?
- Her satıra bir dil sürümü yazın: önce kod, sonra mutlak URL. Boşluk, sekme, virgül veya noktalı virgül ayırıcı olabilir; mevcut
<link>etiketlerini de yapıştırabilirsiniz. - Dil eşleşmesi olmayan ziyaretçiler için bir varsayılan sayfa varsa
x-defaultalanına yazın. - Kendine referansı denetlemek için şu an düzenlediğiniz sayfanın URL'sini “Geçerli sayfa” alanına girin.
- “Oluştur” düğmesine basın ve HTML, XML sitemap veya HTTP header biçimini seçin; her biri aynı URL kümesini taşır.
- Canlı sitenizdeki kümeleri karşılaştırmak isterseniz her sayfanın hreflang satırlarını ilgili alana yapıştırın; rapor tablonun altında görünür.
Hata varsa sonuç üretilmez ve kopyalama kapatılır. Satır numaralı mesajlar sorunun nerede olduğunu gösterir.
Dil ve bölge kodları
Google, dil için ISO 639-1 iki harfli kodu ve isteğe bağlı olarak ISO 3166-1 Alpha-2 bölge kodunu kabul eder. Araç her BCP-47 etiketini otomatik olarak geçerli saymaz; listede olmayan dil veya bölgeyi reddeder. Büyük/küçük harf tutarlılık için normalleştirilir ve bu değişiklik uyarı olarak gösterilir.
| Girdi | Sonuç |
|---|---|
TR | tr olarak normalleştirilir |
en-gb | en-GB olarak normalleştirilir |
en_UK | Reddedilir; en-GB önerilir |
en-UK | Reddedilir; UK geçerli bölge kodu değil, en-GB önerilir |
GB veya us | Reddedilir; bölge tek başına kullanılamaz |
es-419 | Reddedilir; sayısal bölge kodu desteklenmez |
Normalleştirme sonrasında aynı kod iki kez görünürse hata verilir. Büyük harf dönüşümü yalnız ASCII kurallarıyla yapılır; Türkçe kurallar IT kodunu yanlışlıkla ıt yapmaz.
Kendine referans ve x-default
Her dil sürümü, diğer sürümlerin yanında kendisini de listelemelidir. Araç üretilen kümeyi bütün URL'lere aynen verdiği için çıktı kendine referansı içerir; “Geçerli sayfa” alanındaki adres kümede yoksa uyarı verir. Yalnız sondaki / veya www farkı varsa bunu ayrıca belirtir, çünkü bu farklar ayrı URL sayılır.
x-default, hiçbir dil eşleşmesi olmayan kullanıcıya gösterilecek sayfadır; genellikle dil seçici veya ana sürüm kullanılır. Kümede en fazla bir tane bulunabilir ve çıktılarda en sona yazılır. Zorunlu değildir, eksikse yalnız bilgi notu gösterilir.
Üç çıktı biçimi
HTML çıktısı sayfanın head bölümüne konan link etiketleridir. XML çıktısı, xmlns:xhtml ad alanını tanımlayan ve kümedeki her URL için aynı alternatifleri içeren bir sitemap'tir. HTTP çıktısı ise PDF gibi HTML olmayan dosyalar için sunucu yanıtına eklenen Link header değeridir. Üçü aynı bilgiyi taşır; birini seçmeniz yeterlidir, aynı anda farklı içeriklerle kullanmak çelişki üretir.
Attribute değerleri bağlama göre kaçırılır: query içeren bir URL XML'de & olarak yazılır. Header çıktısında satır sonu içeren değer reddedilir; böylece Injected: value gibi ek başlık oluşturulamaz.
Karşılıklılık
Türkçe sayfa İngilizce sürümü gösteriyorsa İngilizce sayfa da Türkçeyi göstermelidir; dönüş bağlantısı olmayan eşleşmeler yok sayılabilir. Araçta üretilen küme tanımı gereği karşılıklıdır. Canlı sitenin bunu gerçekten yayınlayıp yayınlamadığı ise bu sürümde kontrol edilmez.
Sayfa bazlı kümeleri yapıştırdığınızda rapor eksik dönüş bağlantısını, kendine referansı olmayan sayfayı, aynı kod için farklı URL'leri ve üretilen kümeden farkları listeler. Rapor yalnızca sağladığınız verilere göre hazırlanır; verisi girilmeyen hedef “kontrol edilemedi” olarak işaretlenir.
Açıklamalı örnek
Girdi olarak tr https://example.com/tr/, en https://example.com/en/?a=1&b=2 satırlarını ve x-default için https://example.com/ adresini verin. Beklenen HTML çıktısı:
<link rel="alternate" hreflang="tr" href="https://example.com/tr/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/?a=1&b=2" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />Sitemap üç url öğesi üretir ve her birinde aynı üç xhtml:link bulunur. Yapıştırılan veride Türkçe sayfa İngilizceyi listeleyip İngilizce sayfa Türkçeyi listelemiyorsa rapor Türkçe sayfanın satırında “dönüş bağlantısı yok” hatası gösterir.
Canonical ilişkisi
Hreflang kümesindeki her URL indekslenebilir ve kendi kendine canonical veren sayfa olmalıdır. İngilizce sayfa canonical olarak Türkçe sürümü gösterirse arama motoru iki sinyali çelişkili bulabilir. Yönlendirilen, noindex taşıyan veya robots.txt ile engellenen URL'leri kümeye koymayın.
Sınırlar ve sık hatalar
- En fazla 100 alternatif ve 100 yapıştırılmış sayfa işlenir; aşımda sessiz kırpma yapılmaz, hata verilir.
- URL'de
#fragmentkabul edilmez; göreli adres vehttp/httpsdışı şema reddedilir. - Bütün dilleri ana sayfaya bağlamak sık bir hatadır; farklı diller aynı URL'yi paylaşırsa uyarı gösterilir.
- Yalnız
en-GBveen-USvarsa genelensürümü veyax-defaulteklemek faydalı olabilir. - Araç canlı sayfayı okumaz; yayındaki etiketleri kendiniz kopyalayıp rapora yapıştırmalısınız.
Sık sorulan sorular
Hreflang için üç yöntemi birlikte kullanmalı mıyım?
Hayır. HTML etiketi, XML sitemap veya HTTP header yöntemlerinden biri yeterlidir. Birden fazlasını kullanırsanız kümelerin birebir aynı olması gerekir; aksi halde çelişkili sinyal oluşur.
Neden `en-UK` kabul edilmiyor?
Bölge kodu ISO 3166-1 Alpha-2 listesinden gelir ve Birleşik Krallık için kod GB'dir. Araç bu yüzden en-UK ve en_UK girdilerini reddeder ve en-GB önerir.
x-default zorunlu mu?
Zorunlu değildir. Dil seçici veya uluslararası ana sayfa gibi, eşleşmeyen kullanıcılara göstermek istediğiniz bir sayfa varsa eklemeniz önerilir. Kümede en fazla bir x-default olabilir.
Karşılıklılık raporu sitemi taradı mı?
Hayır. Araç hiçbir URL'ye istek göndermez. Rapor yalnızca yapıştırdığınız sayfa kümelerini birbirleriyle ve üretilen kümeyle karşılaştırır; sonuç sağladığınız veriler kadar doğrudur.
Türkçe karakterli URL'ler nasıl yazılır?
URL ayrıştırıcısı Türkçe harfleri UTF-8 percent-encoding ile yazar; örneğin ışık yolu %C4%B1%C5%9F%C4%B1k olur. Ayrışmış Unicode biçiminde girilen URL farklı bir adres üretebileceği için araç bu durumda uyarı verir.