IndexNow nima va u Yandex hamda Bing da indeksatsiyani tezlashtiradi
Asoslar3 daqInnovialabs tahririyati
Qisqacha
IndexNow — sayt Bing, Yandex va boshqa ishtirokchilarga yangi, o‘zgargan va o‘chirilgan URL lar haqida darhol xabar beradigan ochiq protokol; Google undan foydalanmaydi, shuning uchun sitemap baribir majburiy.
Qisqacha javob
IndexNow — sayt qidiruv tizimlariga URL qo‘shilgani, yangilangani yoki o‘chirilgani haqida xabar beradigan ochiq protokol. Robot o‘zgarishni o‘zi topishini kutish o‘rniga, sayt manzillar ro‘yxati bilan qisqa so‘rov yuboradi va qidiruv tizimi ularni tezroq qayta skanerlashi mumkin.
Protokolni Bing, Yandex va boshqa bir qator tizimlar (masalan, Seznam va Naver) qo‘llab-quvvatlaydi. Ishtirokchilar olingan URL larni o‘zaro almashadi, shuning uchun bitta manzilga bitta so‘rov yetarli. Google IndexNow ni qo‘llab-quvvatlamaydi, shu sababli protokol sitemap va Search Console o‘rnini bosmaydi.
Protokol qanday ishlaydi
- Siz kalit yaratasiz — lotin harflari, raqamlar va chiziqchalardan iborat 8 dan 128 belgigacha bo‘lgan satr.
- Kalitni domeningizdagi matn faylida, odatda ildizda joylashtirasiz:
https://example.com/<key>.txt. Faylda faqat kalitning o‘zi bo‘ladi. - Kontent o‘zgarganda sayt URL lar va kalit bilan so‘rov yuboradi.
- Qidiruv tizimi kalit faylini yuklab, sayt sizniki ekanini tekshiradi va manzillarni skanerlash navbatiga qo‘yadi.
Xabarnoma — bu buyruq emas, ishora. Sahifani skanerlash va indeksga qo‘shish haqidagi qaror qidiruv tizimida qoladi.
Kalit faylini sozlash
- Tasodifiy kalit yarating va uni sayt ildizida
<key>.txtsifatida saqlang. - Fayl HTTPS orqali ochilishini, 200 kodini qaytarishini va kalitni oddiy matn sifatida berishini tekshiring.
- Agar faylni ildizga qo‘yib bo‘lmasa, uni o‘sha hostning boshqa joyiga joylashtiring va manzilini
keyLocationparametrida uzating. Bunda faqat shu yo‘l ichidagi URL larni yuborish mumkin.
Next.js da eng oson yo‘l — faylni public papkasiga qo‘yish, shunda u ildizdan ochiladi.
URL larni yuborish
Bitta manzil uchun GET so‘rovi yetarli:
curl "https://api.indexnow.org/indexnow?url=https://example.com/blog/new-post&key=YOUR_KEY"
Bir nechta manzil uchun — JSON bilan POST:
curl -X POST "https://api.indexnow.org/indexnow" \
-H "Content-Type: application/json; charset=utf-8" \
-d "{\"host\":\"example.com\",\"key\":\"YOUR_KEY\",\"urlList\":[\"https://example.com/blog/a\",\"https://example.com/blog/b\"]}"
Bitta so‘rovdagi barcha URL lar bitta hostga tegishli bo‘lishi kerak.
CMS dan
Ko‘plab CMS larda IndexNow uchun plaginlar yoki ichki sozlamalar bor. Xabarnomalar qoralamalar, oldindan ko‘rish va xizmat manzillari uchun emas, faqat nashr etilgan sahifalar uchun yuborilishini tekshiring.
Next.js saytidan
Xabarnomani nashrdan keyin serverda yuboring — masalan, CMS webhook chaqiradigan route handler ichida:
export async function notifyIndexNow(urls: string[]) {
await fetch("https://api.indexnow.org/indexnow", {
method: "POST",
headers: { "Content-Type": "application/json; charset=utf-8" },
body: JSON.stringify({
host: "example.com",
key: process.env.INDEXNOW_KEY,
urlList: urls,
}),
});
}
Funksiyani faqat kontent haqiqatan o‘zgarganda chaqiring. Har bir deployda butun saytni yubormang.
Javob kodlari
| Kod | Ma’nosi |
|---|---|
| 200 | URL lar qabul qilindi |
| 202 | Qabul qilindi, kalit hali tekshirilmoqda |
| 400 | So‘rov formati noto‘g‘ri |
| 403 | Kalit yaroqsiz yoki kalit fayli topilmadi |
| 422 | URL lar hostga tegishli emas yoki kalit mos kelmaydi |
| 429 | So‘rovlar juda ko‘p, chastotani kamaytirish kerak |
Nega Google uchun sitemap kerak
Google sahifalarni havolalar, sitemap va Search Console orqali topadi. IndexNow xabarnomalari unga yetib bormaydi. Shuning uchun asosiy narsalar majburiyligicha qoladi:
- to‘g‘ri
lastmodsanalari bilan dolzarb XML sayt xaritasi; - sitemap ni Search Console va Yandex Webmaster ga yuborish;
- mavjud sahifalardan yangi sahifalarga havolalar.
IndexNow bu sxemani Bing va Yandex uchun to‘ldiradi. U past sifat yoki dublikatlar sababli qidiruv tizimi indekslashni istamagan sahifalarga ham yordam bermaydi.