IlmHamroh
JavaScript Full-stack/4-qism. HTML64/86-dars16 daqiqa
Mundarija (41)

SEO meta teglar: description, robots, canonical va hreflang

Qisqacha: Meta description — Google natijasidagi sarlavha ostidagi qisqa tavsif, lekin Google uni ba'zan o'zi almashtiradi. Sahifaga meta robots orqali noindex qo'yilsa, u qidiruv natijalariga chiqmaydi. Bir nechta manzilda ochiladigan sahifaning asosiy manzilini link rel="canonical" ko'rsatadi. O'zbek, rus va ingliz versiyalarini esa hreflang bir-biriga bog'laydi. Google meta keywords ni 2009-yildan beri umuman o'qimaydi.

Bu darsda

  • Google natijasi qaysi qismlardan iboratini va ular qayerdan olinishini tushuntira olasiz.
  • Har sahifa uchun aniq meta description yozasiz.
  • noindex, nofollow va boshqa robots qiymatlarini kerakli sahifada ishlatasiz.
  • Dublikat manzillar muammosini canonical bilan hal qilasiz.
  • Uch tilli sayt uchun hreflang qatorlarini xatosiz yozasiz.

Oldin bilishingiz kerak: head anatomiyasi va viewport, Ko'p tilli matn, yo'nalish va tahrir izlari, URL anatomiyasi.

1. Nega bu kerak?

Chilonzorda yashovchi Malika Google'ga "Chilonzor choyxona osh" deb yozdi. Natijalar orasida «Bahor» ham bor. Malika uni bosadimi yoki qo'shni choyxonanikini — bunga uch qator ta'sir qiladi: sarlavha, manzil va ostidagi qisqa tavsif. Bu qatorlarning ikkitasi head dan olinadi.

Yana uchta muammo bor:

  • Keraksiz sahifalar. "Bron qabul qilindi" sahifasi yoki sinov uchun yasalgan sayt Google'ga chiqib qolmasin.
  • Bitta sahifa — besh xil manzil. Menyu havolasi Telegram'da ?utm_source=telegram qo'shimchasi bilan tarqaldi. Google uni alohida sahifa deb o'ylashi mumkin.
  • Uch til. Sayt o'zbek, rus va ingliz tilida. Ruscha qidirgan odamga ruscha versiya chiqsin.
Muammo HTML yechimi
Natijadagi tavsif meta name="description"
Sahifani natijalardan chiqarish meta name="robots"
Bir nechta manzil link rel="canonical"
Til versiyalari link rel="alternate" hreflang

Bu darsda to'rttasini ham ko'rib chiqamiz.

2. Google natijasi qanday tuziladi

2.1 Uch bosqich

Qidiruv tizimi sahifangizni natijaga chiqarishdan oldin uch ishni bajaradi:

  1. Skanerlash (crawling). Qidiruv roboti — Google'da u Googlebot deb ataladi — havolalar bo'ylab yurib, sahifalarni yuklab oladi.
  2. Indekslash (indexing). Yuklangan sahifani tahlil qilib, ulkan bazaga — indekska qo'shadi. Kutubxona katalogini tasavvur qiling: kitob katalogda bo'lmasa, uni hech kim topmaydi.
  3. Ko'rsatish (ranking). Kimdir qidirganda indeksdan eng mos sahifalarni tanlab, tartiblab ko'rsatadi.

Bu darsdagi teglar asosan ikkinchi bosqichga ta'sir qiladi: sahifa katalogga tushadimi va qanday ko'rinishda.

2.2 Natija qismlari

Google natijasi taxminan shunday ko'rinadi:

text
Choyxona «Bahor»
https://example.com › menyu
Menyu va narxlar — Choyxona «Bahor»          ← sarlavha havolasi
Chilonzordagi choyxona: Toshkent oshi 35 000 so'm, lag'mon va
kabob. Har kuni 7:00–23:00. Stolni onlayn band qiling.   ← snippet
Qism Qayerdan olinadi
Sarlavha havolasi Odatda title dan
Manzil Sahifa URL'idan
Snippet (tavsif) meta description dan yoki sahifa matnidan

"Odatda" so'ziga e'tibor bering. Google title va tavsifni o'zi almashtirishi mumkin. Masalan, title juda uzun, hamma sahifada bir xil yoki kalit so'zlar bilan to'ldirilgan bo'lsa, u h1 yoki havola matnidan boshqa sarlavha yasaydi.

Tekshirib ko'ring: Sahifa skanerlandi, lekin indeksga qo'shilmadi. U Google natijalarida chiqadimi?

Javob

Yo'q. Natijalar faqat indeksdan olinadi. Robot sahifani o'qigan bo'lsa ham, katalogga qo'shilmagan sahifa qidiruvda topilmaydi — xuddi katalogga yozilmagan kitob kabi.

3. meta description: natijadagi tavsif

3.1 Yozilishi

html
<meta name="description"
      content="Chilonzordagi choyxona: Toshkent oshi 35 000 so'm,
               lag'mon va kabob. Har kuni 7:00–23:00.">

name="description" — "bu tavsif", content — tavsifning o'zi. Sahifada u ko'rinmaydi.

3.2 Google uni doim ishlatadimi?

Yo'q. Google snippet'ni qidiruv so'roviga moslaydi. Malika "Bahor choyxona ish vaqti" deb qidirsa-yu, tavsifda ish vaqti bo'lmasa, Google sahifa matnidan mosroq bo'lakni oladi.

Unda nega yozamiz? Chunki ko'p qidiruvlarda aynan sizning tavsifingiz chiqadi. Yaxshi tavsif sahifaning Google'dagi o'rnini to'g'ridan-to'g'ri ko'tarmaydi. Lekin u bosishlar sonini oshiradi: odam natijani o'qib, "aynan menga kerakli joy" deb qaror qiladi.

3.3 Yaxshi tavsif qoidalari

  1. Har sahifada boshqacha. Hamma sahifada bir xil tavsif — Google uchun foydasiz, u ularni o'zi almashtiradi.
  2. Aniq faktlar. Narx, manzil, ish vaqti, nima taklif qilinadi.
  3. Uzunligi — taxminan 150–160 belgi. Google aniq chegara aytmaydi, lekin kompyuterda shundan keyin odatda kesiladi. Telefonda undan ham ertaroq. Eng muhim so'zlar boshida bo'lsin.
  4. Harakatga chaqiriq. "Stolni onlayn band qiling", "Menyuni ko'ring".
Zaif Yaxshi
"Bizning sayt" "Chilonzordagi choyxona: osh 35 000 so'm, har kuni 7:00–23:00."
"Osh, osh, arzon osh, Toshkent osh, choyxona osh" "Toshkent oshi har kuni soat 12:00 gacha. Stolni onlayn band qiling."
Hamma sahifada bir xil matn Har sahifaga o'z tavsifi

title uchun ham xuddi shunday: taxminan 50–60 belgi. head anatomiyasi darsidagi title qoidalari Google'da aynan shu sababli muhim.

Bo'sh joyni to'ldiring: Google natijasidagi sarlavha ostidagi matn qaysi meta tegdan olinadi? name=""

Tekshirib ko'ring: Bron sahifasining tavsifi 300 belgi. Unda eng muhim gap — "Bron bepul" — oxirida turibdi. Nima bo'ladi?

Javob

Google tavsifni taxminan 150–160 belgidan keyin kesadi va oxiriga "…" qo'yadi. "Bron bepul" gapi natijada ko'rinmay qoladi. Eng muhim ma'lumot tavsif boshida turishi kerak.

4. meta robots: indekslashni boshqarish

4.1 Standart holat

Hech narsa yozmasangiz, Google sahifani indeksga qo'shadi va undagi havolalar bo'ylab yuradi. Bu holat index, follow deb ataladi. Uni yozish shart emas:

html
<!-- Keraksiz: bu standart holat -->
<meta name="robots" content="index, follow">

4.2 noindex: natijalarga qo'shma

html
<meta name="robots" content="noindex">

Google bu sahifani o'qiydi, lekin natijalarga chiqarmaydi. Qaysi sahifalarga kerak:

  • "Bron qabul qilindi, rahmat!" sahifasi — undan qidiruvda foyda yo'q.
  • Sayt ichidagi qidiruv natijalari sahifasi (qidiruv.html?q=osh).
  • Admin panel va xodimlar sahifalari (masalan, "Oshpaz taxtasi").
  • Sinov (test) sayti — masalan, test.example.com.

Diqqat: noindex sahifani himoya qilmaydi. Havolani bilgan har kim uni ochadi. Maxfiy sahifaga parol kerak — bu server ishi.

4.3 nofollow va boshqa qiymatlar

nofollow — "bu sahifadagi havolalar bo'ylab yurma". Butun sahifa uchun kam kerak bo'ladi. Alohida havola uchun rel="nofollow" ishlatiladi — Maxsus havolalar va rel darsida ko'rgansiz.

Qiymatlarni vergul bilan birlashtirish mumkin: content="noindex, nofollow". Boshqa foydali qiymatlar:

Qiymat Ma'nosi
none noindex, nofollow ning qisqa shakli
nosnippet Natijada tavsif ko'rsatilmasin
max-snippet:100 Tavsif 100 belgidan oshmasin
max-image-preview:large Natijada katta rasm ko'rsatish mumkin
noimageindex Sahifadagi rasmlar rasm qidiruviga chiqmasin
notranslate Natijada "Tarjima qilish" taklif qilinmasin
unavailable_after: 2026-10-31 Shu sanadan keyin natijadan olib tashlansin

Oxirgisi vaqtinchalik sahifalar uchun qulay: masalan, "Oktabr aksiyasi" sahifasi.

4.4 Faqat bitta robot uchun

name="robots" hamma qidiruv tizimlariga tegishli. Faqat bittasiga aytish uchun uning nomi yoziladi:

html
<meta name="googlebot" content="nosnippet">
<meta name="yandex" content="noindex">

O'zbekistonda asosiy qidiruv tizimi — Google. Lekin rusiyzabon mehmonlar Yandex'dan ham foydalanadi. Ikkalasi ham name="robots" ni tushunadi.

4.5 HTML bo'lmagan fayllar uchun

Menyuning PDF versiyasi ham Google'ga chiqib ketishi mumkin. PDF'da head yo'q — unda bu ko'rsatma server javobining sarlavhasi orqali yuboriladi: X-Robots-Tag: noindex. HTTP sarlavhalari darsida sarlavhalar bilan tanishgansiz. Serverni sozlashni backend qismida ko'ramiz.

4.6 Tuzoq: robots.txt va noindex birga

Saytda robots.txt degan fayl bo'ladi. U robotga "bu sahifalarga umuman kirma" deydi — SEO uchun HTML amaliyoti darsida ko'ramiz. Ko'p odam ikkalasini birga ishlatadi va xato qiladi.

Agar robots.txt sahifaga kirishni taqiqlasa, robot uni o'qimaydi. Demak, ichidagi noindex ni ham ko'rmaydi. Boshqa saytlardan havola bo'lsa, Google sahifani tavsifsiz, faqat manzili bilan natijaga qo'shib qo'yishi mumkin. Qoida: sahifani natijalardan olib tashlamoqchi bo'lsangiz — noindex qo'ying va robotga uni o'qishga ruxsat bering.

Quyidagi sxema sahifa natijaga chiqish yo'lini ko'rsatadi:

flowchart TD
  A([Sahifa manzili]) --> B{"robots.txt ruxsat beradimi?"}
  B -- yo'q --> C["Robot sahifani o'qimaydi, noindex'ni ham ko'rmaydi"]
  B -- ha --> D{"noindex bormi?"}
  D -- ha --> E[Natijalarda chiqmaydi]
  D -- yo'q --> F{"canonical boshqa manzilgami?"}
  F -- ha --> G["Odatda o'sha manzil ko'rsatiladi"]
  F -- yo'q --> H([Natijalarda chiqishi mumkin])

Chap tarmoqqa e'tibor bering: robots.txt taqiqlasa, noindex gacha navbat umuman yetib kelmaydi.

Tekshirib ko'ring: Jasur test.example.com sinov saytiga noindex qo'ydi. Yangi dizayn tayyor bo'lgach, u butun saytni asosiy manzilga ko'chirdi. Bir haftadan keyin «Bahor» Google'dan butunlay yo'qoldi. Nima bo'ldi?

Javob

Sinov saytidagi <meta name="robots" content="noindex"> qatori asosiy saytga ham ko'chib o'tdi. Google yangi sahifalarni o'qidi, noindex ni ko'rdi va ularni natijalardan olib tashladi. Bu real ishda juda ko'p uchraydigan xato. Har ko'chirishdan keyin asosiy saytning head ini tekshiring.

5. canonical: bitta sahifa — bitta asosiy manzil

5.1 Muammo: dublikat manzillar

«Bahor» menyusi aslida bitta sahifa. Lekin u shu manzillarning hammasida ochiladi:

text
https://example.com/menyu/
https://example.com/menyu/?utm_source=telegram
https://example.com/menyu/?tartib=narx
http://example.com/menyu/
https://www.example.com/menyu/

URL anatomiyasi darsidan bilasiz: bular — beshta har xil URL. Qidiruv tizimi uchun ham shunday. Bir xil kontent bir nechta manzilda turishi dublikat kontent deyiladi.

Nima yomon? Google qaysi manzilni ko'rsatishni o'zi tanlaydi. Boshqa saytlardagi havolalar — sahifaning "obro'si" — beshta manzilga bo'linib ketadi. Natijada ?utm_source=telegram li chalkash manzil ham chiqib qolishi mumkin.

5.2 Yechim

html
<link rel="canonical" href="https://example.com/menyu/">

Bu qator Google'ga aytadi: "Men qaysi manzilda ochilgan bo'lsam ham, mening asosiy manzilim — mana bu." E'tibor bering: bu meta emas, link elementi.

Qoidalar:

  • To'liq (absolyut) manzil. https:// bilan boshlansin. Nisbiy manzil ham ishlaydi, lekin xato qilish oson.
  • Har sahifada o'zini ko'rsatsin. Menyu sahifasi canonical da menyuni, bron sahifasi — bronni. Bu "o'ziga ishora qiluvchi canonical" deyiladi va UTM qo'shimchalaridan himoya qiladi.
  • Sahifada bitta va faqat head ichida. head anatomiyasi darsidagi tuzoqni eslang: head erta yopilsa, body ga tushgan canonical e'tiborsiz qoladi.
  • Faqat ishlaydigan sahifaga. noindex li, o'chirilgan yoki boshqa joyga yo'naltiriladigan sahifaga ko'rsatmang.

Bo'sh joyni to'ldiring: asosiy manzilni ko'rsatuvchi qator — <link rel="" href="https://example.com/menyu/">.

5.3 Maslahat, buyruq emas

noindex — buyruq: Google unga amal qiladi. canonical esa maslahat. Boshqa belgilar unga zid bo'lsa, Google boshqa manzilni tanlashi mumkin. Masalan, saytingizdagi hamma ichki havolalar ?tartib=narx li manzilga olib borsa.

Buni Google Search Console'da (Google'ning sayt egalari uchun xizmati, SEO amaliyoti darsida ko'ramiz) shunday holatda ko'rasiz:

text
Duplicate, Google chose different canonical than user

Tarjimasi: "Dublikat: Google foydalanuvchi ko'rsatganidan boshqa canonical'ni tanladi." Tuzatish — hamma belgilarni bir tomonga yo'naltirish: ichki havolalar, canonical va sayt xaritasi bitta manzilni ko'rsatsin.

5.4 Sahifalash tuzog'i

Menyu uzun va bir necha sahifaga bo'lingan: menyu?sahifa=1, menyu?sahifa=2. Ikkinchi sahifaning canonical ini birinchisiga qaratish — xato. Ikkinchi sahifada boshqa taomlar bor, u dublikat emas. Har sahifa o'zini ko'rsatsin.

Tekshirib ko'ring: Dasturchi saytdagi hamma sahifaga bitta qator qo'ydi: <link rel="canonical" href="https://example.com/">. Nima bo'ladi?

Javob

Google'ga "hamma sahifalar — bosh sahifaning nusxasi" deyildi. Menyu, bron, tadbirlar sahifalari natijalardan tushib qolishi mumkin — Google ularning o'rniga bosh sahifani ko'rsatadi. canonical har sahifada o'sha sahifaning o'z manzilini ko'rsatishi kerak.

6. hreflang: uch tilli sayt

6.1 Muammo

«Bahor» saytining uch versiyasi bor:

Til Manzil
O'zbekcha https://example.com/uz/menyu/
Ruscha https://example.com/ru/menyu/
Inglizcha https://example.com/en/menu/

Toshkentlik rusiyzabon Oleg ruscha qidirdi. Unga ruscha versiya chiqishi kerak. Chet ellik sayyoh Emma'ga — inglizchasi. Google versiyalar bir-biriga bog'liq ekanini qayerdan biladi?

Kutilmagan fakt: Google sahifa tilini lang atributidan emas, matnning o'zidan aniqlaydi. Bu uning rasmiy hujjatida yozilgan. Hujjat skeleti darsida "lang qidiruv tizimlariga yordam beradi" degan edik — bu ham rost. Bing kabi boshqa tizimlar lang ga qaraydi, ekran o'quvchi va tarjimon uchun esa u baribir shart. Faqat Google tilni o'zi aniqlaydi. Uning uchun versiyalarni bog'laydigan maxsus qator kerak — hreflang.

6.2 Yozilishi

Har uchala versiyaning head ida — bir xil to'rt qator:

html
<link rel="alternate" hreflang="uz"
      href="https://example.com/uz/menyu/">
<link rel="alternate" hreflang="ru"
      href="https://example.com/ru/menyu/">
<link rel="alternate" hreflang="en"
      href="https://example.com/en/menu/">
<link rel="alternate" hreflang="x-default"
      href="https://example.com/">
  • rel="alternate" — "bu sahifaning muqobil versiyasi".
  • hreflang="ru" — "u rus tilida".
  • href — muqobil versiyaning to'liq manzili.
  • x-default — hech bir til mos kelmasa ochiladigan sahifa. Odatda til tanlash sahifasi yoki bosh sahifa.

6.3 Uchta qat'iy qoida

  1. Har versiya hammasini sanaydi, o'zini ham. O'zbekcha sahifada hreflang="uz" qatori ham bor.
  2. Javob havolasi shart. O'zbekcha sahifa ruschasini ko'rsatsa, ruscha ham o'zbekchasini ko'rsatishi kerak. Bir tomonlama bog'lanishni Google e'tiborsiz qoldiradi. Xuddi qo'l berib ko'rishish kabi: ikkala tomon ham qo'l uzatishi kerak.
  3. To'g'ri kodlar. Til — ikki harf (uz, ru, en). Kerak bo'lsa, chiziqcha va mamlakat kodi: ru-UZ — "O'zbekistondagi rusiyzabonlar uchun". Birinchi qism doim til: Buyuk Britaniya uchun hreflang="uk" yozsangiz, Google uni ukrain tili deb tushunadi — uk ukrain tilining kodi.

Mashhur xato — Buyuk Britaniya uchun en-UK. To'g'ri kod — en-GB. W3C validatori buni ushlaydi:

text
Error: Bad value “en-UK” for attribute “hreflang” on element “link”: Bad region subtag.

Tarjimasi: "link elementidagi hreflang atributi uchun noto'g'ri qiymat: noto'g'ri mintaqa qismi." Google esa xato kodli qatorni jim e'tiborsiz qoldiradi — shuning uchun validator muhim.

Saytning kirill yozuvidagi o'zbekcha versiyasi ham bo'lsa, yozuv kodi qo'shiladi: uz-Cyrl. Ko'p tilli matn darsida bu kodni lang da ko'rgan edik.

6.4 hreflang va canonical birga

Ko'p saytlarda uchraydigan xato: ruscha va inglizcha versiyalarning canonical i o'zbekchasiga qaratiladi. Bu Google'ga "ruscha va inglizcha — o'zbekchaning nusxasi" deydi. Natijada ular qidiruvdan tushib qoladi.

To'g'risi: har til versiyasi canonical da o'zini ko'rsatadi. Ruscha sahifaning head i:

html
<link rel="canonical" href="https://example.com/ru/menyu/">

hreflang qatorlari esa har uch versiyada bir xil.

Tekshirib ko'ring: O'zbekcha va ruscha sahifalarda hreflang qatorlari to'g'ri yozilgan. Inglizcha sahifada esa ular umuman yo'q. Google inglizcha versiyani bu guruhga qo'shadimi?

Javob

Yo'q. Javob havolasi qoidasi buzilgan: o'zbekcha va ruscha sahifalar inglizchasini ko'rsatadi, inglizcha esa ularni ko'rsatmaydi. Google bir tomonlama bog'lanishni tan olmaydi. Inglizcha sahifaga ham xuddi o'sha to'rt qatorni qo'shish kerak.

7. Google e'tiborsiz qoldiradigan teglar

Internetdagi eski maslahatlarda hali ham uchraydigan teglar:

Teg Google Nima qilish
meta name="keywords" 2009-yildan beri o'qimaydi Yozmang
meta name="robots" content="index, follow" Standart holat, ta'sirsiz Yozish shart emas
meta name="revisit-after" Hech qachon qo'llamagan Yozmang
meta http-equiv="content-language" Tilni matndan aniqlaydi lang va hreflang yetarli

keywords haqida alohida. 2000-yillarda saytlar unga yuzlab so'z tiqib tashlardi, shuning uchun Google undan voz kechdi. Bing esa to'ldirib tashlangan keywords ni spam belgisi sifatida ko'rishi mumkinligini aytgan. Ya'ni bu teg foyda keltirmaydi, lekin zarar keltirishi mumkin.

Google haqiqatan o'qiydigan meta teglar ro'yxati qisqa: description, robots (va googlebot), viewport, charset, google-site-verification va yana bir nechtasi. Oxirgisini Kam ma'lum meta teglar darsida ko'ramiz.

8. Ko'p uchraydigan xatolar

8.1 Asosiy saytda qolib ketgan noindex

Sinov saytidan ko'chib o'tgan noindex butun saytni Google'dan o'chiradi. Tuzatish: har chiqarishdan (deploy'dan) keyin asosiy sahifalarning head ini Ctrl + U bilan tekshiring.

8.2 Hamma sahifada bir xil tavsif

Shablonga bir marta yozilgan tavsif 50 ta sahifada takrorlanadi. Google ularni o'zi almashtiradi, ko'pincha yomonroq matn bilan. Tuzatish: har sahifaga o'z tavsifi.

8.3 Hamma sahifadan bosh sahifaga canonical

Ichki sahifalar natijalardan yo'qoladi. Tuzatish: har sahifa o'zini ko'rsatsin.

8.4 Javob havolasisiz yoki xato kodli hreflang

en-UK, uz-UZB, faqat bir tomondan bog'langan versiyalar. Google jim e'tiborsiz qoldiradi. Tuzatish: kodlarni validator bilan tekshiring va har versiyaga to'liq ro'yxatni qo'ying.

8.5 robots.txt bilan bloklab, noindex kutish

Robot sahifani o'qimasa, noindex ni ham ko'rmaydi. Tuzatish: natijadan olib tashlash uchun — noindex va robotga ruxsat.

8.6 Ikkita description

Shablon va sahifa har biri o'z tavsifini qo'shadi. W3C validatori:

text
Error: A document must not include more than one “meta” element with its “name” attribute set to the value “description”.

Tarjimasi: "Hujjatda name atributi description bo'lgan bittadan ortiq meta element bo'lmasligi kerak." Tuzatish: bittasini qoldiring.

9. Mashqlar

1-mashq (oson): Qaysi ko'rsatma?

Har bir sahifa uchun robots qiymatini yozing. Hech narsa kerak bo'lmasa — "hech narsa".

  1. menyu.html — asosiy menyu.
  2. bron-qabul-qilindi.html — "Rahmat, bron qabul qilindi".
  3. test.example.com dagi hamma sahifalar.
  4. oktabr-aksiyasi.html — aksiya 2026-yil 31-oktabrda tugaydi.
Yechim
  1. Hech narsa — standart holat (index, follow) aynan kerakli.
  2. noindex — bu sahifadan qidiruvda foyda yo'q.
  3. noindex — sinov sayti natijalarga chiqmasin. (Yaxshisi — sinov saytiga parol ham qo'yish.)
  4. unavailable_after: 2026-10-31 — aksiya tugagach, Google sahifani natijalardan o'zi olib tashlaydi.

2-mashq (o'rta): Menyu uchun tavsif va canonical

Menyu sahifasi Telegram'da https://example.com/menyu/?utm_source=telegram manzili bilan tarqalmoqda. Sahifaning head iga ikki qator yozing:

  1. 150–160 belgilik tavsif: osh narxi (35 000 so'm), ish vaqti (7:00–23:00) va harakatga chaqiriq bo'lsin.
  2. Asosiy manzilni ko'rsatuvchi canonical.

Tavsif uzunligini VS Code'da tekshiring: matnni belgilasangiz, pastki holat qatorida belgilar soni chiqadi.

Yechim
html
<meta name="description"
      content="Chilonzordagi «Bahor» choyxonasi menyusi: Toshkent
               oshi 35 000 so'm, lag'mon, kabob va ko'k choy. Har
               kuni 7:00–23:00. Stolni hoziroq onlayn band qiling.">
<link rel="canonical" href="https://example.com/menyu/">

Tavsif taxminan 153 belgi: aniq narx, ish vaqti va chaqiriq bor. Qator ko'chishlari kod o'qilishi uchun — Google ularni oddiy bo'sh joy deb o'qiydi. canonical UTM qo'shimchasiz, to'liq manzil. Endi Telegram'dan kelgan havolalarning "obro'si" ham asosiy manzilga yig'iladi.

3-mashq (qiyin): Ruscha versiyaning head i

https://example.com/ru/menyu/ sahifasi uchun to'liq head yozing:

  • html tegida to'g'ri lang.
  • Ruscha title va description. Ruscha bilmasangiz, shu matnlardan foydalaning: Меню и цены — Чайхана «Бахор» va Чайхана «Бахор» в Чиланзаре: плов 35 000 сумов. Ежедневно 7:00–23:00.
  • O'zini ko'rsatuvchi canonical.
  • Uch til va x-default uchun hreflang qatorlari (manzillar 6-bo'limdagi jadvaldan).

W3C validatori bilan tekshiring va ayting: inglizcha sahifaning head ida qaysi qatorlar boshqacha bo'ladi?

Yechim
html
<!DOCTYPE html>
<html lang="ru">
  <head>
    <meta charset="utf-8">
    <meta name="viewport"
          content="width=device-width, initial-scale=1">
    <title>Меню и цены — Чайхана «Бахор»</title>
    <meta name="description"
          content="Чайхана «Бахор» в Чиланзаре: плов 35 000 сумов.
                   Ежедневно 7:00–23:00.">
    <link rel="canonical" href="https://example.com/ru/menyu/">
    <link rel="alternate" hreflang="uz"
          href="https://example.com/uz/menyu/">
    <link rel="alternate" hreflang="ru"
          href="https://example.com/ru/menyu/">
    <link rel="alternate" hreflang="en"
          href="https://example.com/en/menu/">
    <link rel="alternate" hreflang="x-default"
          href="https://example.com/">
  </head>
  <body>
    <h1>Меню и цены</h1>
  </body>
</html>

Inglizcha sahifada boshqacha bo'ladi: lang="en", title, description va canonical (https://example.com/en/menu/). To'rtta hreflang qatori esa aynan bir xil qoladi — javob havolasi qoidasi shuni talab qiladi.

10. Real ishda

  • Google Search Console — sayt egasining asosiy vositasi. Unda qaysi sahifalar indeksda, qaysilari noindex sabab chiqarilgan va Google qaysi canonical ni tanlaganini ko'rasiz. Rusiyzabon auditoriya uchun Yandex Webmaster ham xuddi shunday xizmat. Ikkalasini SEO uchun HTML amaliyoti darsida ulaymiz.
  • Tezkor tekshiruv. Google'da site:example.com deb qidirsangiz, shu saytning indeksdagi sahifalari chiqadi. Sayt "yo'qolib qoldi" degan shikoyatda birinchi qadam — shu.
  • Freymvorklar. Next.js (kursda alohida o'rganamiz) bu qatorlarni sahifa sozlamalaridan yaratadi — Metadata API. Lekin nima yaratilishi kerakligini aynan shu darsdan bilasiz.
  • Dasturchi va SEO mutaxassisi. Kompaniyalarda SEO mutaxassisi "bu sahifalarga noindex, bularga hreflang" deb vazifa beradi. Uni to'g'ri bajarish — dasturchi ishi. O'zbekistonda ko'p saytlar uch tilli bo'lgani uchun hreflang bu yerda ayniqsa ko'p so'raladi.
  • Intervyuda: "canonical nima uchun kerak?", "noindex va robots.txt farqi?", "meta keywords ishlaydimi?".

Xulosa

  • Google natijasi: sarlavha (odatda title dan), manzil va snippet (description dan yoki matndan); Google ikkalasini ham almashtirishi mumkin.
  • description — har sahifada boshqacha, ~150–160 belgi, aniq faktlar va chaqiriq bilan.
  • noindex — sahifani natijalardan chiqaradi, lekin himoya qilmaydi; robots.txt bilan bloklansa, robot uni ko'rmaydi.
  • canonical — har sahifada o'z to'liq manzili; bu buyruq emas, maslahat.
  • hreflang — har versiyada hamma versiyalar (o'zi ham) va x-default; javob havolasi shart; kodlar to'g'ri (en-GB, ru-UZ).
  • meta keywords — Google uchun yo'q; Google sahifa tilini lang dan emas, matndan aniqlaydi.

Keyingi dars: Ijtimoiy tarmoq kartalari: Open Graph — havola Telegram'da ulashilganda chiqadigan chiroyli karta: sarlavha, tavsif va rasm.

Manbalar

  • Google Search Central: "Influencing your title links and snippets", "Robots meta tag specifications", "Consolidate duplicate URLs", "Tell Google about localized versions of your page", "Meta tags that Google supports" — developers.google.com/search
  • Google Search Central Blog: "Google does not use the keywords meta tag in web ranking" (2009)
  • MDN: "meta name", "rel=canonical", "hreflang" — developer.mozilla.org
  • Yandex Webmaster yordam bo'limi: "Мета-теги" va hreflang — yandex.ru/support/webmaster
Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
SEO meta teglar: description, robots, canonical va hreflang — IlmHamroh