Türkçe, İngilizce ve Arapça tek bir web sitesi — üç dilde de Google'da nasıl üst sıralara çıkar?
Ayrı URL'ler, hreflang, önceden oluşturulmuş HTML, gerçek sağdan sola tasarım ve siteyi yavaşlatmayan fontlar — İstanbul'daki üç dilli projelerde kullandığım kontrol listesi.
Kısaca: her dile kendi URL'sini verin (
/,/tr/,/ar/), sürümleri karşılıklı hreflang bağlantılarıyla birbirine bağlayın, önceden oluşturulmuş HTML sunun, Arapçayı gerçek bir sağdan sola düzen olarak kurun, her dile yalnızca ihtiyaç duyduğu fontları yükleyin — ve hızı her dilde ölçün.
İstanbul'da birlikte çalıştığım işletmelerin çoğu aynı anda üç kitleye satış yapıyor: Türk müşteriler, Arap dünyasından gelen ziyaretçi ve alıcılar, ve geri kalan herkes için İngilizce. Yani soru nadiren "web sitesine ihtiyacımız var mı?" oluyor. Asıl soru şu: "Üç dilde çalışan — ve üç dilde de Google'da görünen — tek bir siteyi nasıl kurarız?"
Alışılmış çözüm — bir çeviri eklentisi ve dil menüsü — genellikle sessizce başarısız olur. Site çok dilli görünür, ama Google yalnızca tek bir dili görür, Arapça sürüm yer yer ters akar ve her eklenen fontla sayfa biraz daha yavaşlar.
Bunun yerine kullandığım kontrol listesi aşağıda. Bu site de tam olarak böyle kuruldu: English, Türkçe ve العربية.
1. Her dile kendi URL'sini verin
Arama motorları butonları değil, URL'leri dizine ekler. Adres çubuğu aynı kalırken dil bir çerez, bir açılır menü veya ziyaretçinin IP adresiyle değişiyorsa, Google bir sürümü tarar ve diğerlerini hiç görmez.
Tek ve net bir yapı seçin, her yerde aynısını kullanın:
ornek.com/— İngilizce (veya ana diliniz)ornek.com/tr/— Türkçeornek.com/ar/— Arapça
Küçük bir işletme için alt klasörler en basit seçenektir: tek alan adı, tek SSL sertifikası ve tüm diller alan adının kazandığı güveni paylaşır. Her sayfa her dilde aynı yolda bulunmalı — /work/maro/, /tr/work/maro/, /ar/work/maro/ — böylece dil değiştiren ziyaretçi aynı sayfada kalır.
Ziyaretçileri IP'ye veya tarayıcı diline göre otomatik yönlendirmeyin. İsterseniz bir dil önerin, ama insanların (ve çoğunlukla ABD'den tarama yapan Googlebot'un) her sürüme doğrudan ulaşabilmesini sağlayın.
2. Google'a bu sayfaların birbirinin çevirisi olduğunu söyleyin
İpucu olmadan aynı sayfanın üç sürümü kopya içerik gibi görünebilir. hreflang bağlantıları bunu çözer. Her sayfa, kendisi dahil tüm dil sürümlerini listeler:
<link rel="alternate" hreflang="en" href="https://ornek.com/" />
<link rel="alternate" hreflang="tr" href="https://ornek.com/tr/" />
<link rel="alternate" hreflang="ar" href="https://ornek.com/ar/" />
<link rel="alternate" hreflang="x-default" href="https://ornek.com/" />
Hataların çoğunu yakalayan üç kural:
- Bağlantılar karşılıklı olmalı. Türkçe sayfa Arapça sayfayı gösteriyorsa, Arapça sayfa da Türkçe'yi göstermeli. Tek yönlü hreflang yok sayılır.
- Her sayfanın kendi canonical'ı olur.
/tr/sayfasının canonical'ı/tr/'dir, İngilizce sayfa değil. Her dili İngilizce canonical'a yönlendirmek, Google'a çevirileri dizinden çıkarmasını söylemek demektir. x-defaultyedek sürümdür; dilini sunmadığınız ziyaretçiler için.
Aynı alternatifleri XML site haritanıza da ekleyin. Ardından site haritasını Google Search Console'a ve Bing Webmaster Tools'a gönderin — Bing'in dizini Microsoft Copilot gibi yapay zekâ yanıtlarını da besler.
3. HTML, JavaScript çalışmadan önce var olsun
Birçok modern site her şeyi tarayıcıda oluşturur. Sunucu neredeyse boş bir sayfa gönderir, metni — doğru dilde — bir an sonra JavaScript doldurur. Google JavaScript çalıştırabilir, ama bunu daha geç ve daha az güvenilir şekilde yapar; yapay zekâ tarayıcılarının çoğu ise hiç çalıştırmaz.
Çözüm, her sayfayı her dilde önceden oluşturmak (prerender) veya sunucuda oluşturmaktır; böylece sunucunun gönderdiği HTML gerçek başlığı, alt başlıkları ve metni zaten içerir. Bu sitede her derleme, her dildeki her sayfa için statik bir HTML dosyası üretiyor — blogdan önce 24 sayfa — ve JavaScript yalnızca etkileşim katmanını ekliyor.
Hızlı bir test: sayfanızı açın, Sayfa kaynağını görüntüle'yi seçin (İncele değil) ve Arapça sürümden bir cümle arayın. Orada yoksa, arama motorları da görmüyor demektir.
4. Arapça bir çeviri değil, bir düzendir
Üç dilli sitelerin çoğu sağdan sola (RTL) desteğinde bozulur. <html> öğesine dir="rtl" eklemek sonun değil, başlangıcın adımıdır:
- Mantıksal CSS özellikleri kullanın.
margin-leftyerinemargin-inline-start,padding-rightyerinepadding-inline-end,text-align: leftyerinestart. Böylece tek stil dosyası iki yönde de çalışır. - İçeriği değil, yönü aynalayın. Oklar, "ileri/geri" işaretleri ve ilerleme çubukları dönmeli. Logolar, fotoğraflar, telefon numaraları, kod ve Latin harfli marka adları dönmemeli.
- Harf aralığını sıfırlayın. Aralıklı büyük harfler Latin metinde şık durur, ama harf aralığı Arapça harfler arasındaki bağlantıları koparır. Arapça için
0yapın. - Arapçaya daha fazla satır yüksekliği verin. Arapça karakterler daha uzundur; sıkı bir Latin başlık stili Arapça satırları birbirine çarptırır.
- Rakamlara bir kez karar verin. Hint-Arap rakamları mı (١٢٣) yoksa Batı rakamları mı (123)? İkisi de doğru, ama aynı sayfada karışık kullanım özensiz görünür.
Intlbiçimlendirme seçmenize izin verir:ar-EG-u-nu-latnyerel ayarı Arapça tarihleri Batı rakamlarıyla yazar.
Sonra gerçek içerikle test edin. Arapça lorem ipsum, bulmanız gereken sorunları tam da gizler.
5. Her dilin ihtiyaç duyduğu fontları yükleyin — yalnızca onları
Üç dil genellikle en az iki font ailesi demektir: biri Latin alfabesi için (ş, ğ, ı ve İ harfleriyle), biri Arapça için tasarlanmış. Düşünmeden yüklenirse, ilk satır görünmeden yüzlerce kilobayt indirilir.
İşe yarayan yöntemler:
- Fontları kendi sunucunuzda barındırın, üçüncü taraf bir CSS dosyasından yüklemeyin. Bu, fazladan bir bağlantıyı ve render'ı engelleyen bir isteği ortadan kaldırır.
- Fontları
unicode-rangeile bölün. Tarayıcı Arapça dosyayı yalnızca sayfada gerçekten Arapça harf varsa, Latin Extended dosyasını da yalnızca bir Türkçe karakterle karşılaştığında indirir. - Yalnızca ilk ekranda görünen bir iki fontu önceden yükleyin — genellikle başlık fontunu.
Bu değişiklikleri bu sitede yaptığımda mobil Lighthouse performans puanı 70'ten 90 civarına çıktı ve Arapça font artık İngilizce sayfalarda indirilmiyor.
6. Kelimeyi değil, insanların aradığını çevirin
Her dilin, o dilde insanların gerçekte nasıl arama yaptığına göre yazılmış kendi sayfa başlığı ve meta açıklaması olmalı. Türk müşteriler "online store"un birebir çevirisini değil, *"e-ticaret sitesi"*ni arar. İstanbul'daki Arapça konuşan biri Arapça, Türkçe ya da ikisinin karışımıyla arayabilir.
Her sürümü anadili o dil olan biri kontrol etsin — tercihen sektörü bilen biri. Makine çevirisi iyi bir ilk taslak, kötü bir son halidir; ziyaretçiler farkı ilk cümlede anlar.
7. Hızı her dilde ölçün
Arapça sürüm çoğu zaman en yavaş olanıdır, çünkü kendi fontlarını taşır ve en az test edilendir. Her sürümü PageSpeed Insights veya Lighthouse ile ayrı ayrı ölçün ve Largest Contentful Paint (LCP) değerine bakın: ana içeriğin görünmesi ne kadar sürüyor? Google'ın "iyi" eşiği 2,5 saniyenin altıdır.
Karşılaştırma için, geliştirdiğim sitelerin ölçülmüş LCP medyanları (masaüstü, üç soğuk yükleme):
| Proje | Tür | LCP |
|---|---|---|
| Maro Patissier | Pastane mağazası | 0,32 sn |
| VagoShop | Otel-restoran e-ticareti | 0,40 sn |
| Midoré Paris | Güzellik markası | 0,51 sn |
| Vago Design | Marka sitesi | 0,77 sn |
Kontrol listesi
- Her dil için bir URL, aynı yol yapısı (
/,/tr/,/ar/) - IP'ye veya tarayıcı diline göre otomatik yönlendirme yok
- Karşılıklı
hreflangbağlantıları vex-default, hem sayfa başlığında hem site haritasında - Her dil sürümünde kendini gösteren bir canonical
- Gerçek metni içeren, önceden veya sunucuda oluşturulmuş HTML
- Arapça için
dir="rtl", mantıksal CSS özellikleri ve aynalanmış oklar - Arapça metinde harf aralığı
0ve daha fazla satır yüksekliği - Sayfa başına tek rakam stili
- Kendi sunucunuzda,
unicode-rangeile bölünmüş fontlar; yalnızca başlık fontu önceden yükleniyor - Her dil için ayrı, anadili konuşanlarca kontrol edilmiş başlık ve açıklamalar
- Her dil için ölçülmüş, 2,5 sn'nin altında LCP
- Site haritası Google Search Console ve Bing Webmaster Tools'a gönderilmiş
Bunların hepsini doğru yapmak projenin başında özen ister, sonrasında neredeyse hiç emek istemez. Tek dil için kurulmuş bir siteye sonradan eklemek ise çok daha zordur — Türkiye ve Arap pazarı için yeni bir site planlıyorsanız, onu ilk günden üç dilli kurun.