/install indexnow-setup
IndexNow Setup
Overview
IndexNow is a protocol that lets websites notify search engines about new, updated, or deleted URLs in real time. Instead of waiting for crawlers, you push URLs directly to api.indexnow.org, and participating search engines (Bing, Yandex, Seznam, Naver) pick them up.
Workflow
Step 1: Generate and place the key file
Generate a random 32-character hex key:
node -e "console.log(require('crypto').randomBytes(16).toString('hex'))"
Place a .txt file named \x3Ckey>.txt containing only the key string into the site's public root:
- Next.js App Router --
public/\x3Ckey>.txt - Next.js Pages Router --
public/\x3Ckey>.txt - Plain static site -- root directory (e.g.,
dist/orpublic/) - Vite / CRA --
public/\x3Ckey>.txt - Nuxt --
public/\x3Ckey>.txt
After deploy, the file must be accessible at https://\x3Cdomain>/\x3Ckey>.txt with a 200 response containing only the key string.
Step 2: Create the submission script
Copy scripts/submit-indexnow.mjs from this skill into the project (e.g., scripts/submit-indexnow.mjs).
If the project already has package.json, add an npm script:
"indexnow": "node scripts/submit-indexnow.mjs"
Or add a site_url and key pair inline:
"indexnow": "node scripts/submit-indexnow.mjs https://example.com abcd1234..."
Step 3: Ensure a sitemap exists
The script reads URLs from /sitemap.xml. Ensure the site generates a valid sitemap at that path. For Next.js App Router, this is typically app/sitemap.ts.
Step 4: Submit URLs
Run after every deploy or content update:
npm run indexnow
The script:
- Fetches
sitemap.xmlfrom the site - Extracts all
\x3Cloc>URLs - POSTs them to
https://api.indexnow.org/IndexNow
For non-Node projects, invoke the script directly:
node scripts/submit-indexnow.mjs https://example.com \x3Ckey>
Step 5: Verify
Use Bing Webmaster Tools to confirm URLs are being received. Check the URL inspection tool for submission history.
Environment Variables
The script accepts arguments or environment variables:
| Priority | Source |
|---|---|
| 1st | CLI args: node submit-indexnow.mjs \x3Curl> \x3Ckey> |
| 2nd | SITE_URL + INDEXNOW_KEY env vars |
HTTP Response Codes
| Status | Meaning |
|---|---|
| 200 | URLs submitted successfully |
| 400 | Invalid request format |
| 403 | Key not found or invalid |
| 422 | URLs don't belong to the host |
| 429 | Rate limited (spam protection) |
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install indexnow-setup - After installation, invoke the skill by name or use
/indexnow-setup - Provide required inputs per the skill's parameter spec and get structured output
What is IndexNow Setup?
Set up IndexNow for any website to enable real-time URL submission to Bing, Yandex, Seznam, and other search engines. Use when the user needs to (1) configur... It is an AI Agent Skill for Claude Code / OpenClaw, with 84 downloads so far.
How do I install IndexNow Setup?
Run "/install indexnow-setup" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is IndexNow Setup free?
Yes, IndexNow Setup is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does IndexNow Setup support?
IndexNow Setup is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created IndexNow Setup?
It is built and maintained by hejinhui (@tuyangtusenpo); the current version is v1.0.0.