You updated your pricing page an hour ago, but ChatGPT is still quoting last month's numbers. The gap is crawl latency: search engines discover changes on their own schedule, sometimes days later. IndexNow closes that gap by letting you push a notification the moment a URL changes, so Bing and Yandex re-crawl in minutes instead of days. Since Bing's index feeds ChatGPT's web browsing and Microsoft Copilot, faster indexing is a direct lever on how fresh your brand looks inside AI answers.
This guide walks through the full setup: generating a key, hosting the key file, submitting URLs by GET and POST, automating submission on publish, and verifying it actually worked.
Key takeaways
- IndexNow is an open protocol supported by Microsoft Bing and Yandex; one ping notifies every participating engine, and platforms like Cloudflare can submit on your behalf. - It matters for GEO because Bing's index backs ChatGPT web browsing and Microsoft Copilot, so getting fresh pages into Bing quickly improves your odds of being cited with current information. - Setup is three parts: generate a key (hex, 8–128 characters), host it at `https://yourdomain.com/<key>.txt`, then submit URLs to `https://api.indexnow.org/indexnow`. - IndexNow notifies Bing and Yandex, not Google, and it speeds up crawling — it does not guarantee indexing or instant appearance in any AI answer. - The real win comes from automating submission on every publish or update, then verifying with Bing Webmaster Tools.
Step 1: Generate your IndexNow key
Your key is a shared secret that proves you own the site. It must be a hexadecimal string (characters `a`–`f` and `0`–`9`) between 8 and 128 characters long.
Generate one from the command line:
- On macOS or Linux: `openssl rand -hex 16` - With Node: `node -e "console.log(require('crypto').randomBytes(16).toString('hex'))"`
You can also use the key generator inside Bing Webmaster Tools, which will create and register one for you. Save the value; you will reuse it everywhere. A typical key looks like `a1b2c3d4e5f60718293a4b5c6d7e8f90`.
Step 2: Host the key file
Search engines verify ownership by fetching a text file named after your key. Create a file whose name is `<your-key>.txt` and whose entire contents are the key itself, then place it at your site root:
- File: `a1b2c3d4e5f60718293a4b5c6d7e8f90.txt` - Contents: `a1b2c3d4e5f60718293a4b5c6d7e8f90` - Location: `https://yourdomain.com/a1b2c3d4e5f60718293a4b5c6d7e8f90.txt`
Confirm it is publicly reachable before going further:
`curl https://yourdomain.com/a1b2c3d4e5f60718293a4b5c6d7e8f90.txt`
The response body must be exactly the key, served with a `200` status and `text/plain`. If you prefer, you can host the key elsewhere on the domain and point to it with `keyLocation` in the POST payload, but the root path is simplest.



