IlmHamroh
JavaScript Full-stack/4-qism. HTML71/86-dars17 daqiqa
Mundarija (38)

SEO uchun HTML amaliyoti: sarlavhalar, havolalar, sitemap.xml va robots.txt

Qisqacha: SEO'ning katta qismi — toza HTML: har sahifada noyob title va bitta h1, mantiqiy sarlavhalar, ma'noli havola matni, alt li rasmlar va a href bilan yozilgan ichki havolalar. Ildizdagi robots.txt fayli robotga qayerga kirmaslikni aytadi, sitemap.xml esa qaysi sahifalar borligini ko'rsatadi. Natijani Google Search Console va Yandex Webmaster'da kuzatasiz.

Bu darsda

  • Qidiruv tizimi sahifani qanday topishi, indekslashi va ko'rsatishini tushuntirasiz.
  • title, h1, sarlavhalar, havola matni va rasmlarni SEO talablari bo'yicha yozasiz.
  • robots.txt va sitemap.xml fayllarini «Bahor» sayti uchun tuzasiz.
  • Saytni Google Search Console va Yandex Webmaster'ga ulash tartibini bilasiz.
  • JavaScript bilan chiziladigan kontent nega SEO uchun xavfli ekanini tushunasiz.

Oldin bilishingiz kerak: Qidiruv tizimlari uchun meta teglar, Strukturalangan ma'lumot: JSON-LD, Sarlavhalar va paragraflar, XML va uning vorislari.

1. Nega bu kerak?

«Bahor» sayti ishga tushdi. Choyxona egasi Jasur aka telefonida Google'ga "Chilonzor choyxona osh" deb yozdi. Natijalarning birinchi uch sahifasida «Bahor» yo'q. U hafsalasi pir bo'lib so'raydi: "Sayt bor-ku, nega topilmayapti?"

Sayt mavjudligi — topilish degani emas. Qidiruv tizimi saytni avval topishi, o'qishi, tushunishi va boshqalar bilan solishtirishi kerak.

SEO (Search Engine Optimization — qidiruv tizimi uchun optimallashtirish) — sayt qidiruvda topilishi va yuqoriroq chiqishi uchun qilinadigan ishlar. Uni do'kon peshtaxtasiga o'xshatish mumkin. Mahsulot omborda turibdi, lekin xaridor uni ko'rmaydi. Peshtaxtaga chiroyli terib, yorliq yopishtirsangiz — sotiladi.

SEO haqida ko'p afsona bor: "maxfiy hiyla", "kalit so'zni 100 marta yozish". Aslida uning katta qismi — shu qismda o'rgangan narsalaringiz: to'g'ri teglar, toza tuzilma, tushunarli matn. Bu darsda ularni bitta tekshiruv ro'yxatiga yig'amiz.

O'zbekistonda ikki qidiruv tizimi muhim. Google — asosiysi. Yandex — ayniqsa rus tilida qidiradigan auditoriya orasida sezilarli ulushga ega. Yaxshi xabar: HTML qoidalari ikkalasi uchun deyarli bir xil.

2. Qidiruv tizimi qanday ishlaydi

Har bir qidiruv tizimida robot (crawler, bot) bor — saytlarni avtomatik aylanib chiqadigan dastur. Google'niki — Googlebot, Yandex'niki — YandexBot. Sahifa qidiruvga to'rt bosqichda yetib boradi:

flowchart TD
  A["Havolalar va sitemap.xml"] --> B["1. Topish: robot sahifani yuklaydi"]
  R["robots.txt"] -. "kirish ruxsati" .-> B
  B --> C["2. Render: JavaScript ishga tushadi"]
  C --> D["3. Indeks: sahifa katalogga yoziladi"]
  N["noindex va canonical"] -. "katalogga qo'shish qarori" .-> D
  D --> E["4. Reyting: natijalar tartibi"]
  1. Topish (crawling). Robot yangi sahifalarni havolalar va sitemap.xml orqali topadi. Kirishdan oldin robots.txt ni o'qiydi.
  2. Render. Robot sahifani brauzerdagidek ochadi. Kerak bo'lsa, JavaScript'ni ham ishga tushiradi.
  3. Indekslash (indexing). Sahifa mazmuni ulkan katalogga — indeksga yoziladi. Kutubxona kartotekasini tasavvur qiling: har bir kitob uchun kartochka. noindex va canonical (meta teglar darsidan) aynan shu bosqichda ishlaydi.
  4. Reyting (ranking). Kimdir so'rov yozganda, tizim indeksdan mos sahifalarni topib, tartiblaydi.

HTML har bir bosqichga ta'sir qiladi. Havola a href bilan yozilmasa — 1-bosqichda sahifa topilmaydi. Mazmun faqat JavaScript'da bo'lsa — 2-bosqichda muammo. Sarlavhalar tartibsiz bo'lsa — 3-bosqichda mavzu noto'g'ri tushuniladi.

Tekshirib ko'ring: Sahifa indeksda yo'q. Buning sababi qaysi bosqichlarda bo'lishi mumkin?

Javob

Birinchi uchtasida. Robot sahifani topmagan bo'lishi mumkin (hech qayerdan havola yo'q). Yoki robots.txt kirishni taqiqlagan. Yoki render paytida mazmun chiqmagan. Yoki sahifada noindex turibdi. Reyting bosqichi esa faqat indeksdagi sahifalar uchun ishlaydi.

3. title va h1: ikki sarlavha, bitta mavzu

3.1 Farqi

Har sahifada ikkita "asosiy sarlavha" bor:

title h1
Qayerda head ichida Sahifa matnida
Kim ko'radi Qidiruv natijasi, brauzer tabi Sahifaga kirgan odam
Vazifasi Bosishga undash Mavzuni tasdiqlash

«Bahor» menyusidagi osh sahifasi uchun:

html
<title>To'y oshi — narxi va tarkibi | Choyxona «Bahor»</title>
html
<h1>To'y oshi</h1>

Ikkalasi bir mavzu haqida, lekin bir xil bo'lishi shart emas. Sarlavha (title) qidiruv natijalari orasida ajralib turishi kerak. Shuning uchun unda sayt nomi va qo'shimcha foyda bor. Sahifadagi h1 esa kirgan odamga "to'g'ri joyga keldingiz" deydi.

3.2 Yaxshi title qoidalari

head anatomiyasi va meta teglar darslaridagi qoidalarni eslaymiz:

  • Har bir sahifada noyob title. Hamma sahifada "Bosh sahifa" — Google ularni farqlay olmaydi.
  • Eng muhim so'z boshida. Telefonda uzun sarlavha taxminan 50–60 belgidan keyin kesiladi.
  • Sayt nomi oxirida, ajratgich bilan: | yoki —.

Agar title yomon bo'lsa, Google uni o'zi qayta yozishi mumkin — ko'pincha sahifadagi h1 dan foydalanib. Bu title va h1 mazmunan mos bo'lishining yana bir sababi.

Bo'sh joyni to'ldiring: sahifaning qidiruv natijasidagi ko'k sarlavhasi odatda qaysi tegdan olinadi?

4. Sarlavhalar va semantik tuzilma

Sarlavhalar darsidagi qoidalar SEO uchun ham aynan shunday:

  • Sahifada bitta h1.
  • h2 — asosiy bo'limlar, h3 — ularning ichidagi kichik bo'limlar. Darajalar sakrab ketmaydi.
  • Sarlavha — mazmun uchun, katta shrift uchun emas.

Robot sarlavhalarni sahifaning "mundarijasi" sifatida o'qiydi. Menyu sahifasida h2 lar "Birinchi taomlar", "Ikkinchi taomlar", "Ichimliklar" bo'lsa, u sahifa nima haqida ekanini darhol tushunadi.

Semantik teglar ham yordam beradi. main — sahifaning asosiy kontenti qayerdaligini ko'rsatadi (Sahifa landmarklari). header, nav va footer dagi takrorlanuvchi qismlar esa har sahifada bir xil — robot ularni asosiy mazmundan ajratadi.

Maslahat: Kalit so'zni tabiiy yozing. "Toshkentdagi eng yaxshi osh, osh Toshkent, arzon osh" kabi matn — kalit so'z to'ldirish (keyword stuffing). Google buni spam deb biladi va sahifani pastga tushiradi. Odam uchun yozilgan tushunarli matn — eng yaxshi SEO.

5. Havolalar

5.1 Havola matni

Havola asoslari darsida "bu yerni bosing" nega yomonligini ko'rgan edik. SEO uchun ham xuddi shunday. Havola matni (anchor text) — robot uchun "u yerdagi sahifa nima haqida" degan ishora.

html
<!-- ❌ robot hech narsa bilmaydi -->
<p>Oshimiz haqida <a href="/menyu/osh/">bu yerda</a> o'qing.</p>

<!-- ✅ matnning o'zi mavzuni aytadi -->
<p><a href="/menyu/osh/">To'y oshi narxi va tarkibi</a></p>

5.2 Ichki havolalar

Ichki havola — saytingizning bir sahifasidan boshqasiga havola. Robot saytni ular orqali aylanib chiqadi.

Hech qaysi sahifadan havola berilmagan sahifa — yetim sahifa (orphan page). Uni robot ham, odam ham qiyin topadi. Masalan, «Bahor»ning yangi "Osh bayrami" tadbiri sahifasi yaratildi, lekin tadbirlar ro'yxatiga qo'shilmadi.

Qoida: har bir muhim sahifaga bosh sahifadan 3 ta bosishdan ko'p bo'lmagan yo'l bo'lsin. Menyu, non yo'li (JSON-LD darsidagi BreadcrumbList ning HTML nusxasi) va "Shu mavzuda" bloklari bunda yordam beradi.

5.3 Robot faqat a href ni kuzatadi

html
<!-- ❌ robot uchun havola emas -->
<span class="havola" data-sahifa="/bron/">Bron qilish</span>

<!-- ✅ haqiqiy havola -->
<a href="/bron/">Bron qilish</a>

Birinchi variantda sahifaga o'tish JavaScript bilan qilinadi. Odam uchun u ishlashi mumkin. Lekin Google o'z hujjatida aniq yozadi: u havolani faqat href atributi bor a tegi bo'lsa kuzatadi. Tugma yoki havola darsidagi qoida SEO'da ham hal qiluvchi.

5.4 Tashqi havolalar va rel

Boshqa saytga havola berish zarar emas — foydali manbaga havola yaxshi belgi. Faqat Maxsus havolalar va rel darsidagi qoidalarni eslang: reklama havolasiga rel="sponsored", foydalanuvchi izohidagi havolaga rel="ugc", ishonmagan havolaga rel="nofollow".

Tekshirib ko'ring: "Osh bayrami" sahifasi saytda bor, lekin unga faqat Telegram kanaldan havola berilgan. Google uni topadimi?

Javob

Topishi qiyin. Telegram postidagi havolani robot ko'rishi kafolatlanmagan, saytning o'zida esa yo'l yo'q — bu yetim sahifa. Yechim: tadbirlar ro'yxatiga va bosh sahifaga havola qo'shish hamda sahifani sitemap.xml ga yozish.

6. Rasmlar

Google Rasmlar (Google Images) ham trafik manbai. Taom suratlari uchun, ayniqsa.

  • alt matni — robot rasmni asosan shu matn orqali tushunadi. Qoidalar Yaxshi alt matn darsida: tavsif, kalit so'z to'ldirish emas.
  • Fayl nomi. IMG_2034.jpg hech narsa demaydi. toy-oshi.webp — mavzuni aytadi. Nom kichik harflarda, so'zlar defis bilan.
  • Rasm yonidagi matn. figcaption yoki yaqin paragraf — qo'shimcha kontekst.
  • Muhim rasm — img bilan. Google Rasmlar CSS'dagi fon rasmlarini indekslamaydi. Taom surati img tegida bo'lsin.
  • O'lcham va tezlik. width, height va to'g'ri format (Rasm unumdorligi) — sahifa tezligi ham reytingga ta'sir qiladi.

7. URL va canonical

7.1 Tushunarli URL

/page.php?id=17&cat=3 /menyu/osh/
/Menyu/TOY_Oshi.html /menyu/toy-oshi/

URL — natijada ko'rinadigan matnning bir qismi. U qisqa, kichik harfli va so'zlar defis bilan bo'lsin (Ko'p sahifali sayt tuzilmasi darsidagi nomlash qoidalari). O'zbekcha so'zlar lotinda, apostrofsiz: toy-oshi, to'y-oshi emas.

7.2 Canonical — qisqa eslatma

Bitta sahifa bir necha manzilda ochilishi mumkin: https://example.com/menyu/, https://example.com/menyu/?utm_source=telegram, https://www.example.com/menyu/. Google ularni uchta alohida sahifa deb o'ylashi mumkin.

Meta teglar darsidagi link rel="canonical" "asl nusxa shu" deydi:

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

Har bir sahifada o'ziga ishora qiluvchi canonical bo'lishi — yaxshi odat.

8. robots.txt — robotlar uchun kirish qoidalari

8.1 Qayerda va nima

robots.txt — saytning ildizidagi oddiy matnli fayl: https://example.com/robots.txt. Har bir robot saytga kirishdan oldin uni o'qiydi.

Bu — bino kirishidagi e'lon: "Xodimlar xonasiga kirish taqiqlanadi". Halol mehmon unga amal qiladi. Lekin e'lon eshikni qulflamaydi.

«Bahor» uchun:

text
User-agent: *
Disallow: /admin/
Disallow: /qidiruv
Allow: /

Sitemap: https://example.com/sitemap.xml
  • User-agent: * — qoida kimga tegishli. * — barcha robotlarga. Aniq robot ham yozish mumkin: User-agent: Googlebot.
  • Disallow: /admin/ — "shu yo'l bilan boshlanadigan sahifalarga kirma".
  • Disallow: /qidiruv — sayt ichidagi qidiruv natijalari. Ular cheksiz ko'p va foydasiz — robotning vaqtini yeydi.
  • Allow: / — qolgan hammasiga ruxsat.
  • Sitemap: — sayt xaritasi qayerda. To'liq manzil bilan.

Fayl nomi aynan robots.txt — kichik harflar bilan. U faqat saytning ildizida ishlaydi: /assets/robots.txt hech kimni qiziqtirmaydi.

8.2 Ikki muhim haqiqat

1. robots.txt — xavfsizlik vositasi emas. Faylni istalgan odam o'qiy oladi. Disallow: /maxfiy-hisobotlar/ deb yozsangiz, siz hujumchiga "qiziq narsa shu yerda" deb ko'rsatib qo'yasiz. Maxfiy sahifa parol bilan himoyalanadi.

2. Disallow indeksdan olib tashlamaydi. Bu ko'pchilikni hayron qoldiradi. Disallow robotga sahifani o'qishni taqiqlaydi. Lekin boshqa saytlar unga havola bergan bo'lsa, Google manzilni indeksga matnsiz qo'shishi mumkin.

Sahifani qidiruvdan olib tashlash uchun meta name="robots" content="noindex" kerak. Va eng muhimi — bu sahifani robots.txt da yopmaslik kerak. Aks holda robot sahifani ochmaydi va noindex ni hech qachon ko'rmaydi.

Maqsad Vosita
Robot vaqtini tejash (cheksiz filtrlar, qidiruv) robots.txt → Disallow
Sahifani qidiruvda ko'rsatmaslik meta robots → noindex
Sahifani begonalardan yashirish Parol, autentifikatsiya

8.3 AI robotlari

2023-yildan beri saytlarni AI kompaniyalarining robotlari ham aylanib chiqadi. Ular sahifalarni til modellarini o'qitish yoki AI javoblari uchun yig'adi. Ko'pchiligi o'z nomini ochiq aytadi va robots.txt ga amal qiladi:

text
User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /
  • GPTBot — OpenAI roboti.
  • Google-Extended — alohida robot emas, balki "ruxsat belgisi". U Google Gemini modellari sayt matnidan foydalanishini to'xtatadi, lekin oddiy Google qidiruviga ta'sir qilmaydi.

Ularni yopish-yopmaslik — biznes qarori. Choyxona uchun AI yordamchilar «Bahor» haqida gapirib berishi foydali bo'lishi mumkin. Pullik kontent sotadigan sayt uchun esa — zarar.

Diqqat: Eng qimmat SEO xatosi: sinov serverida Disallow: / qo'yilgan robots.txt bilan saytni ishga tushirib yuborish. Sayt bir necha kun ichida qidiruvdan yo'qolib ketadi. Har bir deploy'dan keyin https://example.com/robots.txt ni ochib tekshiring.

9. sitemap.xml — sayt xaritasi

XML darsida sitemap.xml bilan tanishgan edik. Endi uni «Bahor» uchun to'liq yozamiz:

xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-09-20</lastmod>
  </url>
  <url>
    <loc>https://example.com/menyu/</loc>
    <lastmod>2026-09-25</lastmod>
  </url>
  <url>
    <loc>https://example.com/tadbirlar/osh-bayrami.html</loc>
    <lastmod>2026-09-26</lastmod>
  </url>
</urlset>
  • loc — sahifaning to'liq manzili. Canonical manzil bilan bir xil bo'lsin.
  • lastmod — sahifa oxirgi marta haqiqatan o'zgargan sana. Google undan foydalanadi, lekin faqat sana halol bo'lsa. Har kuni avtomatik "bugun" deb yozsangiz, Google unga ishonmay qo'yadi.

Eski qo'llanmalarda yana ikki teg uchraydi: priority va changefreq. Google ularni e'tiborsiz qoldiradi — yozish shart emas.

Qoidalar:

  • Faqat indeksga kerak bo'lgan sahifalar: 200 javob qaytaradigan, noindex siz, canonical manzillar. Admin paneli va xato sahifalari kerak emas.
  • Bitta faylda ko'pi bilan 50 000 ta manzil va 50 MB. Katta saytlar bir nechta xarita va ularni birlashtiruvchi sitemap index faylini ishlatadi.
  • Xarita manzili robots.txt ga yoziladi va Search Console hamda Yandex Webmaster'ga yuboriladi.

Sitemap — maslahat, kafolat emas. U robotga "bu sahifalar bor" deydi, lekin indeksga qo'shish qarorini tizim o'zi qabul qiladi.

Tekshirib ko'ring: «Bahor»da /admin/ sahifasi robots.txt da yopilgan. Uni sitemap.xml ga ham yozish kerakmi?

Javob

Yo'q. Sitemap — "shu sahifalarni indeksla" degan ro'yxat. Admin sahifasini unga yozish robots.txt bilan ziddiyat yaratadi: bir fayl "kir" deydi, ikkinchisi "kirma". Search Console bunday holatni xato sifatida ko'rsatadi.

10. Google Search Console va Yandex Webmaster

10.1 Google Search Console

Google Search Console (search.google.com/search-console) — Google'ning bepul xizmati. U saytingizni Google qanday ko'rishini ko'rsatadi. Har bir sayt egasi uni birinchi kundanoq ulashi kerak.

1-qadam: egalikni tasdiqlash. Google "sayt haqiqatan sizniki" ekanini bilishi kerak. Uch keng tarqalgan usul:

  • DNS'ga TXT yozuvi qo'shish (Domen va DNS darsida ko'rgansiz) — butun domen uchun eng ishonchli;
  • head ga meta name="google-site-verification" qatori (Kam ma'lum meta teglar);
  • saytning ildiziga Google bergan HTML faylni yuklash.

2-qadam: sitemap yuborish. "Sitemaps" bo'limida sitemap.xml manzilini kiritasiz.

3-qadam: hisobotlarni o'qish. Eng muhimlari:

Hisobot Nima ko'rsatadi
Performance So'rovlar, ko'rsatishlar, bosishlar, CTR, o'rtacha o'rin
Pages Qaysi sahifalar indeksda va qaysilari nega yo'q
URL Inspection Bitta sahifa: indeksdami, robot uni qanday ko'rgan
Core Web Vitals Haqiqiy foydalanuvchilarda tezlik

CTR (click-through rate) — natijani ko'rganlarning necha foizi bosgani. U past bo'lsa — title va description ustida ishlash kerak.

"Pages" hisobotida tez-tez uchraydigan ikki holat:

  • Discovered – currently not indexed — "topildi, hozircha indekslanmadi". Robot manzilni biladi, lekin hali o'qimagan. Ko'pincha yangi saytlarda — sabr va ichki havolalar kerak.
  • Crawled – currently not indexed — "o'qildi, hozircha indekslanmadi". Robot sahifani ko'rdi, lekin indeksga arzimaydi deb hisobladi. Odatda mazmun juda kam yoki boshqa sahifani takrorlaydi.

"URL Inspection" oynasida Request indexing tugmasi bor — yangi yoki tuzatilgan sahifani navbatga tezroq qo'yadi.

10.2 Yandex Webmaster

Yandex Webmaster (webmaster.yandex.ru) — Yandex'ning xuddi shunday xizmati. Interfeysi rus va ingliz tilida. Tartib o'xshash:

  • egalikni tasdiqlash: meta name="yandex-verification", HTML fayl yoki DNS yozuvi;
  • sitemap qo'shish va indekslash holatini kuzatish;
  • robots.txt tahlilchisi va strukturalangan ma'lumot validatori (JSON-LD darsida eslatilgan);
  • sayt hududini belgilash — Toshkentdagi choyxona uchun muhim.

Yandex IndexNow protokolini ham qo'llaydi. Sahifa o'zgarganda sayt Yandex va Bing'ga "yangilandi" deb o'zi xabar yuboradi, robotning navbatdagi tashrifini kutmaydi. Google IndexNow'ni ishlatmaydi. Bing uchun esa Bing Webmaster Tools bor — u Google Search Console'dan saytni bitta tugma bilan import qila oladi.

Maslahat: Yangi sayt birinchi haftada qidiruvda ko'rinmasa — bu normal. Robot yangi saytga asta-sekin ishonadi. Search Console'dagi "Pages" hisobotini haftada bir tekshiring va sabr qiling.

11. JavaScript va SEO: muhim ogohlantirish

Zamonaviy saytlarning ko'pchiligi JavaScript bilan quriladi. Ba'zi saytlarda server deyarli bo'sh HTML yuboradi:

html
<body>
  <div id="app"></div>
  <script src="/assets/js/ilova.js"></script>
</body>

Barcha matn, sarlavha va havolalar keyin JavaScript bilan chiziladi. Odam farqni sezmaydi. Robotlar uchun esa bu muammo:

  • Googlebot JavaScript'ni ishga tushiradi, lekin buni ko'pincha keyinroq, alohida navbatda qiladi. Yangi mazmun indeksga kechikib tushishi mumkin.
  • Boshqa robotlar — Telegram havola ko'rinishi, ko'plab AI robotlari — ko'pincha JavaScript'ni umuman ishga tushirmaydi. Ular faqat bo'sh div ni ko'radi.

Yechim — muhim mazmunni (title, meta teglar, h1, matn, havolalar) serverdan tayyor HTML ichida yuborish. Buni SSR (server-side rendering — sahifani serverda tayyorlash) deyishadi. Uni Next.js'dagi rendering strategiyalari darsida o'rganamiz. Hozircha siz yozayotgan oddiy HTML saytlar bu muammodan butunlay xoli.

Qanday tekshirish: sahifada Ctrl+U bosing (sahifa manbasi). Bu — server yuborgan asl HTML. Muhim matn shu yerda bo'lsa — yaxshi. Faqat DevTools'ning Elements panelida bo'lsa — uni JavaScript chizgan.

12. Ko'p uchraydigan xatolar

12.1 Sinov serveridagi noindex bilan ishga tushirish

Sinov serverida hamma sahifaga <meta name="robots" content="noindex"> qo'yilgan edi — to'g'ri. Sayt ishga tushirildi, lekin bu qator qolib ketdi. Bir necha haftadan keyin sayt qidiruvdan yo'qoladi. Tuzatish: deploy'dan keyin bosh sahifaning manbasini Ctrl+U bilan ochib, noindex ni qidiring.

12.2 CSS va JS'ni robots.txt da yopish

Disallow: /assets/ — "robot rasmlar va skriptlarni yuklamasin, vaqt tejaladi". Natijada Google sahifani CSS'siz ko'radi va uni mobil qurilmaga mos emas deb baholashi mumkin. Tuzatish: sahifani chizish uchun kerak fayllarni yopmang.

12.3 Hamma sahifada bir xil title va description

Shablondan ko'chirilgan sahifalarda title "Choyxona «Bahor»" bo'lib qolgan. Search Console va Lighthouse dublikatlarni ko'rsatadi. Tuzatish: har sahifaga o'z mavzusini aytadigan noyob title.

12.4 Havolalar JavaScript bilan

Menyu div va onclick bilan yasalgan. Robot ichki sahifalarga yo'l topmaydi. Tuzatish: a href.

12.5 robots.txt bilan yashirishga urinish

Disallow ga maxfiy sahifalar yozilgan. Fayl hammaga ochiq — ro'yxat hujumchiga tayyor xarita. Tuzatish: himoya parol bilan, qidiruvdan chiqarish noindex bilan.

13. Mashqlar

1-mashq (oson): Qaysi biri yaxshiroq

Har juftlikdan SEO uchun yaxshiroq variantni tanlang va sababini bir gap bilan yozing.

  1. <title>Sahifa</title> yoki <title>Stol bron qilish | Choyxona «Bahor»</title>
  2. <a href="/menyu/">shu yerda</a> yoki <a href="/menyu/">«Bahor» menyusi va narxlari</a>
  3. lagmon-1.jpg yoki IMG_5521.JPG
  4. /menyu/lagmon/ yoki /Menu.php?item=5
Yechim
  1. Ikkinchisi — sahifa mavzusi va sayt nomi bor, noyob.
  2. Ikkinchisi — havola matni u yerdagi sahifa nima haqida ekanini aytadi.
  3. Birinchisi — fayl nomidan taom nomi tushuniladi. Yana yaxshisi: qol-lagmon.webp kabi aniq nom.
  4. Birinchisi — qisqa, kichik harfli, ma'noli so'z.

2-mashq (o'rta): «Bahor» uchun robots.txt

Talablar:

  • barcha robotlar uchun /admin/ va /savat/ yopiq;
  • sayt ichidagi qidiruv (/qidiruv) yopiq;
  • OpenAI roboti (GPTBot) butun saytga kira olmaydi;
  • sayt xaritasi manzili ko'rsatilgan.

Boshlanishi tayyor, davom ettiring:

text
User-agent: *
Disallow: /admin/

GPTBot uchun butun saytni yopadigan qator: Disallow: dan keyin belgisi yoziladi.

Yechim
text
User-agent: *
Disallow: /admin/
Disallow: /savat/
Disallow: /qidiruv

User-agent: GPTBot
Disallow: /

Sitemap: https://example.com/sitemap.xml

Guruhlar bo'sh qator bilan ajratiladi. Robot o'ziga eng aniq mos keladigan guruhni tanlaydi: GPTBot o'z guruhiga amal qiladi, qolganlar — * guruhiga. Sitemap qatori hech qaysi guruhga bog'liq emas — uni barcha robotlar o'qiydi.

3-mashq (qiyin): SEO auditi

Bu «Bahor» "Tadbirlar" sahifasida kamida oltita SEO muammosi bor. Hammasini toping va tuzatilgan versiyani yozing.

html
<!DOCTYPE html>
<html lang="uz">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="robots" content="noindex">
  <title>Sahifa</title>
</head>
<body>
  <main>
    <p class="katta">Tadbirlar</p>
    <h3>Osh bayrami</h3>
    <img src="IMG_0042.jpg" alt="rasm" width="1200" height="800">
    <p>Batafsil:
      <a href="/tadbirlar/osh-bayrami.html">bu yerda</a></p>
    <h1>Maqom kechasi</h1>
    <p>Tez orada.</p>
  </main>
</body>
</html>
Yechim

Muammolar:

  1. noindex — sahifa qidiruvga umuman tushmaydi (sinovdan qolib ketgan).
  2. title ma'nosiz va noyob emas.
  3. Asosiy sarlavha p da — robot uni sarlavha deb bilmaydi.
  4. Sarlavhalar tartibi buzilgan: h3 dan keyin h1, sahifaning asosiy mavzusi h1 da emas.
  5. Rasm fayl nomi va alt hech narsa demaydi.
  6. Havola matni "bu yerda" — mavzusiz.
  7. Canonical yo'q (majburiy emas, lekin yaxshi odat).
html
<!DOCTYPE html>
<html lang="uz">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Tadbirlar: osh bayrami, maqom kechasi | «Bahor»</title>
  <meta name="description"
    content="«Bahor» tadbirlari: osh bayrami va maqom kechasi.">
  <link rel="canonical" href="https://example.com/tadbirlar/">
</head>
<body>
  <main>
    <h1>Tadbirlar</h1>
    <h2>Osh bayrami</h2>
    <img src="osh-bayrami.jpg" width="1200" height="800"
         alt="Katta qozon atrofida osh tarqatayotgan oshpazlar">
    <p><a href="/tadbirlar/osh-bayrami.html">Osh bayrami dasturi
      va bron qilish</a></p>
    <h2>Maqom kechasi</h2>
    <p>Tez orada.</p>
  </main>
</body>
</html>

Yangi title 47 belgi: telefonda ham to'liq ko'rinadi, eng muhim so'z — "Tadbirlar" — boshida.

14. Real ishda

  • Frontend dasturchi va SEO. Kompaniyada SEO mutaxassisi bo'lsa ham, uning tavsiyalarini kodga aynan siz aylantirasiz: sarlavhalar, meta teglar, sitemap, tezlik. SEO'ni tushunadigan dasturchi qadrlanadi.
  • Freymvorklarda sitemap.xml va robots.txt odatda kod bilan avtomatik yaratiladi — Next.js'da sitemap.ts va robots.ts fayllari bor. Lekin ichidagi qoidalar — shu darsdagilar.
  • Monitoring. Jiddiy loyihalarda Search Console hisobotlari har hafta ko'riladi. "Pages" hisobotidagi keskin o'zgarish — birinchi xavf signali.
  • Intervyuda so'raladi: "robots.txt dagi Disallow va noindex farqi nima?" Bu darsdan keyin javob bera olasiz.

Xulosa

  • Qidiruv to'rt bosqichda ishlaydi: topish, render, indeks, reyting — HTML har biriga ta'sir qiladi.
  • Har sahifada noyob title, bitta h1, mantiqiy sarlavhalar va semantik teglar.
  • Havola — faqat a href, matni mavzuni aytsin; yetim sahifa qoldirmang.
  • robots.txt — kirish qoidasi, xavfsizlik emas; qidiruvdan chiqarish — noindex, u holda Disallow qo'ymang.
  • sitemap.xml — faqat indeksga kerakli canonical sahifalar, halol lastmod bilan.
  • Saytni Google Search Console va Yandex Webmaster'ga ulang va hisobotlarni muntazam o'qing.

Keyingi dars: Accessibility nima va u kim uchun — yangi modul boshlanadi: saytimizni ko'rish, eshitish yoki harakatda cheklovi bor odamlar uchun ham qulay qilamiz.

Manbalar

  • Google Search Central: "SEO Starter Guide", "How Google Search works" — developers.google.com/search
  • Google Search Central: "Introduction to robots.txt", "Build and submit a sitemap", "Link best practices" — developers.google.com/search
  • Google Search Central: "Understand JavaScript SEO basics" — developers.google.com/search
  • RFC 9309: Robots Exclusion Protocol — rfc-editor.org
  • Yandex Webmaster yordami: "robots.txt", "Sitemap", "IndexNow" — yandex.com/support/webmaster
  • sitemaps.org protokoli — sitemaps.org
Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
SEO uchun HTML amaliyoti: sarlavhalar, havolalar, sitemap.xml va robots.txt — IlmHamroh