Technical SEO'ga nimalar kiradi?

MiddleSEO #seo #technical-seo

Savol

Saytning qanday texnik jihatlari SEO'ga tegishli (robots.txt, sitemap, canonical, structured data) va nega rendering usuli (SSR/SSG toza CSR'ga qarshi) indekslashga tanqidiy darajada ta'sir qiladi?

Qisqa javob

Technical SEO — bu qidiruv botlari saytni samarali aylanib chiqishi va to'g'ri talqin qilishi uchun sayt infratuzilmasini sozlash: robots.txt botning kirishini boshqaradi, sitemap.xml URL'lar ro'yxatini taklif qiladi, canonical dublikatlarni bartaraf etadi, structured data (JSON-LD) kontent turini aniq tavsiflaydi. Alohida masala — rendering usuli: SSR/SSG'siz SPA botga deyarli bo'sh HTML beradi, bu esa Nuxt kabi ishlatiladigan SSR/SSG yondashuviga nisbatan indekslashni yomonlashtiradi va sekinlashtiradi.

Batafsil javob

robots.txt — domen ildizida joylashgan matn fayli, u botlarga saytning qaysi bo'limlarini aylanib chiqish shart emasligini ko'rsatadi (masalan, admin panelni, dublikat kontentli qidiruv sahifalarini, test muhitlarini). Muhim jihati: robots.txt aylanib chiqishni, indekslashni emas, taqiqlaydi — agar robots.txt'da yopilgan sahifaga tashqi havolalar kelsa, u baribir indeksga tushishi mumkin (faqat mazmunisiz). Indeksdan kafolatlangan chiqarib tashlash uchun meta robots noindex yoki X-Robots-Tag HTTP-sarlavhasi kerak.

sitemap.xml — sayt URL'lari, yangilanish sanalari va ustuvorliklar ro'yxatidan iborat XML-fayl. Indekslashni kafolatlamaydi, lekin yangi/o'zgargan sahifalarni topishni tezlashtiradi, ayniqsa katta yoki kam interlinking'ga ega saytlarda. robots.txtda Sitemap: orqali ko'rsatiladi va/yoki Google Search Console'ga qo'shiladi.

canonical (<link rel="canonical">) — bir xil kontent bir nechta URL orqali mavjud bo'lganda (katalog filtrlari, UTM-teglar, http va https, www bilan va bilarsiz) sahifaning "asosiy" versiyasini ko'rsatadi. Canonical'siz qidiruv tizimi reytinglash og'irligini dublikatlar orasida taqsimlashi yoki o'zi "noto'g'ri" versiyani tanlashi mumkin.

Structured data (JSON-LD / schema.org) — kontent turining (maqola, tovar, sharh, FAQ, non uvoqlari) <script type="application/ld+json"> ichiga joylashtiriladigan aniq, mashina o'qiy oladigan razmetkasi. Pozitsiyalarga bevosita ta'sir qilmaydi, lekin rich resultsga — kengaytirilgan snippetlarga (reyting yulduzchalari, narx, FAQ ochiluvchi bloklar) yo'l ochadi, ular CTR'ni sezilarli darajada oshiradi.

SSR/SSG CSR'ga qarshi — zamonaviy JS-freymvorklar uchun technical SEO'ning tanqidiy jihati:

  • Toza CSRda (Client-Side Rendering) server deyarli bo'sh <div id="app"></div> beradi, butun kontent esa JS yuklangan va bajarilgandan keyin brauzerda render qilinadi. Googlebot texnik jihatdan JS'ni bajara oladi (ikki bosqichli kraulinig: avval HTML, keyin WRS orqali navbat bilan rendering), lekin bu sekinroq, botdan ko'proq resurs talab qiladi va har bir bot (nafaqat Google) rendering'ni to'g'ri kuta olishini kafolatlamaydi.
  • SSR (Server-Side Rendering) har bir so'rovda HTML'ni serverda render qiladi — bot to'liq tayyor kontentni JS'ni bajarmasdan darhol oladi.
  • SSG (Static Site Generation) tayyor HTML'ni build bosqichida generatsiya qiladi — eng maksimal tez berish va indekslash, har bir so'rovda o'zgarmaydigan kontent uchun mos keladi.

Nuxt standart holatda SSR'dan foydalanadi (yoki SSG uchun gibrid nuxt generate), bu esa dasturchini tegishli sozlamasiz "yalang'och" Vue/React SPA'dan farqli o'laroq bu muammoni qo'lda hal qilish zaruriyatidan ozod qiladi.

Misol

# robots.txt
User-agent: *
Disallow: /admin/
Disallow: /search
Allow: /

Sitemap: https://example.com/sitemap.xml
<!-- canonical: tovarning UTM-teglar va saralash bilan versiyalari bor,
     lekin kanonik deb "toza" versiya hisoblanishi kerak -->
<link rel="canonical" href="https://shop.example.com/nike-air-max" />
<!-- JSON-LD: tovar uchun strukturalashtirilgan ma'lumotlar -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Nike Air Max 90",
  "image": "https://shop.example.com/img/air-max-90.jpg",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "RUB",
    "price": "12990",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "128"
  }
}
</script>
// Nuxt Content: nuxt-simple-sitemap / @nuxtjs/sitemap orqali sitemap.xml misoli
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@nuxtjs/sitemap'],
  site: {
    url: 'https://example.com'
  }
})

Qo'shimcha savollar

  • robots.txt Disallow va meta robots noindex o'rtasidagi farq nimada?
  • Googlebot JavaScript'ni qanday render qiladi va nega bu CSR muammosini to'liq hal qilmaydi?
  • SEO va performance nuqtai nazaridan qachon SSR o'rniga SSG ishlatgan ma'qul?