IndexNow
Product
Traditional search indexing is a pull model. Search engine crawlers decide when to visit your site, based on crawl budgets, link discovery, and signals about how frequently your content changes. If you publish something today, it might get indexed in a few hours or a few weeks. You have no direct control over that timeline.
IndexNow changes the model. Instead of waiting for crawlers to discover your content, you push a notification to the search engine directly: “These URLs have changed. Come get them.”
How IndexNow Works
The protocol is simple. You generate an API key, host a text file with that key on your site (at yourdomain.com/{key}.txt), and then submit URLs via a POST request to the IndexNow endpoint. The request includes your key, your host, and a list of URLs to index.
The search engine verifies the key by checking that the hosted file matches, then queues the submitted URLs for crawling. The crawl still has to happen — IndexNow doesn’t bypass it — but the prioritization changes. Instead of waiting in the general crawl queue, your submitted URLs move to the front.
For fresh content, this can mean the difference between indexing in hours versus days.
Which Engines Support It
IndexNow is backed by Microsoft and Yandex, and is supported by Bing, Yandex, Naver, Seznam, and other participating engines. Google does not participate in IndexNow. Google has its own mechanism (the Indexing API) for structured content types, but IndexNow is not it.
This matters for realistic expectations. If your primary traffic source is Google, IndexNow doesn’t accelerate Google indexing. But Bing’s market share is real, Bing powers many third-party search surfaces, and Yandex matters in certain geographies. Submitting to IndexNow reaches those audiences faster.
Also: what gets submitted to one IndexNow endpoint is shared across all participating engines. One POST request notifies the full network.
Bulk Submission and Deduplication
The IndexNow API accepts up to 10,000 URLs per request. For a site with hundreds or thousands of pages, a full-site submission on deploy is feasible in a single call.
This brings up a reasonable concern: is it wasteful or risky to submit all URLs on every deploy, even when most pages haven’t changed? The answer is no. IndexNow documentation explicitly states that resubmitting unchanged URLs is safe — the engine handles deduplication and won’t penalize you for it. The notification is additive, not authoritative.
This makes implementation straightforward: generate a complete URL list at build time, POST it to the IndexNow endpoint in a postbuild script, done.
When IndexNow Matters Most
The benefit is proportional to how frequently you publish and how time-sensitive your content is.
For a blog publishing weekly, the difference between same-day and same-week Bing indexing probably doesn’t move metrics. For a news site publishing dozens of articles per day, fast indexing is directly tied to traffic for time-sensitive queries.
For this site, IndexNow fits a simple engineering principle: it’s low cost to implement, zero cost to maintain, and occasionally provides real value when new posts go out. There’s no downside case.
Implementation on a Static Site
On a Netlify-deployed Astro site, the pattern is:
- API key file lives in
public/— it gets deployed as a static file at the root domain - A postbuild script generates the full URL list from the content collections
- A POST request goes to
https://api.indexnow.org/indexnowwith the URL list - The script runs as part of the Netlify build pipeline after the static files are generated
The whole thing is a small Node script that runs in under a second. Once set up, it’s invisible infrastructure — it just runs on every deploy.
For sites that want more control, you can scope submissions to only changed URLs by comparing against a previous sitemap or using a deploy-time diff. But for most sites, submitting everything and letting the engine deduplicate is simpler and equally effective.