murattunalı.

Otomatik yönlendirme tuzağı.

Kullanıcıyı konumuna ya da tarayıcı diline bakarak zorla bir dil sürümüne göndermek, hem kullanıcıyı hem arama motoru tarayıcısını hapseden bir kalıptır.

Fikir iyi niyetli görünüyor: kullanıcı Almanya'dan geliyorsa Almanca sürüme gönderelim, uğraşmasın. Pratikte bu, çok dilli sitelerin en sık yaptığı ve en çok zarar veren hata.

Google bu davranışa karşı açıkça uyarıyor ve sebebi teknik: tarayıcısı belirli bir konumdan geliyor ve her istekte oraya yönlendiriliyorsa, diğer dil sürümlerini hiç göremiyor — dolayısıyla dizine de alamıyor.

Neden kullanıcıya da zarar veriyor

Varsayım şu: konum dil tercihini gösterir. Varsayım yanlış. Almanya'daki bir Türk, İstanbul'daki bir İngiliz, seyahatte bir kullanıcı, ya da işini İngilizce yürüten bir profesyonel — hepsi konumundan farklı bir dil isteyebiliyor.

Tarayıcı dili biraz daha iyi bir sinyal ama o da kesin değil: birçok kullanıcı cihazını İngilizce kullanıyor ve içeriği ana dilinde okumak istiyor.

Zorla yönlendirmenin en can sıkıcı yanı ise geri dönülemez olması: kullanıcı dil seçicisinden başka bir dil seçiyor, sayfa yenileniyor, ve yönlendirme onu tekrar aynı yere atıyor. Kullanıcı sitede sıkışıyor.

Konum dil tercihini göstermez — Almanya'daki bir Türk, İstanbul'daki bir İngiliz.

Doğru yaklaşım: öner, zorlama

Sinyalleri tamamen görmezden gelmek de gerekmiyor. Doğru davranış, kullanıcıya bir öneri sunmak ve kararı ona bırakmak.

  1. Sayfayı istediği dilde göster — hangi adresi açtıysa o dilde kalsın.
  2. Bir bant göster — «Bu sayfa Almanca da mevcut» gibi, kapatılabilir bir öneri.
  3. Tercihi hatırla — kullanıcı bir kez seçtiyse bir daha sorma.
  4. Tarayıcıyı yönlendirme — arama motoru tarayıcısı her sürümü görebilmeli.
  5. Dil seçiciyi her zaman görünür tut — öneri kabul edilmese bile yol açık kalsın.

Üçüncü madde bir uygulama detayı taşıyor: tercihi hatırlamak genelde bir çerez ya da yerel depolama gerektiriyor. Bu sitede gizlilik metni çerez kullanılmadığını söylüyor ve süit bunu ölçüyor — dolayısıyla burada tercih hatırlama hiç kurulmadı, ve bant da yok. Kullanıcı hangi adresi açtıysa orada kalıyor.

Karar sade ama tutarlı: gizlilik iddiası ile arayüz kolaylığı çakıştığında iddia kazanıyor. Üç dil de header'da her zaman görünür ve her sayfada o sayfanın karşılığına gidiyor.

Sunucu tarafı mı istemci tarafı mı

Yönlendirme yapılacaksa nerede yapıldığı da önemli. Sunucu tarafında yapılan bir yönlendirme tarayıcıyı doğrudan etkiliyor ve dizinlemeyi bozuyor. İstemci tarafında yapılan bir yönlendirme ise tarayıcıları genelde etkilemiyor ama kullanıcı deneyimini yine bozuyor.

İkisi de önerilmiyor. Ama zorunlu kalınırsa istemci tarafı daha az zararlı — ve mutlaka bir çıkış yolu bırakmalı: kullanıcı bir kez başka dil seçtiğinde yönlendirme devre dışı kalmalı.

Meşru istisnalar

Kural sert ama mutlak değil; yönlendirmenin savunulabilir olduğu birkaç durum var ve ayırt edici ölçüt hep aynı: kullanıcının kararı korunuyor mu?

  1. Kök adresten bir dile — ana sayfa dil seçimi yapıyorsa ve seçim hatırlanıyorsa makul.
  2. Yasal zorunluluk — bazı pazarlarda içerik yasal olarak yerelleştirilmek zorunda.
  3. Para birimi ve stok — gerçekten farklı operasyonlarda kullanıcıya doğru mağaza gösterilmeli.
  4. Kullanıcı bir kez seçtiyse — kendi seçimini hatırlamak yönlendirme değil, saygı.
  5. Tarayıcı ASLA yönlendirilmemeli — hangi durumda olursa olsun.

Beşinci madde istisnasız: arama motoru tarayıcısı her dil sürümünü görebilmeli. Kullanıcıya uygulanan bir mantık tarayıcıya uygulanmamalı ve bu ayrım sunucu tarafında ajan bazında yapılmamalı — çünkü ajan bazlı farklı içerik sunmak ayrı bir ihlal.

Doğru teknik çözüm: yönlendirmeyi istemci tarafında ve yalnız açık bir kullanıcı sinyali varsa yapmak. Tarayıcı JavaScript çalıştırmıyorsa hiçbir yönlendirme olmuyor ve her sürüm erişilebilir kalıyor.

Bu sitede hiç yönlendirme yok. Üç dil header'da her zaman görünür, her sayfa kendi karşılığına bağlanıyor ve kullanıcı hangi adresi açtıysa orada kalıyor. Karar aynı zamanda gizlilik iddiasıyla tutarlı — tercih hatırlamak için çerez ya da yerel depolama gerekirdi ve ikisi de kullanılmıyor.

Bant tasarımı

Yönlendirme yerine öneri sunulacaksa, o önerinin nasıl gösterileceği de bir tasarım kararı. Kötü tasarlanmış bir öneri bandı, yönlendirme kadar rahatsız edici olabiliyor.

  1. İçeriğin üstüne binmemeli — sayfa akışına girerse düzen kayması üretir.
  2. Kapatılabilmeli — ve kapatma kararı hatırlanmalı.
  3. Hedef dilde yazılmalı — Almanca öneri Almanca yazılmalı ki hedef kullanıcı okuyabilsin.
  4. Bir kez gösterilmeli — her sayfada tekrar çıkan bir bant, yönlendirmeden beter.
  5. Küçük olmalı — içeriği bastırmamalı.

Üçüncü madde ilk bakışta ters görünüyor ama mantıklı: bandın hedefi, o dili konuşan bir kullanıcı. Bandı kaynak dilde yazmak, tam da ulaşılmak istenen kişinin okuyamayacağı anlamına geliyor.

Dördüncü madde bir uygulama sorunu üretiyor: «bir kez gösterildi» bilgisinin bir yerde tutulması gerekiyor ve bu genelde çerez ya da yerel depolama demek. Gizlilik iddiası olan bir sitede bu, bir çelişki üretiyor.

Bu sitede çelişki iddiadan yana çözüldü: bant hiç kurulmadı, tercih hatırlama yok, çerez yok. Üç dil header'da her zaman görünür ve kullanıcı hangi adresi açtıysa orada kalıyor. Sade, tutarlı ve ölçülebilir.

Kapanışta bir ilke: kullanıcı adına karar vermek yerine kullanıcıya seçenek sunmak, hemen her arayüz kararında daha iyi sonuç veriyor. Dil seçimi bunun en net örneği çünkü yanlış tahmin edildiğinde kullanıcı siteyi kullanamaz hâle geliyor. Öneri her zaman meşru; zorlama neredeyse hiç değil.

Son bir teşhis notu: mevcut bir sitede yönlendirme olup olmadığını anlamanın en hızlı yolu, farklı bir dil ayarıyla ya da farklı bir konumdan siteyi açmak. Adres değişiyorsa yönlendirme var demektir.

İkinci kontrol arama konsolundan yapılıyor: dil sürümlerinden biri hiç dizine girmiyorsa, tarayıcının o sürüme hiç ulaşamıyor olması muhtemel sebeplerden biri.

KAYNAKLAR