murattunalı.

Çok dilli site mimarisi.

KÜME DİREĞİ

Çok dilli site mimarisi, aynı içeriğin farklı dillerdeki sürümlerinin hem insanlara hem arama motorlarına doğru biçimde sunulmasını sağlayan yapı kararlarının tamamıdır.

Bir siteyi ikinci bir dile açmak, ilk bakışta bir çeviri işi gibi görünüyor. Pratikte öyle değil: adres yapısı, dil bildirimi, karşılıklı bağlar, sitemap, şema, tipografi ve içerik yönetimi — hepsi ayrı kararlar gerektiriyor ve bir tanesi yanlış verildiğinde diğerlerinin faydası kayboluyor.

Bu rehber o kararları sırayla ele alıyor. Sıra keyfi değil bağımlılık zinciri: adres yapısı seçilmeden hreflang kurulamıyor, hreflang kurulmadan arama motoru doğru sürümü gösteremiyor, doğru sürüm gösterilmeden çeviri kalitesinin bir anlamı kalmıyor.

Baştan bir çerçeve: çok dilli olmak bir teknik özellik değil bir pazar kararı. Hangi dillerin açılacağı, o dillerde gerçekten iş yapılıp yapılmayacağına bağlı — ve bakımı sürdürülemeyen bir dil sürümü, hiç olmamasından kötü. Bayat bir çeviri, o pazardaki güveni doğrudan zedeliyor.

Yedi karar

Çok dilli bir mimari kurarken alınması gereken kararlar bu yedi başlıkta toplanıyor. Her biri kümenin ayrı bir sayfasında ele alınıyor; burada haritası veriliyor.

  1. Adres yapısı — alt klasör mü, alt alan adı mı, ülke alan adı mı? Geri dönüşü en zor karar.
  2. Dil bildirimi — her sayfa hangi dilde olduğunu hem tarayıcıya hem yardımcı teknolojiye söylemeli.
  3. Karşılıklı bağlar — hreflang kümesi; her sürüm diğerlerini VE kendini bildirmeli.
  4. Varsayılan sürüm — hiçbir dil eşleşmediğinde ne gösterilecek? x-default bunun için var.
  5. Keşif — sitemap ve iç bağlantılar her sürümü bulunabilir kılmalı.
  6. İçerik — çeviri mi yerelleştirme mi? İkisi farklı işler ve farklı maliyetler.
  7. Bakım — bir sayfa güncellendiğinde diğer diller ne olacak?

Son madde en çok atlananı ve uzun vadede en pahalıya mal olanı. Bir sitenin üç dile açılması bir seferlik bir proje değil, kalıcı bir yük — ve o yükü taşıyacak bir düzen kurulmadan açılan diller birkaç ay içinde ayrışıyor.

Bu sitenin ölçüleri

Soyut kalmasın diye somut bir örnek. Bu site üç dilli: Türkçe kökte, İngilizce ve Almanca alt klasörlerde. Çekirdek 19 sayfa üç dilde de var — 57 URL. Rehber ve sözlük içeriği şimdilik yalnız Türkçe; onunla birlikte toplam 170 URL, dağılım 132 Türkçe, 19 İngilizce, 19 Almanca.

Üç dilde de var olan sayfalar dört hreflang bağı taşıyor: üç dil ve bir varsayılan. Yalnız Türkçe olan sayfalar iki bağ taşıyor — kendisi ve varsayılan — çünkü hreflang var olmayan bir çeviriyi bildiremez. Sitemap'te bağlar ayrıca tekrarlanıyor: 170 URL için 454 xhtml:link girdisi. Hem sayfa hem harita düzeyinde tam bir küme, ama küme her sayfada aynı büyüklükte değil.

Adres yapısı bilinçli olarak yerelleştirilmiş: hizmet sayfası Türkçede bir slug, İngilizcede başka, Almancada başka taşıyor. Bu, çeviri maliyetini artırıyor ama her dilde o dilin aranan terimini adres satırına koyuyor.

Ve tipografi tarafında ölçülmüş bir telafi var: Almanca metin Türkçe ve İngilizceden belirgin biçimde uzun. Başlıklarda kullanılan yazı tipinin genişlik ekseni Almanca için daraltılıyor, böylece aynı başlık aynı satır sayısında kalıyor. Değer tahminle değil ölçümle seçildi.

Almanca metin uzun; bunu ölçmemek, tasarımın Almancada bozulmasını kabullenmek demektir.

Yönetilen iki B2B sitesinden ölçüm

Bu stüdyonun yönettiği iki tekstil sitesi yedişer dilde yayında ve ikisinde de aynı kural geçerli: küme eksiksiz, yoksa hiç. Yani bir sayfa yedi dilde varsa yedisi de birbirini bildiriyor; bir dilde eksikse o dil hiç bildirilmiyor.

Kural sert görünüyor ama sebebi pratik: eksik bir küme, arama motoru için tutarsız bir sinyal ve tutarsız sinyaller bir süre sonra tamamen görmezden geliniyor. Yarım bir hreflang kurulumu, hiç kurulum olmamasından daha az işe yarıyor.

Bu sitede aynı kural kodla korunuyor: bir dilin içeriği yoksa o dil için sayfa üretilmiyor ve hreflang kümesine girmiyor. Eksik alan render edilmiyor — uydurma çeviri yerine boş bırakılıyor.

Sık yapılan üç hata

Çok dilli kurulumlarda tekrar eden hatalar birbirine benziyor ve üçü toplam sorunların büyük kısmını açıklıyor.

Birincisi otomatik yönlendirme: kullanıcının konumuna ya da tarayıcı diline bakıp onu zorla bir sürüme göndermek. Kulağa yardımcı geliyor, pratikte hem kullanıcıyı hem tarayıcıyı hapsediyor — ve Google bu davranışa karşı açıkça uyarıyor.

İkincisi eksik karşılıklılık: A sayfası B'yi bildiriyor ama B, A'yı bildirmiyor. Tek yönlü bir bildirim geçersiz sayılıyor ve küme çalışmıyor.

Üçüncüsü makine çevirisini denetimsiz yayımlamak. Çeviri kalitesi bir arama motoru sorunu olmadan önce bir güven sorunu: hatalı bir Almanca sayfa, o pazardaki bir müşteriye stüdyonun özensizliğini anlatıyor.

Bu sitede üçüncü riske karşı bir sözleşme var: çevrilmiş dizeler dosyada bir çeviri notuyla işaretli ve işveren onayı bekliyor. Onaylanmamış bir çeviri yayına girebilir ama kaydı tutuluyor — hangi metnin insan tarafından doğrulandığı her zaman bilinebiliyor.

Nereden başlamalı

İkinci bir dil açmayı düşünen biri için, etkiye göre sıralanmış bir başlangıç.

  1. Pazarı doğrula — o dilde gerçekten iş yapacak mısın? Bakımını üstlenebilecek misin?
  2. Adres yapısını seç — geri dönüşü en zor karar; en başta ve dikkatle verilmeli.
  3. Dil bildirimini kur — kök öğede dil etiketi; tek satır, büyük etki.
  4. hreflang kümesini tamamla — karşılıklı, kendini dahil eden, eksiksiz.
  5. x-default belirle — eşleşme olmadığında ne gösterilecek?
  6. Sitemap'e taşı — sayfa düzeyindeki bağları harita düzeyinde tekrarla.
  7. Bakım düzeni kur — bir sayfa güncellendiğinde diğer diller nasıl haber alacak?

İlk madde teknik değil ama en belirleyici olanı. Açılan ama bakılmayan bir dil, birkaç ay içinde ana dilden ayrışıyor ve o noktada iki seçenek kalıyor: kapatmak ya da bayat içerikle yaşamaya devam etmek. İkisi de baştan açmamaktan kötü.

Pratik kontrol listesi

Bu sayfanın anlattıklarını bir denetim adımına çevirmek gerekirse, çok dilli bir kurulumu için bakılacaklar şunlar. Liste kısa tutuldu çünkü uzun listeler yürünmüyor; altı madde bir oturumda tamamlanabilir ve çoğu birkaç dakika sürüyor.

  1. Adres yapısı seçildi mi ve gerekçesi yazılı mı?
  2. Her sayfada dil bildirimi var mı — kök öğede, istisnasız?
  3. hreflang kümesi karşılıklı ve kendini dahil ediyor mu?
  4. x-default belirlendi mi — eşleşme olmadığında ne gösterilecek?
  5. Sitemap dil bağlarını taşıyor mu?
  6. Bakım düzeni kuruldu mu — kaynak değiştiğinde türevler nasıl haber alacak?

Altıncı madde teknik olmadığı için en çok atlanan ama uzun vadede en belirleyici olanı: açılan ama bakılmayan bir dil, birkaç ay içinde ana dilden ayrışıyor ve o noktada iki seçenek kalıyor — kapatmak ya da bayat içerikle yaşamaya devam etmek.

KAYNAKLAR