Nega Next.js’da xarita kod orqali yaratiladi
Agar kompaniyangiz sayti Next.js’da qurilgan bo‘lsa, admin panelda «sitemap yaratish» tugmasini topa olmaysiz. Freymvork sahifalarni render qiladi, qidiruv tizimlari uchun manzillar ro‘yxatini esa dasturchi tuzadi. Boshida bu qo‘shimcha ish, lekin xarita sayt bilan bir xil ma’lumotlardan yig‘iladi va haqiqatdan ajralib qolmaydi.
Biznes uchun bu muhim: Google va Yandex yangi sahifalarni sitemap.xml orqali tezroq topadi. Katalogi bor internet-do‘kon yoki muntazam maqola chiqaradigan blog uchun xarita rasmiyatchilik emas, ish quroli hisoblanadi.
App Router’da sitemap yaratish
App Router’da app papkasiga maxsus sitemap fayli (odatda sitemap.ts) qo‘shiladi. U massiv qaytaradigan funksiyani eksport qiladi. Har bir yozuvda sahifa manzili, oxirgi o‘zgarish sanasi va xohlasangiz yangilanish chastotasi hamda ustuvorlik bo‘ladi. Freymvork massivni to‘g‘ri XML’ga aylantiradi va uni /sitemap.xml manzilida beradi.
Eski Pages Router’da odatda alohida marshrut orqali XML qo‘lda yig‘iladi yoki build paytida xarita yaratadigan paket ishlatiladi. Loyiha App Router’ga o‘tganda o‘rnatilgan usulga ko‘chgan ma’qul.
Asosiy qoida: xarita ma’lumot manbai sahifalar manbai bilan bir xil bo‘lsin. Maqolalar, mahsulotlar va xizmat kartochkalari bazadan, headless CMS’dan yoki kontent fayllaridan olinsa, yangi material xaritaga qo‘lda qo‘shmasdan tushadi.
Xaritaga nimalarni qo‘shish va nimalarni qo‘shmaslik
Statik sahifalar — bosh sahifa, xizmatlar, kontaktlar — ro‘yxat sifatida yoziladi. Dinamik sahifalar ma’lumot manbasidan so‘raladi. Faqat nashr etilgan yozuvlarni oling: qoralamalar xaritada bo‘lmasligi kerak.
- noindex qo‘yilgan sahifalarni qo‘shmang.
- Parametrli, filtrli va saralash manzillarini qo‘shmang.
- Texnik marshrutlarni chiqarib tashlang: API, kirish, shaxsiy kabinet, qoralama ko‘rinishi.
- Boshqa manzilga yo‘naltiriladigan yoki 404 qaytaradigan sahifalarni olib tashlang.
- Click yoki Payme bilan ishlaydigan do‘konda savat va to‘lov sahifalari xaritada bo‘lmasin.
Sanalar, yangilanish va katta saytlar
Sana maydoniga bazadagi yoki CMS’dagi haqiqiy yangilanish sanasini yozing. Keng tarqalgan xato — barcha manzillarga joriy vaqtni qo‘yish. Shunda qidiruv tizimi butun sayt har kuni «o‘zgarayotganini» ko‘radi va bu maydonga ishonmay qo‘yadi.
Yangilanish render rejimiga bog‘liq. Xarita build paytida statik yaratilsa, yangi maqola keyingi deploy’dan keyingina paydo bo‘ladi. Haftasiga bir maqola chiqadigan blog uchun bu yetarli. Mahsulotlar har kuni qo‘shiladigan va olinadigan katalog uchun keshli dinamik yaratish yoki qayta yaratish oralig‘ini belgilash ma’qul.
Bitta xarita faylida protokol bo‘yicha manzillar soni va hajmga cheklov bor. Katta saytlarda generateSitemaps funksiyasi yordamida xaritani bir nechta qismga bo‘lish mumkin, masalan maqolalar va mahsulotlar alohida. Search Console va Yandex Vebmaster’ga barcha qismlarni yoki indeks faylini qo‘shing.
Rus va o‘zbek tillari bitta xaritada
O‘zbekistondagi ko‘pchilik saytlar kamida ikki tilda ishlaydi. Xarita yozuvlarida muqobil til manzillarini ko‘rsatish mumkin: bu sahifa kodidagi hreflang’ni takrorlaydi va qidiruv tizimiga rus va o‘zbek versiyalarini bog‘lashga yordam beradi. Ikkala versiya ham mavjud bo‘lishi va 200 kodi bilan javob berishi kerak, xarita va sahifadagi hreflang esa bir-biriga mos tushishi lozim.
robots.txt va domen tuzog‘i
Robots fayli ham xuddi shunday, app papkasidagi robots.ts orqali yaratiladi. Unda sitemap.xml manzili va texnik marshrutlar uchun qoidalar ko‘rsatiladi. Test va preview domenlarda indekslash yopiq, asosiy domenda ochiq ekanini tekshiring. Muhitlar adashib ketishi saytning qidiruvdan chiqib ketishining tez-tez uchraydigan sababidir.
Ikkinchi tuzoq — domen. Uni odatda muhit o‘zgaruvchisidan olishadi. Ishchi serverda o‘zgaruvchi berilmagan bo‘lsa, xaritaga localhost yoki hosting texnik domeni tushadi va qidiruv tizimi bunday manzillarni rad etadi. Har bir yirik deploy’dan keyin xaritani ochib, dastlabki qatorlarni ko‘zdan kechiring.
Xaritani tekshirish va keyingi qadam
Tekshiruv bir necha daqiqa oladi, lekin indekslashni kutishdagi haftalarni tejaydi. Asosiy domenda /sitemap.xml ochilishini, manzillar to‘liq va to‘g‘ri domen bilan yozilganini, bir nechta manzil 200 qaytarishini tekshiring. So‘ng sinov uchun yangi material nashr etib, u xaritada paydo bo‘lishini kuzating va xaritani Search Console hamda Vebmaster’ga qo‘shing.
Sitemap va robots — Next.js sayti kutilganidek indekslanmasa, birinchi tekshiriladigan narsalar. Lekin bu texnik SEO’ning bir qismi xolos: tezlik, meta-teglar, URL tuzilmasi va kontent ham muhim. O‘zbekistonda sayt uchun SEO optimizatsiya kerak bo‘lsa, markdev jamoasi loyihangizni texnik tahlil qilib, avval nimani to‘g‘rilash kerakligini aytib bera oladi. Vazifangizni yozing, birgalikda muhokama qilamiz.
Ko‘p beriladigan savollar
Next.js’da sitemap uchun alohida paket kerakmi?
App Router’da odatda kerak emas: app papkasidagi sitemap fayli manzillar ro‘yxatini qaytarsa yetarli. Paketlar ko‘proq Pages Router’da ishlatiladi.
Yangi sahifalar nega xaritada ko‘rinmayapti?
Ehtimol, xarita build paytida statik yaratilgan. U keyingi deploy’dan keyin yangilanadi yoki dinamik yaratish va qayta yaratish oralig‘ini sozlang.
Xaritaga localhost tushib qolsa nima qilish kerak?
Ishchi serverdagi sayt domenini saqlovchi muhit o‘zgaruvchisini tekshiring. U berilmagan yoki test domenga ishora qilayotgan bo‘ladi. To‘g‘rilab, loyihani qayta build qiling.
Rus va o‘zbek sahifalarini alohida qo‘shish kerakmi?
Har bir tilni alohida yozuv qilish yoki yozuv ichida muqobil til manzillarini ko‘rsatish mumkin. Ikkala holatda ham manzillar 200 qaytarishi va sahifadagi hreflang bilan mos bo‘lishi shart.
Vazifangizni bepul tahlil qilamiz
Kontaktingizni qoldiring — 15 daqiqalik qo‘ng‘iroqda arizalar qayerda yo‘qolayotganini va birinchi navbatda nima qilish kerakligini ko‘rsatamiz.