Mazmunga o‘tish
← Barcha maqolalar
9 o'qish daqiqasi

Koʻp tilli sayt RU/UZ: kirill va lotin yozuvi SEOni yoʻqotmasdan

Oʻzbekiston loyihasida ikki til versiyasi — bu me'yor. Muammo shundaki, oʻzbek tilida ikkita yozuv bor va koʻp saytlar shu yerda indekslashni buzadi.

URL tuzilmasining uch varianti

Ichki papkalar (site.uz/ru/, site.uz/uz/) — standart ishchi variant. Butun havola ogʻirligi bitta domenda toʻplanadi, Next.js'da bu App Router'dagi [locale] segmenti va middleware orqali qilinadi.

Subdomenlar (ru.site.uz) alohida SSL sozlashni talab qiladi va domen obroʻsini bir necha xost boʻyicha tarqatadi. Alohida ccTLD faqat turli yuridik shaxslar boʻlganda oqlanadi.

?lang=uz koʻrinishidagi parametrlar — eng yomon variant: qidiruv tizimi oʻzgaruvchan mazmunli bitta URL koʻradi. Bunday holat meros qolgan boʻlsa, 301 redirekt bilan papkalarga koʻchish birinchi navbatda qilinadi.

Kirill va lotin: uch til emas, ikki til

Uchta versiya qilish istagi tushunarli: 40 yoshdan katta auditoriyaning bir qismi kirillda oʻqiydi. Ammo qidiruv tizimi uchun bu deyarli bir xil ikki hujjat va siz butun oʻzbek semantikasi boʻyicha ichki kannibalizatsiyaga uchraysiz.

Amaliy yechim: lotin yozuvidagi bitta oʻzbek versiyasi kanonik boʻlsin, kirill esa ixtiyoriy klient tomonidagi translyterator sifatida ulanadi. Yozuv almashtirgichi matnni JavaScript orqali oʻzgartiradi, URL, canonical va hreflang esa oʻzgarmaydi.

Translyteratsiya matn render darajasida oʻrnatiladi: funksiya matn tugunlarini aylanib chiqib, belgilarni jadval boʻyicha almashtiradi, tanlov localStorage'da saqlanadi.

Toʻgʻri hreflang belgilash

Har bir sahifada oʻzaro havolalarning toʻliq toʻplami kerak: hreflang="ru", hreflang="uz" va majburiy hreflang="x-default". Oʻzarolik qoidasi muhim: rus sahifasi oʻzbekchaga havola qilsa, oʻzbekchasi ham qaytib havola qilishi shart.

Kodlar BCP 47 boʻyicha koʻrsatiladi. Yozuvi aniq belgilangan oʻzbek uchun uz-Latn va uz-Cyrl toʻgʻri, lekin bitta oʻzbek versiyasi boʻlsa oddiy uz yetarli.

Next.js'da hreflang metadata obyektidagi alternates.languages maydoni orqali generatsiya qilinadi va server HTML'ining qismi boʻlishi shart.

Amalda nima buziladi

Eng koʻp uchraydigan xato — oʻzbek versiyasidan rus versiyasiga ketadigan canonical. Bunda oʻzbek versiyasi indeksdan chiqib ketadi: canonical doim oʻziga koʻrsatishi kerak.

Ikkinchi xato — Accept-Language sarlavhasi yoki IP boʻyicha avtomatik redirekt. Googlebot AQSh manzillaridan keladi va ikkitadan bitta versiyani koʻradi; ikkinchisi hech qachon indekslanmaydi.

Uchinchisi — qisman tarjima qilingan sahifalar: sarlavhalar oʻzbekcha, tovar kartochkalari ruscha. Bunday sahifalarni Google sifatsiz deb tasniflaydi.

Sezilarli texnik mayda-chuydalar

html tegidagi lang atributi versiya bilan birga oʻzgarishi kerak — soʻz koʻchirish va skrinriderlar ishi shunga bogʻliq. Oʻzbek lotinidagi apostrof (oʻ, gʻ) U+02BB sifatida yoziladi, oddiy qoʻshtirnoq emas.

Oʻzbekcha soʻzlar ruschaga qaraganda sezilarli uzun: «Дополнительная информация» va «Qoʻshimcha maʼlumot» — tugmalarda vyorstka siljiydi. Tor interfeys elementlarini eng uzun lokal boʻyicha tekshiring.

Sitemap bitta boʻlgani ma'qul, har bir <url> ichida xhtml:link bloklari bilan.

Tarjimalarni qanday tashkil qilish

Interfeys matnlarini lokallar boʻyicha JSON lugʻatlarda, kontentni esa har bir til uchun maydonli CMS'da saqlang. Bu ikki oqimni aralashtirmaslik kerak.

Fallback qoʻying: maydon tarjimasi boʻlmasa, standart til koʻrsatiladi, lekin sahifa muharrir uchun belgilanadi. Jimgina boʻsh maydon tarjimasizdan yomonroq.

Saytni oʻzbek tiliga professional tarjima qilish byudjeti — mavzuga qarab shartli matn sahifasi uchun taxminan 300 000 dan 800 000 soʻmgacha. Yuridik va tibbiy boʻlimlar uchun mashina tarjimasi umuman yaramaydi.

Sayt yoki reklama kerakmi? Loyihangizni muhokama qilamiz.