IndexNow
IndexNow is the open push protocol that instantly tells Bing, Yandex, Naver, Seznam, and Yep when your URLs change — one submission, shared across all of them. How it works, how to set it up, and why it does nothing for Google.
1 evidence signal on this page
- Related live toolXML Sitemap Validator
IndexNow is a free, open push protocol from Microsoft Bing and Yandex (launched Oct 18, 2021; also Seznam, Naver, and Yep): you ping participating engines the instant a URL is added, updated, or deleted, and one submission is shared across all of them. Setup is a key file at your root plus a simple HTTP GET (one URL) or POST (up to 10,000). It speeds up discovery and recrawl — it doesn't guarantee indexing and it's not a ranking lever. Google does NOT use IndexNow: it said it would test the protocol in 2021 and never adopted it, so it does nothing for Google. Keep your sitemaps; IndexNow is additive, and the Google Indexing API is a separate, narrow tool.
Evidence for this claim IndexNow is a push protocol for notifying participating search engines that URLs were added, updated, or deleted; notification does not guarantee crawling or indexing. Scope: Current IndexNow protocol documentation. Confidence: high · Verified: IndexNow protocol documentation Evidence for this claim Participating engines share submitted IndexNow URLs; Google is not listed as a participating IndexNow search engine. Scope: Current IndexNow participant documentation, distinct from Google's narrow Indexing API. Confidence: high · Verified: IndexNow: Participating search enginesTL;DR — IndexNow is a way to tell search engines a page changed instead of waiting for them to find out. You ping it once and it reaches Bing, Yandex, Naver, Seznam, and Yep all at once. It’s quick to set up and free. The big catch: Google doesn’t use it, so it won’t help you in Google at all.
What IndexNow is
Normally, search engines find your new and updated pages on their own schedule — they follow links and re-crawl your site whenever they get around to it. IndexNow flips that around. Instead of waiting to be re-crawled, you send the search engine a quick message: “this page just changed, come look.” It works for pages you add, update, or delete.
The clever part is what Microsoft calls the shared ping: you submit a URL to one place, and it’s automatically passed along to every search engine that supports IndexNow. Right now that’s Bing, Yandex, Naver, Seznam, and Yep (the search engine built by Ahrefs). One submission, all of them notified.
The one thing you have to know
Google does not use IndexNow. Back in 2021 Google said it would test the idea, but it never actually adopted it. So if your goal is faster indexing in Google, IndexNow does nothing for you. It only helps on the engines that participate. A lot of people get this wrong, so it’s worth repeating: IndexNow is a Bing-and-friends tool, not a Google tool.
Does it help me rank better?
No. IndexNow speeds up discovery — how fast an engine notices your change. It doesn’t make your pages rank higher, and it doesn’t guarantee a page gets indexed. The engine still decides whether the page is worth keeping. Think of it as ringing the doorbell, not walking through the door.
Should you bother?
For most sites it’s a small, set-it-and-forget-it win — especially if you publish or update content often (news, product listings, press releases). And if you use Cloudflare, WordPress with Yoast or Rank Math, Wix, Shopify, or Ahrefs Site Audit, turning it on is basically one click — those tools ping IndexNow for you automatically. Just don’t expect it to do anything for Google, and don’t drop your XML sitemap, which is still how Google (and everyone else) discovers your pages at scale.
Want the protocol details — the key file, the API calls, the comparison to sitemaps and the Google Indexing API? Switch to the Advanced tab.
Evidence for this claim IndexNow is a push protocol for notifying participating search engines that URLs were added, updated, or deleted; notification does not guarantee crawling or indexing. Scope: Current IndexNow protocol documentation. Confidence: high · Verified: IndexNow protocol documentation Evidence for this claim Participating engines share submitted IndexNow URLs; Google is not listed as a participating IndexNow search engine. Scope: Current IndexNow participant documentation, distinct from Google's narrow Indexing API. Confidence: high · Verified: IndexNow: Participating search enginesTL;DR — IndexNow is an open push protocol (Microsoft Bing + Yandex, launched Oct 18, 2021; joined by Seznam, Naver, and Yep). You host a
{key}.txtfile at your root for verification, then notify engines on add/update/delete via a GET (one URL) or a JSON POST (≤10,000 URLs). The differentiator is the shared ping — submit once, reach every participant. It accelerates discovery and recrawl prioritization; it does not guarantee indexing and is not a ranking signal. Google does not use IndexNow — it said in Nov 2021 it would “be testing” the protocol and never adopted it, so it does nothing for Google. Keep your sitemaps; the Google Indexing API is a separate, narrow tool.
What IndexNow actually is
IndexNow is the push side of URL discovery. Most discovery is pull — engines follow links and read your sitemap on their own schedule. IndexNow lets you proactively tell participating engines that something changed so they can prioritize the (re)crawl. Bing’s own framing: “Whether you’re adding, updating, or deleting content, IndexNow notifies multiple search engines of your content changes as soon as they happen.”
It was launched October 18, 2021 by Microsoft Bing and Yandex, and it’s a free, open protocol — “a free, open-source protocol empowering website owners with unprecedented control over how quickly their content is discovered,” in Bing’s words. The protocol spec lives at indexnow.org.
Who participates (and who doesn’t)
Participating engines today: Bing, Yandex, Naver, Seznam.cz, and Yep (Ahrefs’ search engine) — that’s the list indexnow.org’s homepage credits as offering support. Because Bing powers a chunk of the AI-search ecosystem, feeding Bing’s index via IndexNow can also help visibility on Copilot, ChatGPT Search, and DuckDuckGo.
As of my July 2026 check, indexnow.org’s FAQ also lists a submission endpoint for
Amazon (indexnow.amazonbot.amazon) alongside Bing, Naver, Seznam.cz, and
Yandex — but the homepage’s own “support from” line hasn’t been updated to
include it. I’d treat Amazon’s participation as newly emerging rather than fully
confirmed until the site is internally consistent about it.
Participating also isn’t a promise to crawl or index what you send: indexnow.org’s own spec is explicit that engines “agree that submitted URLs will be automatically shared” with every other participant — sharing the ping, not committing to act on it.
Google is not on that list. More on that below — it’s the single most misunderstood thing about this protocol.
How it works
There are four moving parts: a key, a key file, the submission, and the shared ping.
1. Generate a key
A key is a hexadecimal string (the spec allows 8–128 characters: a–z, A–Z,
0–9, and dashes). It’s what ties your submissions to your domain. Bing:
“An API key is needed to match the ownership of the domain with submitted URLs.”
2. Host the key file (verification)
Place a UTF-8 text file named {your-key}.txt, containing the key, at your site
root (or another location you declare via keyLocation). Engines fetch it to
confirm you control the host before they accept anything. Bing: “Host your UTF-8
key file at the root of your website.” The indexnow.org spec: the key file is how
“search engines use this file to confirm domain ownership before accepting
IndexNow submissions.” This is the whole authentication model — there’s no OAuth,
no service account, just a file you can serve.
If you use a non-root keyLocation, its path also scopes which URLs that key
can cover — this is a detail people miss. Per the indexnow.org spec: “the
location of a key file determines the set of URLs that can be included with this
key.” A key file at example.com/catalog/key.txt can submit URLs under
/catalog/ but not under /help/. Root placement avoids this limit entirely,
which is why the spec calls it the “strongly recommended” option.
3. Submit URLs — GET (single) or POST (bulk)
For one URL, a plain HTTP GET is enough:
https://api.indexnow.org/indexnow?url={url-changed}&key={your-key}For many URLs, a single JSON POST carries up to 10,000 of them (“IndexNow supports bulk submission of up to 10,000 URLs per POST request.”):
{
"host": "www.example.org",
"key": "your-key",
"keyLocation": "https://www.example.org/your-key.txt",
"urlList": [
"https://www.example.org/url1",
"https://www.example.org/folder/url2"
]
}Beyond the 10,000-per-POST cap, indexnow.org doesn’t publish a fixed daily
URL quota — its FAQ says plainly that it “does not publicly disclose exact rate
limits, as each participating search engine sets its own daily submission
thresholds per site.” In practice, the only quota signal you’ll see is a 429
response, not a documented number to plan around.
The protocol’s documented response codes are worth knowing when you’re debugging:
200 OK (submitted successfully), 202 Accepted (received, but — per
indexnow.org’s spec — “IndexNow key validation pending”, which the FAQ says
typically shows up only on your first submission with a new key, before
subsequent requests settle back to 200), 400 (bad request / invalid format),
403 Forbidden (key not valid, or the file is found but the key isn’t in it),
422 (URLs don’t belong to the host, or the key schema doesn’t match), and 429
(too many requests — treated as potential spam). Bing’s own get-started page lists
the same set minus 202.
4. The shared ping — submit once, reach every participant
This is the feature that makes IndexNow worth the trouble. From the spec:
“Each endpoint sends your submission directly to its respective search engine, and
your submission will be shared across all IndexNow-enabled search engines.” You
can hit the global endpoint, api.indexnow.org, or any participant’s endpoint
(Bing’s, Yandex’s, etc.) — the effect is the same. One submission propagates to
all of them. You don’t maintain a separate integration per engine.
Does Google use IndexNow?
No. This is the part most pages on the web get wrong or leave vague, so I want to be exact about it.
Google’s only substantive public statement came in November 2021, to Search Engine Land. A Google spokesperson said: “We’re encouraged by work to make web crawling more efficient, and we will be testing the potential benefits of this protocol.” Note the framing — it’s about crawl efficiency and testing, not a commitment to adopt. Search Engine Journal reported the same statement the same day under a “will be testing” headline.
Years later, nothing has changed. Google never adopted IndexNow. Yoast, who build an official IndexNow-capable plugin, put Google’s stance plainly: “Google is not currently participating in this initiative, citing its very efficient crawling mechanism and its continued improvement.” Wikipedia’s entry likewise notes that as of 2022 Google had not officially adopted the protocol — and it still hasn’t.
So: submitting to IndexNow does nothing for Google indexing or rankings. Don’t
conflate this with Google’s separate crawl-efficiency work (Gary Illyes’ “crawl
less” push) — that’s about Google crawling its own way more efficiently, not about
adopting IndexNow as the mechanism. For Google, your discovery channels remain
links, sitemaps (with accurate lastmod), RSS/feeds, and WebSub — the push and
pull mechanisms I walk through on my How Search Works deck. IndexNow simply
isn’t one of them.
IndexNow vs sitemaps vs the Google Indexing API
People reach for IndexNow expecting it to replace something. It doesn’t. These are three different tools with three different jobs:
| IndexNow | XML Sitemaps | Google Indexing API | |
|---|---|---|---|
| Model | Push (notify on change) | Pull (engines crawl on schedule) | Push (notify Google) |
| Engines | Bing, Yandex, Naver, Seznam, Yep (shared) | All engines, incl. Google | Google only |
| Content scope | All content types | All content types | Only JobPosting + BroadcastEvent (livestream) |
| Speed | Near-instant on participants | Days to weeks to be discovered | Near-instant for eligible content |
| Limit | ≤10,000 URLs per POST (no published daily cap) | ≤50,000 URLs per file | ~200 publish requests/day (default) |
| Setup | Key file at root + HTTP | XML file referenced in robots.txt / GSC | Cloud project + service account |
| Google effect | None | Yes | Yes — but only the two allowed schema types |
The takeaways I’d want you to leave with:
- They’re complementary, not substitutes. Keep your sitemaps — that’s how Google and everyone else discovers you at scale. Use IndexNow to accelerate discovery on Bing/Yandex/Naver/Seznam/Yep.
- The Google Indexing API is not “Google’s IndexNow.” It’s officially limited to job postings and livestream video — “Google’s Indexing API officially only supports two content types,” as CrawlWP puts it. The “instant indexing” plugins that fire it at ordinary pages are off-policy.
- For Google, there is no public push API for ordinary pages. Sitemaps plus good crawl health is the path.
Benefits and limits
The efficiency story is the honest pitch. The canonical justification is Cloudflare’s observation that “53% of this crawler traffic is wasted” — engines re-crawling pages that didn’t change. IndexNow attacks exactly that waste by telling engines when to come back instead of making them guess. Bing frames the upside as helping “drive more relevant traffic to your site, improve search engine rankings, and lower crawl costs,” and in 2025 described IndexNow as “becoming foundational to the way search engines keep pace with web changes.”
Where it genuinely helps:
- Fast-changing or time-sensitive content — news, ecommerce inventory and pricing, press releases, anything where minutes matter on Bing.
- Bing-fed AI surfaces — Copilot, ChatGPT Search, DuckDuckGo all lean on Bing’s index.
Where it doesn’t:
- Google — zero effect, full stop.
- Rankings — it speeds discovery, not position. Faster crawling ≠ higher ranking.
- Guaranteed indexing — it’s a prioritization signal; the engine still decides whether and when to index.
Adoption has grown fast — Bing reported “more than 16 million web sites… publishing over 1.2 billion URLs per day” in August 2022, and “3.5 billion URLs submitted per day” by December 2024, with adopters including Shopify, GoDaddy, the Internet Archive, and Condé Nast. (Any larger 2026 figures you see floating around are secondary-sourced; I’d treat them as estimates until Bing publishes a fresh number.)
How to set it up (you probably won’t write code)
Most people never touch the raw API — a platform does it for you:
- Cloudflare — one click. Enable Crawler Hints (Cache → Configuration) and “Cloudflare will take care of signaling to these search engines when your content has changed via the IndexNow protocol.” This was the first big one-click integration, shipped on launch day.
- WordPress — Yoast SEO Premium (it “will ping IndexNow whenever you publish or update your content”), Rank Math, All in One SEO, or Microsoft’s official IndexNow plugin.
- Wix, Duda, Shopify — built-in support.
- Bing Webmaster Tools — manual URL submission tied to IndexNow, plus the IndexNow Insights report.
- Ahrefs Site Audit — the integration I built (see the Tools tab). Generate a key in the crawl config, drop it in the key file, and submit the pages Site Audit flags as changed, redirected, or removed.
If you are rolling your own, see the Scripts tab for the actual GET and POST calls and the key-file setup.
Common myths
- “IndexNow gets you indexed in Google / boosts Google rankings.” False. Google doesn’t consume IndexNow.
- “Faster indexing means higher rankings.” False. IndexNow speeds discovery; ranking still depends on the usual factors.
- “Google is about to adopt it.” Not supported. It tested it in 2021 and never adopted it; its later crawl-efficiency work is unrelated.
- “IndexNow replaces sitemaps.” False. Sitemaps remain essential, especially for Google. IndexNow is additive.
- “The Indexing API is Google’s IndexNow for any page.” False —
JobPosting+BroadcastEventonly. - “It guarantees indexing.” False. It’s a prioritization signal.
Where this sits in the bigger picture
IndexNow is the cross-engine push analog of the feed mechanisms Google uses (RSS, WebSub) — same idea (“tell me what changed”), different participants. It lives in the getting-pages-discovered-faster corner of crawling, alongside the Google Indexing API. For the full pipeline — how discovery, crawling, rendering, and indexing fit together — see the Crawling hub and the How Search Works cluster page.
AI summary
A condensed take on the Advanced version:
- IndexNow = an open push protocol (Microsoft Bing + Yandex, launched Oct 18, 2021; also Seznam, Naver, Yep). You notify engines the instant a URL is added, updated, or deleted instead of waiting to be re-crawled.
- The shared ping is the differentiator: submit once (to
api.indexnow.orgor any participant) and it propagates to all participating engines. - Setup: generate a key → host
{key}.txtat your root for verification → GET (one URL) or JSON POST (≤10,000 URLs, no published daily cap). A non-rootkeyLocationalso limits which URL paths that key can submit. indexnow.org’s spec documents response codes 200/202/400/403/422/429 —202just means your first submission’s key is still verifying. - Google does NOT use it. Google said in Nov 2021 it would “be testing the potential benefits of this protocol” and never adopted it — IndexNow does nothing for Google indexing or rankings.
- It accelerates discovery, not ranking, and doesn’t guarantee indexing — it’s a prioritization signal on participating engines (which also feed Bing-powered AI surfaces like Copilot, ChatGPT Search, DuckDuckGo).
- Complementary to sitemaps; the Google Indexing API is a separate, narrow tool
(
JobPosting+BroadcastEventonly). - Easy to enable via Cloudflare (Crawler Hints), Yoast/Rank Math/AIOSEO, Wix/Duda/Shopify, Bing Webmaster Tools, or Ahrefs Site Audit.
Official documentation
Primary-source documentation for the protocol and its biggest backer.
The protocol
- indexnow.org / Documentation / FAQ — the spec: key-file verification (including how a non-root
keyLocationscopes submittable URLs), the GET/POST endpoints, the 10,000-URL POST limit, the full200–429response-code table, and the shared-ping behavior.
Bing / Microsoft
- Why IndexNow — Bing’s overview and the benefits framing.
- How to add IndexNow to your website (get started) — the technical walkthrough: key generation, hosting the key file, the POST JSON structure, and the response codes.
- IndexNow adoption gains momentum (Fabrice Canel, Aug 2022) — the 2022 adoption numbers.
- Look How Far We’ve Come: IndexNow Expands Adoption Across Industries (Dec 2024) — the 3.5B-URLs/day milestone and new adopters.
- IndexNow Drives Smarter and Faster Content Discovery (Canel & Madhavan, May 2025).
- Cloudflare Supports IndexNow via one-click Integration — the CDN one-click story.
Cloudflare
- Crawler Hints Update: Cloudflare Supports IndexNow (Oct 18, 2021) — the one-click integration and the “53% of crawler traffic is wasted” stat.
Quotes from the source
On-the-record statements from the protocol, Bing/Microsoft, Cloudflare, and Google. Each link is a deep link that jumps to the quoted passage.
The protocol — indexnow.org
- “This key proves ownership of your domain and authenticates your submissions so search engines know they’re coming from an authorized source.” Jump to quote
- “…confirm domain ownership before accepting IndexNow submissions.” Jump to quote
- “IndexNow supports bulk submission of up to 10,000 URLs per POST request.” Jump to quote
- “…your submission will be shared across all IndexNow-enabled search engines.” Jump to quote
- “…agree that submitted URLs will be automatically shared with all other participating search engines.” — the participation requirement; sharing the ping is the commitment, not crawling or indexing it. Jump to quote
- “…the location of a key file determines the set of URLs that can be included with this key.” — why a non-root
keyLocationscopes what you can submit. Jump to quote - ”…IndexNow key validation pending.” — what a
202on your first submission means. Jump to quote - “…does not publicly disclose exact rate limits, as each participating search engine sets its own daily submission thresholds per site.” Jump to quote
Bing / Microsoft
- “IndexNow is a free, open-source protocol empowering website owners with unprecedented control over how quickly their content is discovered and displayed in search results.” — Bing Webmaster Tools, Why IndexNow. Jump to quote
- “Whether you’re adding, updating, or deleting content, IndexNow notifies multiple search engines of your content changes as soon as they happen.” — Bing Webmaster Tools, Why IndexNow.
- “An API key is needed to match the ownership of the domain with submitted URLs.” — Bing Webmaster Tools, Get started. Jump to quote
- “By allowing websites to instantly notify search engines of new, changed, and deleted content, IndexNow accelerates indexing and reduces reliance on traditional crawl schedules.” … “IndexNow is becoming foundational to the way search engines keep pace with web changes.” — Fabrice Canel & Krishna Madhavan, Microsoft AI/Bing, May 19, 2025.
Cloudflare
- “Cloudflare will take care of signaling to these search engines when your content has changed via the IndexNow protocol.”
- “Our observation suggests that 53% of this crawler traffic is wasted.” — Cloudflare, Crawler Hints Update, Oct 18, 2021.
Google — the “testing” statement (and why it matters)
- “We’re encouraged by work to make web crawling more efficient, and we will be testing the potential benefits of this protocol.” — Google spokesperson, Nov 9, 2021, via Search Engine Land (and reported identically by Search Engine Journal). This is Google’s only substantive public statement on IndexNow — note it’s about testing, not adopting. Read the coverage
- “Google is not currently participating in this initiative, citing its very efficient crawling mechanism and its continued improvement.” — Yoast, summarizing Google’s stance. Jump to quote
Set up IndexNow — checklist
A one-time setup, then it runs on every content change:
- Generate a key — a hex string of 8–128 chars (
a–z,A–Z,0–9, dashes). Most plugins/CDNs generate one for you. - Host the key file — upload
{your-key}.txt(UTF-8, containing the key) to your site root, e.g.https://example.com/{your-key}.txt. Confirm it returns200and shows the key. If you host it anywhere other than the root, that path also caps which URLs the key can submit — root avoids the limit. - Pick how you’ll submit — a platform integration (Cloudflare, Yoast, Rank Math, Wix, Shopify, Ahrefs Site Audit, Bing Webmaster Tools) or your own API calls.
- Submit on add — ping new URLs as you publish.
- Submit on update — ping URLs when their content meaningfully changes.
- Submit on delete / redirect — ping removed or redirected URLs so engines drop the stale version faster.
- Verify it’s working — check the IndexNow / IndexNow Insights report in
Bing Webmaster Tools and watch for non-
200responses. - Keep your sitemap — IndexNow is additive; don’t remove your XML sitemap (it’s still how Google discovers you).
- Set expectations — remember this affects Bing/Yandex/Naver/Seznam/Yep, not Google, and it speeds discovery, not rankings.
The mental models
1. Push vs pull discovery. Discovery happens two ways. Pull: engines come to you on their own schedule — links and sitemaps. Push: you go to them the moment something changes — IndexNow (cross-engine), the Google Indexing API (Google, narrow), and feed mechanisms like RSS/WebSub. IndexNow is the cross-engine push channel. If a changed page isn’t being picked up fast enough on Bing, push is the lever.
2. Submit once, reach all (the shared ping).
You don’t integrate per engine. One submission to any participant endpoint (or
api.indexnow.org) fans out to every IndexNow-enabled engine. Build the
integration once; the network does the distribution.
3. The three jobs, three tools rule.
- Sitemaps = baseline pull discovery for everyone, including Google. Never drop them.
- IndexNow = push acceleration for Bing, Yandex, Naver, Seznam, Yep.
- Google Indexing API = push for Google, but only
JobPosting+BroadcastEvent. Use all three for what each is actually for — none replaces another.
4. Discovery ≠ indexing ≠ ranking. IndexNow moves the discovery needle on participating engines. It doesn’t guarantee the page gets indexed, and it never affects ranking. If the goal is “rank better,” IndexNow isn’t the tool; if it’s “get my fresh content noticed on Bing fast,” it is.
Submit URLs to IndexNow
Once your key file is live at the root, submitting is a single HTTP request. The shared ping means one call reaches every participating engine.
Single URL (GET)
curl "https://api.indexnow.org/indexnow?url=https://www.example.com/changed-page&key=YOUR_KEY" A 200 OK means it was accepted. On your first submission with a new key you may
see a 202 instead — the URL was received but the key is still being verified;
later submissions typically return 200. Other codes: 400 (bad request), 403
(key not valid, or the file is found but the key isn’t in it), 422 (URLs don’t
belong to the host, or key mismatch), 429 (rate-limited / treated as spam).
Up to 10,000 URLs (JSON POST)
curl -X POST "https://api.indexnow.org/indexnow" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"host": "www.example.com",
"key": "YOUR_KEY",
"keyLocation": "https://www.example.com/YOUR_KEY.txt",
"urlList": [
"https://www.example.com/url1",
"https://www.example.com/folder/url2"
]
}'Submit only URLs that actually changed (added, updated, deleted/redirected) — that
respects the protocol’s intent and avoids 429 spam handling.
Set up the key file (verification)
The whole auth model is a text file at your root. Generate a key, then serve it.
Generate a key (hex string)
# 32-char lowercase hex key — within the 8–128 char spec (a–z A–Z 0–9 and dashes)
openssl rand -hex 16
# → e.g. 9f8c2a1b4d6e0f37a5c9b8d2e1f04736Create and host the key file
KEY="9f8c2a1b4d6e0f37a5c9b8d2e1f04736"
printf '%s' "$KEY" > "${KEY}.txt"
# Deploy ${KEY}.txt to your web root so it's reachable at:
# https://www.example.com/9f8c2a1b4d6e0f37a5c9b8d2e1f04736.txtConfirm it’s reachable
curl -i "https://www.example.com/${KEY}.txt"
# Expect: HTTP/2 200 and a body equal to the keyEngines fetch this file to confirm you control the host before accepting any
submission. If you host it somewhere other than the root, point to it with
keyLocation in your POST body — but note that a non-root keyLocation also
scopes which URLs that key can submit (a key file at /catalog/key.txt only
covers URLs under /catalog/). Root placement avoids that limit.
Patrick's relevant free tools
- IndexNow Submitter — Validate and explicitly submit a same-host URL list to IndexNow; Google does not use IndexNow.
- robots.txt Tester — Test pages against bots with a matcher ported from Google's open-source robots.txt parser — a blocked/allowed matrix with the exact winning rule per cell, file lint, sitemap-conflict detection, a diff mode for proposed changes, and a separate live robots.txt fetch for each entered origin.
- XML Sitemap Validator — Paste, upload, or fetch a sitemap by URL — errors, warnings, and a health score with line numbers. Pasted and uploaded sitemaps are validated entirely in your browser.
Tools to set up and monitor IndexNow
- Cloudflare — Crawler Hints — the simplest on-ramp. Flip it on in Cache → Configuration and Cloudflare pings IndexNow for you whenever your content changes. Free, no key management.
- WordPress plugins — Yoast SEO Premium (auto-pings on publish/update), Rank Math, All in One SEO, and Microsoft’s official IndexNow plugin.
- Wix / Duda / Shopify — built-in IndexNow support for hosted platforms.
- Bing Webmaster Tools — manual URL submission tied to IndexNow plus the IndexNow Insights report to see what’s being submitted and accepted.
- Ahrefs Site Audit — IndexNow integration — the one I built. Generate an API key in the crawl config, paste it into your root key file, then open the “Pages to submit to IndexNow” issue — it surfaces pages with content changes, redirects, or removed URLs — and submit them (or pick your own). Because Yep is Ahrefs’ participating search engine, the same submissions also feed Ahrefs’ own index.
- Roll your own — see the Scripts tab for the GET/POST calls and key-file setup if you’d rather hit the API directly.
Resources worth your time
My related writing & work
- Ahrefs’ IndexNow integration (IndexNow, Yep & Ahrefs) — the integration I built into Site Audit, and how Yep (Ahrefs’ search engine) gets data from IndexNow too.
- The Beginner’s Guide to Technical SEO — where discovery and crawling fit in the bigger picture.
My speaking
- How Search Works (SlideShare) — my walkthrough of URL discovery, including the push/feed mechanisms (RSS, WebSub) Google actually uses — useful context for why IndexNow is not one of them. (My standing disclaimer applies: “This is my understanding of systems… not going to be 100% complete or accurate.”)
The protocol & official backers
- indexnow.org — the spec and FAQ.
- bing.com/indexnow — Bing’s overview and getting-started guide.
From others
- Yoast — IndexNow: What it is and how it benefits you — clear, plugin-focused, and honest about Google’s non-adoption.
- SEJ — IndexNow Celebrates Two Years With 1.4 Billion URLs Submitted Daily — adoption context.
- CrawlWP — IndexNow vs Google Indexing API vs Sitemaps — the comparison, including the Indexing API’s two-content-type limit.
- Wikipedia — IndexNow — history, timeline, and participants.
- Search Engine Land — Google is testing the IndexNow protocol for sustainability — the primary source for Google’s Nov 2021 “we will be testing” statement; useful for understanding the original framing.
- Search Engine Journal — Everything We Know About IndexNow So Far — comprehensive early explainer covering launch details, how the shared ping works, and integration options.
- Search Engine Land — Bing Webmaster Tools gains new IndexNow Insights report — covers the IndexNow Insights report in Bing Webmaster Tools and what it shows.
- Search Engine Roundtable — Fabrice Canel on Sitemaps & the next big thing in search (vlog #234) — Bing’s principal IndexNow PM discusses the protocol’s role alongside sitemaps.
- r/TechSEO — the community for crawl/index/discovery debugging.
Common IndexNow issues
Symptom → likely cause → fix, based on the response codes Bing documents.
Submission returns 403 Forbidden
- Cause 1: the key file isn’t reachable at the root (or the
keyLocationyou declared). - Cause 2: the key file is reachable, but its contents don’t match the
keyyou submitted. - Fix:
curl -i "https://www.example.com/{your-key}.txt"and confirm you get200with a body that’s exactly the key, no extra whitespace or HTML wrapper. Re-upload if the file is missing or the content is wrong.
Submission returns 422
- Cause: the URLs in
urlListdon’t belong to thehostyou declared, or the key doesn’t match the host/schema you’re submitting for. If you’re using a non-rootkeyLocation, this also fires when a submitted URL falls outside the key file’s own path — a key hosted at/catalog/key.txtcan’t cover URLs under/help/. - Fix: check that every URL in the payload shares the same host as
host(and protocol —https://www.example.comvsexample.comwithoutwwware different hosts). One key file covers one host (and, for non-root placement, one path prefix); submit each subdomain’s URLs with that subdomain’s own key.
First submission with a new key returns 202 instead of 200
- Cause: not an error.
202means the URL was received but the search engine is still verifying the key against your key file. - Fix: nothing to do — resend later or just wait; subsequent submissions with
the same, now-verified key typically return
200.
Submission returns 400
- Cause: malformed request — bad JSON, missing required field (
host,key,urlList), or a key outside the 8–128 char hex/dash spec. - Fix: validate the JSON body and the key format before sending. For the GET form, confirm the URL is properly encoded.
Submission returns 429
- Cause: too many requests in a short window — treated as potential spam.
- Fix: only submit URLs that actually changed (added/updated/deleted), batch them into fewer POSTs instead of one GET per URL, and back off before retrying.
You submitted successfully but Google still hasn’t indexed the page
- Cause: this isn’t an IndexNow problem — Google doesn’t consume IndexNow at
all. A
200from IndexNow only confirms Bing/Yandex/Naver/Seznam/Yep accepted the ping. - Fix: for Google, check your XML sitemap and use GSC’s URL Inspection / Sitemaps report — see the site’s Sitemap Validator and Google Search Console CSV Analyzer tools instead.
Pages aren’t showing up faster on Bing despite 200 responses
- Cause: IndexNow is a prioritization signal, not a guarantee — Bing still decides whether and when to (re)crawl and index.
- Fix: confirm the submissions are landing at all via Bing Webmaster Tools’ IndexNow Insights report. If they’re accepted but pages still aren’t updating, the issue is likely crawl/index eligibility (thin content, noindex, blocked by robots.txt), not the push itself.
IndexNow quick reference
Participants
| Engine | Supports IndexNow? |
|---|---|
| Bing | Yes (co-launched, Oct 18, 2021) |
| Yandex | Yes (co-launched, Oct 18, 2021) |
| Naver | Yes |
| Seznam.cz | Yes |
| Yep (Ahrefs) | Yes |
| Amazon | Listed as a submission endpoint on indexnow.org’s FAQ as of Jul 2026 — not yet named on the homepage’s own summary line |
| No — tested in 2021, never adopted |
Endpoints and limits
| Value | |
|---|---|
| GET endpoint | https://api.indexnow.org/indexnow?url={url}&key={key} |
| POST endpoint | https://api.indexnow.org/indexnow |
| Bulk limit | ≤10,000 URLs per POST |
| Key length | 8–128 chars, hex (a–z, A–Z, 0–9) + dashes |
| Key file | {key}.txt, UTF-8, at site root (or declared keyLocation) |
Response codes
| Code | Meaning |
|---|---|
200 | Accepted |
202 | Received, key validation pending (typically first submission only) |
400 | Bad request / malformed |
403 | Key invalid, or key file doesn’t contain the key |
422 | URLs don’t belong to the host, or key/schema mismatch |
429 | Rate-limited — treated as potential spam |
Who to ping vs what it does
| Tool | Push/Pull | Reaches Google? |
|---|---|---|
| IndexNow | Push | No |
| XML Sitemap | Pull | Yes |
| Google Indexing API | Push | Yes — JobPosting/BroadcastEvent only |
One-click integrations: Cloudflare (Crawler Hints), Yoast SEO Premium, Rank Math, All in One SEO, Wix, Duda, Shopify, Bing Webmaster Tools, Ahrefs Site Audit.
Verify IndexNow is actually working
Proof points for each step of the setup, from key file to confirmed submission.
Key file is live and correct
- Test to run:
curl -i "https://www.example.com/{your-key}.txt" - Expected result:
HTTP/2 200with a response body that’s exactly the key string, nothing else. - Failure interpretation: a non-
200means the file isn’t deployed or isn’t at the declared location; a body that doesn’t match the key means the wrong file got uploaded. - Monitoring window: immediate.
- Rollback trigger: re-upload the correct file if the check fails; don’t submit
URLs until this passes, or every submission will
403.
Submission is accepted
- Test to run: submit one known URL via the GET endpoint (see the Scripts tab) and read the HTTP status returned.
- Expected result:
200 OK(or202 Acceptedif it’s your first submission with a new key — that’s normal, not a failure, and later submissions should settle to200). - Failure interpretation:
403= key/key-file mismatch;422= URL/host mismatch (or akeyLocationwhose path doesn’t cover this URL);429= rate-limited, back off;400= malformed request. - Monitoring window: immediate — the response comes back synchronously.
- Rollback trigger: fix the specific cause per the response code (see the Common Issues tab) and resubmit.
Engine actually received and processed submissions
- Test to run: check the IndexNow Insights report in Bing Webmaster Tools.
- Expected result: submitted URLs listed with an accepted status, matching what you sent.
- Failure interpretation: URLs missing from the report despite
200responses suggests a submission you think went out didn’t (check your integration’s logs — Cloudflare, Yoast, etc.). - Monitoring window: allow a few hours to a day for the report to reflect recent submissions.
- Rollback trigger: re-verify the key file and resend if a batch is consistently missing from the report.
Bing actually (re)crawled the changed page
- Test to run: check your server logs (or a Log File Analyzer run, see the
site’s Log File Analyzer) for a
bingbothit on the submitted URL after the ping. - Expected result: a bingbot request to the URL within hours of the accepted IndexNow submission — faster than its normal recrawl cadence for that page.
- Failure interpretation: no bingbot hit after a reasonable window means the submission was accepted but not yet prioritized, or the URL is blocked (robots.txt, noindex) from being crawled at all.
- Monitoring window: hours to a couple of days.
- Rollback trigger: none — this is a discovery signal, not a lever you can force; if crawling still doesn’t follow, check for a blocking issue instead.
Confirming this changes nothing for Google (sanity check)
- Test to run: compare Google’s crawl/index timing for a submitted URL (via GSC’s URL Inspection or Crawl Stats) against a control page you did not submit to IndexNow.
- Expected result: no measurable difference — Google’s behavior is unaffected by IndexNow submissions either way.
- Failure interpretation: if you do see a correlation, it’s coincidental (normal crawl variance), not causal — Google does not consume IndexNow.
- Monitoring window: several days to a normal crawl cycle.
- Rollback trigger: none — this test exists to confirm expectations, not to drive a change.
Test yourself: IndexNow
Five quick questions on what IndexNow is, how it works, and where its limits are.
IndexNow
IndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it.
Related: Crawling, Crawl frequency
IndexNow
IndexNow is a free, open push protocol that lets a website notify participating search engines the moment URLs are added, updated, or deleted, so those engines can prioritize (re)crawling instead of waiting to rediscover the changes on their own schedule. It was launched on October 18, 2021 by Microsoft Bing and Yandex.
The headline feature is the shared ping: you submit a URL to one participating endpoint and it’s automatically propagated to every other IndexNow-enabled engine. Participating engines today are Microsoft Bing, Yandex, Seznam.cz, Naver, and Yep (Ahrefs’ search engine). Setup is deliberately simple — you generate a key, host a {key}.txt file at your site root so engines can verify you control the host, then submit URLs with a GET request (one URL) or a JSON POST (up to 10,000 URLs at once).
Two things to keep straight:
- Google does not use IndexNow. Google said in November 2021 that it would test the protocol, but it has never adopted it. Submitting to IndexNow does nothing for Google indexing or rankings — Google still discovers your pages through links, sitemaps, and feeds.
- IndexNow accelerates discovery, not ranking. It signals interest in crawling on participating engines; it doesn’t guarantee indexing, and faster crawling is not a ranking lever.
IndexNow is complementary to XML sitemaps (which every engine, including Google, reads) and is a different thing from Google’s Indexing API (Google-only, and officially limited to JobPosting and BroadcastEvent content).
Related: Crawling, Crawl frequency
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Revision history
Compare the published article with an archived editorial snapshot. Added and removed words are shown only after you open a comparison.
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Re-verified the protocol spec directly against indexnow.org and added mechanics the article was missing: the HTTP 202 response code (key-still-verifying, first submission only), how a non-root keyLocation scopes which URLs a key can submit, confirmation that IndexNow publishes no fixed daily URL quota, and a newly-listed (unconfirmed-on-homepage) Amazon submission endpoint.
Change details
- Before
Response codes documented as 200/400/403/422/429, attributed to Bing's get-started page.AfterAdded HTTP 202 (key validation pending on first submission) to the response-code list everywhere it's documented (Advanced, Scripts, Cheat Sheets, Troubleshooting, Validation Tests), sourced to indexnow.org's own documentation and FAQ, which is the fuller spec-level list. -
Documented that a non-root keyLocation scopes which URL paths a key can submit (a key at /catalog/key.txt only covers /catalog/), per indexnow.org's documentation page — added to Advanced, Scripts, Checklists, and Troubleshooting.
-
Added that indexnow.org's FAQ states it does not publicly disclose a fixed daily submission quota (only the 10,000-per-POST limit is documented), clarifying the comparison table and Advanced section.
-
Noted that indexnow.org's FAQ now lists an Amazon (Amazonbot) submission endpoint alongside Bing/Naver/Seznam.cz/Yandex, while flagging that the site's own homepage summary hasn't been updated to match — added to the Who Participates section and the Cheat Sheets participants table.
Full comparison unavailable — no prior snapshot was archived for this revision.