indexnow — Claude Code skill: what it does, how to install
A skill that takes an agent through IndexNow setup: key, verification file, single or batch URL submission, and a call from the build pipeline.
npx skills add kostja94/marketing-skills --skill indexnow -a claude-codeWhat indexnow does
This skill covers wiring IndexNow into a site, so a publish can ping the engine that listens instead of waiting for a crawl to come around. Bing is the main consumer; Yandex accepts the protocol as well.
Setup begins with a key, usually a UUID, and a text file at https://example.com/{key}.txt holding that exact string. A mismatch between key and file kills the submission. After that the agent chooses between one URL and a batch, and can put the call into CI — the pattern shown is npm run build with npm run indexnow:all after it. Verification status gets checked in Bing Webmaster Tools, and intermittent network failures are worth a retry.
A second hardcoded address list is the thing this skill tells you not to build. It drifts from the sitemap, and pages silently drop out of submission. Pull the URLs from the same config that feeds sitemap generation, such as site-pages-config.ts. Google ignores IndexNow completely, so a Google-facing plan still runs through a sitemap and Search Console.
What it helps with
- verify a domain with an IndexNow key file
- push a batch of URLs right after a deploy
- add URL submission to a CI pipeline
- keep the submitted list in sync with the sitemap config
- debug a domain that fails verification
Example prompts for the agent
- Set up IndexNow for the site, generate the key and drop the verification file at the root.
- Submit every page that changed since the last deploy to IndexNow.
- Add
npm run indexnow:allto the pipeline after the build step.
How to install indexnow
1Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill indexnow -a claude-code2Manually: put the files in place
~/.claude/skills/indexnow/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/indexnow/
1Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill indexnow -a codex2Manually: put the files in place
.agents/skills/indexnow/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill indexnow -a cursor2Manually: put the files in place
.cursor/skills/indexnow/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install kostja94/marketing-skills indexnow2Manually: put the files in place
.github/skills/indexnow/SKILL.md1Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill indexnow -a gemini-cli2Platform CLI
gemini skills install https://github.com/kostja94/marketing-skills --path skills/seo/technical/indexnowManually: put the files in place
.devin/skills/indexnow/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add kostja94/marketing-skills --skill indexnow -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about indexnow
How do I install indexnow in Claude Code?
Run npx skills add kostja94/marketing-skills --skill indexnow -a claude-code. The skill lands at ~/.claude/skills/indexnow/SKILL.md.
What does indexnow do?
It guides an agent through the IndexNow protocol: key generation, verification file, single or batch submission, CI hookup. It also flags the cases where submitting is pointless, like minor edits.
Does IndexNow work with Google?
No. Google does not take part in IndexNow, so the skill points you at a sitemap and Search Console there; the protocol covers Bing and Yandex.
Source text
SKILL.md · MIT
---
name: indexnow
description: When the user wants to implement IndexNow, notify search engines of new/updated URLs, or speed up Bing indexing. Also use when the user mentions "IndexNow," "Bing indexing," "URL notification," "instant indexing," "sitemap IndexNow sync," "share URL list with sitemap," or "IndexNow API." For sitemap SSOT, use xml-sitemap.
metadata:
version: 1.0.1
---
# SEO Technical: IndexNow
Guides IndexNow protocol integration for faster search engine indexing (primarily Bing).
**When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output.
## Scope (Technical SEO)
- **IndexNow**: Submit URLs to Bing/Yandex for faster indexing
- **URL notification**: Notify search engines of new or updated URLs
## Initial Assessment
**Project context:** Read root `contextus.md` when present and load only the modules relevant to this task. Without Contextus, use available project material or user-provided facts and ask for missing information; do not create a parallel context system.
Identify:
1. **Site URL**: Base domain
2. **URL source**: Config file, sitemap, CMS, etc.
3. **Deployment**: CI/CD, manual, or both
## Overview
IndexNow notifies search engines (mainly Bing) of new or updated URLs to speed up indexing.
## Implementation Steps
### 1. API Key and Verification
- Generate API key (e.g., UUID)
- Create verification file: `https://example.com/{key}.txt`
- File content: the API key string
- Configure key and URL in your IndexNow client
### 2. Submission Methods
| Method | When to use |
|--------|-------------|
| **Single URL** | New or updated page |
| **Batch** | Many URLs at once (e.g., after deploy) |
| **Relative paths** | Convert to full URLs before submitting |
### 3. Best Practices
| Practice | Note |
|----------|------|
| **When to submit** | New pages, major content updates, meta changes |
| **When not to** | Minor edits; let natural crawling handle |
| **Frequency** | Once per deploy; avoid excessive submissions |
| **Priority** | Submit high-value commercial pages first |
### 4. CI/CD Integration
```bash
npm run build
npm run indexnow:all
```
### 5. Single Source of Truth (URL List)
- **Use same config as sitemap**: Import URL list from central config (e.g., `site-pages-config.ts`) or sitemap generation logic.
- **Avoid**: Separate hardcoded URL lists for IndexNow—leads to inconsistency and missed URLs.
- **Feed**: If you have RSS/feed, it can also consume from the same config to stay in sync.
## Supported Search Engines
- **Bing**: Primary support
- **Yandex**: Supports IndexNow
- **Google**: Does not use IndexNow; use Sitemap + Search Console
## Verification
- Check [Bing Webmaster Tools](https://www.bing.com/webmasters/indexnow) for indexing status
- Monitor submission logs for errors
## Common Issues
| Issue | Fix |
|-------|-----|
| Domain verification fails | Ensure URL uses correct domain |
| API key error | Verify key and verification file match |
| Network errors | Retry; API can be intermittent |
## Output Format
- **Setup steps**: Key generation, verification file
- **Submission flow**: Single vs. batch
- **Integration**: CI/CD or manual script
- **References**: [IndexNow docs](https://www.bing.com/indexnow/getstarted)
## Related Skills
- **xml-sitemap**: Share same URL list from central config
- **indexing**: Broader indexing strategy
© kostja94 · MIT · kostja94/marketing-skills