Çok Dilli Sitelerde İç Linkleme: Dil Sürümleri Arasında Bağlantı Kurma
Çok dilli siteler, içerik organizasyonu ve teknik SEO açısından tek dilli sitelere kıyasla çok daha karmaşık bir iç link yapısı gerektirir. Dil sürümleri hreflang etiketleriyle birbirine bağlanırken, her sürümün kendi iç link ekosistemini tutarlı biçimde kurması da beklenir. İkisi birlikte yönetilmediğinde sorunlar birbirini besler ve teşhisi güçleşir.
Yaygın hata şudur: site birden fazla dilde yayın yaparken her dil sürümünün iç linkleri, sanki yalnızca tek bir dil varmış gibi yapılandırılır. Bir sayfadan verilen link, hedef sayfanın aynı dildeki karşılığına değil, başka bir dildeki versiyonuna gider. Tarayıcı bunu kullanıcıya anlık dil değişimi olarak yansıtır; arama motoru ise hreflang ile belirlenen dil-bölge eşleştirmesini anlamlandırmakta güçlük çeker.
Sorun genellikle fark edilmeden büyür. Her dil sürümü ayrı trafik çekmeye başlayana kadar iç link hataları sessiz kalır; o noktada ise hangi sürümün hangi sinyali taşıdığı zaten belirsizleşmiştir.
Hreflang ve iç link yapısının ortak bağımlılığı
Hreflang etiketi, arama motorlarına bir sayfanın hangi dil ve bölge için hedeflendiğini bildirir. Ama bu etiket tek başına yeterli değildir. Taramayı tetikleyen bağlantılar, yani iç linkler, o sayfaya gerçekte ne kadar tarama bütçesi aktığını belirler. Bir dil sürümü yeterince iç link almıyorsa, hreflang etiketini taşısa bile indekslemesi gecikir veya tutarsız kalır.
Bunun tersi de ciddi bir sorun üretir. İç linkler yanlış dil sürümüne işaret ediyorsa, doğru kurulmuş hreflang yapısı alt üst olur. Google, hreflang ile iç link sinyali çeliştiğinde çoğunlukla iç link sinyalini önceliklendirir; teknik hreflang yapısı mükemmel bile olsa, iç linkler farklı sürümlere yöneliyorsa hangi sürümün hangi sorgu için gösterileceği tahmin edilemez hale gelir.
Hizalama tek kuralla sağlanır. İngilizce bir sayfadan verilen iç linkler İngilizce URL'lere, Türkçe sayfadan verilen iç linkler Türkçe URL'lere gitmelidir. Kural basit görünür; uygulama ise CMS yapısına ve şablon mimarisine göre hızla karmaşıklaşır.
Karışık linklemenin ortaya çıkardığı belirtiler
Hata en kolay şu bulgularla kendini gösterir: arama konsolunda bir URL'nin birden fazla dil-bölge için gösterim alması; hreflang raporunda alternate URL returns 3xx uyarılarının art arda gelmesi; dil sürümlerinden birinin organik trafiğinin beklenmedik biçimde diğerinin sorgularına kayması.
Somut bir senaryo: ürün sayfaları İngilizce, Almanca ve Fransızca olarak ayrı URL yapılarında yayınlanan bir e-ticaret sitesi. Almanca kategori sayfasındaki iç linkler, şablon hatası nedeniyle Fransızca ürün URL'lerine işaret ediyor. Kullanıcı Almanca sayfadan devam eder, ürün sayfasında Fransızca içerikle karşılaşır. Arama motoru ise bu linki iki Almanca sayfa arasındaki bağ olarak değil, Almanca kategorinin Fransızca içeriği desteklediğinin göstergesi olarak okuyabilir; yorum hatalı, sinyal gürültülüdür.
Sonuç anında görünmez. Birkaç tarama döngüsü geçtikten sonra indeks kaydı bozulur, sıralamalar beklenmedik yerlerden akar ya da hiç akmaz. Hreflang raporunda hata görünmüyor olsa bile iç link izolasyonundaki bozukluk gizli kalabilir; rapor etiket sözdizimini kontrol eder, hedef URL'lerin gerçekte hangi dil sürümüne ait olduğunu kontrol etmez.
Şablon düzeyinde dil izolasyonu
Çok dilli sitelerdeki iç link hatalarının büyük kısmı içerik ekibinden değil, şablon yapısından kaynaklanır. Sabit kodlanmış (hardcoded) URL'ler, dil değişkenini almayan menü bileşenleri, "ilgili içerikler" bloklarında yanlış sürüme yönlendirme bunların başında gelir. İçerik editörü doğru çeviriyi ekleyebilir; ama şablon yanlış URL'yi inşa ediyorsa bu çabayı boşa çıkarır.
Her dinamik link bileşeni, geçerli sayfanın dil-bölge değerini almalı ve hedef URL'yi bu değerden türetmelidir. WordPress tabanlı yapılarda çeviri eklenti katmanı bu eşleştirmeyi büyük ölçüde üstlenir, ancak özel bileşenler için ek yapılandırma gerekebilir. Headless mimarilerde URL oluşturucu fonksiyonuna dil parametresi açıkça geçilmeli ve test edilmelidir; framework'ün varsayılan davranışına bırakılamaz.
İki alan özellikle sorun üretir. Birincisi breadcrumb linkleri: bu bileşen genellikle merkezi bir yerden üretilir ve dil parametresi almaz, dolayısıyla her dil sürümünde aynı URL yapısını döndürebilir. İkincisi pagination: /page/2/ gibi göreli yapılara yaslanır, dil öneki olan /de/ veya /fr/ otomatik eklenmiyorsa her sayfalama adımı yanlış sürüme götürür. Şablon denetimi sırasında bu iki bileşen öncelikli olarak incelenmelidir.
Denetim yöntemi pratik olmalıdır. Her dil sürümünün giriş sayfasından başlayarak kategori, ürün veya makale sayfasına kadar adım adım tıklanır; her adımda URL'nin dil önekinin değişip değişmediği kontrol edilir. Otomatik tarama bu kontrolün yerini tutmaz; şablon davranışını anlamak için elle gezinme gerekir.
Dil değiştirici bileşeninin doğru yapılandırılması
Dil değiştirici (language switcher), kullanıcının mevcut sayfanın diğer dil sürümlerine geçmesini sağlar. Teknik SEO açısından bu bileşen aynı zamanda hreflang sinyalini iç link yapısıyla hizalamanın en doğrudan aracıdır; her sürümün diğerlerine dil değiştirici üzerinden verdiği linkler, hreflang bildirimini iç link sinyaliyle teyit eder ve güçlendirir.
İki yaygın yapılandırma hatası bu bileşeni işlevsiz kılar. Birincisi: eşdeğer sayfa yerine ana sayfaya yönlendirme. Kullanıcı İngilizce bir makale okurken dili Almancaya değiştirdiğinde Almanca makalenin URL'sine değil Almanca ana sayfasına götürülür; hem kullanıcı deneyimi bozulur, hem de dil değiştirici üzerinden kurulan link sinyali sayfaya değil ana sayfaya akar. İkincisi: dil değiştirici linklerine nofollow atanması. Bazı şablonlar bu linkleri navigasyon öğesi olarak değil dış link olarak sınıflandırır ve otomatik nofollow uygular; oysa aynı sitedeki bir URL asla dış link değildir.
Dil değiştirici linklerinin dofollow olması ve her sürümün mevcut sayfanın karşılığına gitmesi gerekir. Bu iki koşul sağlandığında hreflang etiket sistemi ile iç link yapısı aynı yönü gösterir; çelişki yerine pekiştirme olur.
Sürümler arası otorite dağılımının dengesi
İç link yapısının görevi yalnızca dil izolasyonu değildir; aynı zamanda her sürüm içinde otorite akışını düzenler. Tek dilli sitede nasıl bir hiyerarşi kuruluyorsa, çok dilli sitede her sürümde bu hiyerarşi bağımsız biçimde inşa edilmelidir. Sürümler arasındaki asimetri, arama motorlarının dil karşılaştırması yaptığı bir sinyale dönüşebilir.
Pratikte bu şu anlama gelir: İngilizce sürümde bir kategori sayfası belirli sayıda iç link alıyorsa, Almanca karşılığı da benzer hacimde Almanca iç link almalıdır. Aksi hâlde bir sürümün kategori sayfaları güçlü kalırken diğerininki zayıf kalır; arama motorları bu farkı içerik kalitesiyle ilişkilendirebilir ve güçlü sürümü tercih edebilir, bu tercihin hedef kitleyle hiçbir ilgisi olmasa bile.
Yeni içerik eklenirken bu dengeye özellikle dikkat edilmelidir. Bir sayfa yalnızca ana sürümde iç link alıp diğer sürümlerde link almadan yayına giriyorsa, diğer sürümlerin tarama bütçesi o sayfaya yeterince aktarılmaz. Büyük katalog yapılarında bu simetriyi elle kurmak mümkün değildir; şablon mantığının "ilgili içerik" ve "aynı kategorideki sayfalar" gibi dinamik bağlantıları dil sürümüne göre izole biçimde oluşturması beklenir. Bu bileşenler şablon geliştirme aşamasında tasarlanmalıdır, içerik yayına girdikten sonra düzeltilmesi çok daha maliyetlidir.
Dil sürümleri arası link ne zaman verilir, ne zaman verilmez
Genel kural dil izolasyonudur; ama bazı istisnalar geçerlidir. Bir makale yalnızca bir dilde yayınlanmışsa ve diğer dil sürümü henüz hazır değilse, o sürüme geçici bir iç link vermek yerine dil değiştirici bileşeninden o seçeneğin gizlenmesi doğru yaklaşımdır. Olmayan bir URL'ye iç link vermek tarama bütçesi kaybıdır ve kullanıcıyı 404 veya yanlış sayfaya götürür.
Akademik veya teknik içerikte zaman zaman kaynak dil sürümüne atıf yapılabilir; Türkçe bir makale, İngilizce teknik dokümantasyona bağlantı verebilir. Bu tür linkler içerik bağlamına göre mantıklıdır ve hreflang sistemini bozmaz; çünkü aynı içeriğin başka dil karşılığına değil, farklı bir kaynağa gidilmektedir. İçerik niteliği farklıysa dil izolasyon kuralı geçerli olmaz.
Kesinlikle kaçınılması gereken durum şudur: aynı içeriğin iki dil sürümünü birbirine içerik içi link olarak vermek. /tr/kategori/makale sayfasından /en/kategori/makale sayfasına içerik içinde link koymak hem kullanıcıyı dil sürümü dışına iter, hem de arama motoruna bu sayfaların birbirinin çevirisi olduğu sinyalini verir. Çeviri ilişkisi zaten hreflang üzerinden kurulmuştur; iç linkle yinelenmesi gereksizdir ve kimi senaryolarda duplicate content sinyalini güçlendirir.
Çok dilli sitenin iç link yapısı, hreflang sistemiyle birlikte düşünüldüğünde bu iki mekanizma birbirini destekler; ayrı ele alındığında ise çatışır. Hata genellikle şablondan kaynaklanır ve fark edilmeden büyür. Denetim URL düzeyinde değil, şablon mantığı düzeyinde yapılmalıdır; hangi URL'nin nereye gittiği değil, hangi bileşenin URL'yi nasıl oluşturduğu incelenmelidir.
Her dil sürümünü bağımsız bir site gibi değerlendirmek doğru başlangıç noktasıdır. O sitenin iç link hiyerarşisi tutarlı mı? Breadcrumb, pagination, dil değiştirici ve ilgili içerik linkleri hepsi doğru dil sürümüne işaret ediyor mu? Bu soruların cevabı "evet" olduğunda hreflang etiketleri üzerine inşa edilen dil sinyali sağlam bir temele oturur.
Dil sürümleri arası link sorunları çözülmeden yapılan içerik yatırımı kısmen boşa gider; her sürümün tarama bütçesi ve indeks kalitesi birbirinden bağımsız yönetilmemiş olur. Şablon denetimi bu yüzden içerik denetiminden önce gelir ve bir kere doğru yapılırsa sonraki tüm içerik üretimine zemin hazırlar.