By SitemapFixer Team
Updated July 2026

What Is IndexNow? How It Works, and How It Compares to an XML Sitemap

IndexNow complements your sitemap — it does not replace it. Check your XML sitemap is clean first.Check My Sitemap Free

Traditional crawling is a waiting game. You publish or update a page, then a search engine eventually re-fetches your sitemap or stumbles onto the change through links — sometimes within hours, sometimes days or weeks later. IndexNow flips that model. Instead of waiting to be crawled, your site pushes a notification the instant a URL is added, updated, or deleted, so participating search engines know to look immediately. This guide explains exactly what IndexNow is, how the protocol works end to end, which engines honor it (and one very important one that does not), and how it fits alongside — not instead of — your XML sitemap.

If you have already set up an XML sitemap and wondered whether IndexNow makes it obsolete, the short answer is no. The two solve different halves of the same problem. By the end of this article you will know precisely when IndexNow earns its keep, when it does nothing for you, and how to implement it without breaking anything.

What Is IndexNow?

IndexNow is an open protocol, launched in 2021 and backed by Microsoft Bing and Yandex, that lets a website instantly inform search engines about content changes. When you add a new page, update an existing one, or remove a URL, your site sends a small HTTP request containing the affected URL (or a batch of URLs). Participating engines receive that ping and prioritize crawling those specific URLs rather than waiting to rediscover them on their own schedule.

The protocol is deliberately simple. There is no proprietary SDK, no OAuth flow, and no dashboard you must log into. It is a plain, documented HTTP API that any site — from a single-page portfolio to an enterprise catalog with millions of URLs — can call. It is also free and vendor-neutral: the specification is published openly so any search engine can adopt it, and any site can implement it in an afternoon.

The motivation behind IndexNow is efficiency for both sides. Crawling the whole web repeatedly to detect changes is expensive and wasteful. If sites proactively announce exactly what changed, engines can spend their crawl budget on genuinely new or updated content instead of re-fetching unchanged pages. For site owners, that translates into faster discovery of fresh content on the engines that participate.

How IndexNow Works

IndexNow has two moving parts: a key file that proves you control the domain, and an API call that submits the URLs. Here is the full flow, step by step.

Step 1: Generate a key

First you create an API key — a random string between 8 and 128 characters, using only letters (a–z, A–Z), digits (0–9), and dashes. This key is not a secret credential in the traditional sense; it is more like a token that ties your submissions to a verified domain. Most implementations generate something like a1b2c3d4e5f6g7h8i9j0. You can create it by hand, or let a plugin or CDN generate it for you.

Step 2: Host the key file

Next you publish a text file containing that key, hosted on your own domain. By convention the file is named after the key itself and lives at the site root — for example, https://www.example.com/a1b2c3d4e5f6g7h8i9j0.txt — and its entire contents are the key string. When a search engine receives a submission, it fetches this file to confirm that whoever is submitting URLs actually controls the domain. This is how IndexNow prevents someone from spamming submissions for a site they do not own. You can also place the key file at a different path and declare its location explicitly with the keyLocation field described below.

Step 3: Submit URLs through the API

With the key hosted, you can submit URLs. For a single URL, a simple GET request works:

https://api.indexnow.org/indexnow?url=https://www.example.com/new-page/&key=a1b2c3d4e5f6g7h8i9j0

For multiple URLs at once — the more common case for real sites — you send a POST request with a JSON body. This is the recommended approach because it lets you announce up to 10,000 URLs in a single call:

POST /indexnow HTTP/1.1
Host: api.indexnow.org
Content-Type: application/json; charset=utf-8

{
  "host": "www.example.com",
  "key": "a1b2c3d4e5f6g7h8i9j0",
  "keyLocation": "https://www.example.com/a1b2c3d4e5f6g7h8i9j0.txt",
  "urlList": [
    "https://www.example.com/product/new-arrival",
    "https://www.example.com/blog/2026-pricing-update",
    "https://www.example.com/discontinued-item"
  ]
}

The same request from the command line with curl:

curl -X POST "https://api.indexnow.org/indexnow" \
  -H "Content-Type: application/json; charset=utf-8" \
  -d '{
    "host": "www.example.com",
    "key": "a1b2c3d4e5f6g7h8i9j0",
    "keyLocation": "https://www.example.com/a1b2c3d4e5f6g7h8i9j0.txt",
    "urlList": [
      "https://www.example.com/product/new-arrival",
      "https://www.example.com/blog/2026-pricing-update"
    ]
  }'

Notice that the urlList can include a URL you just deleted (/discontinued-item above). IndexNow is explicitly designed to signal removals as well as additions, which is useful for e-commerce stores retiring products and for any site that needs a page dropped from an engine quickly.

What the response codes mean

The API returns a standard HTTP status so you can log and handle failures programmatically:

  • 200 OK — URLs received and the key was validated successfully.
  • 202 Accepted — URLs received, but key validation is still pending.
  • 400 Bad Request — the request is malformed (bad JSON, missing required field).
  • 403 Forbidden — the key file could not be found or its contents did not match.
  • 422 Unprocessable Entity — the URLs do not belong to the declared host, or the key and host do not match.
  • 429 Too Many Requests — you are submitting too frequently and are being rate-limited.

One submission reaches every participating engine

A key design feature: you do not need to submit the same URL to Bing, then Yandex, then everyone else. Submitting to any one participating endpoint — or to the shared api.indexnow.org endpoint — is enough. The engine that receives your ping immediately shares the submitted URL with all other participating IndexNow engines. That shared model is what makes the protocol worth adopting: one call, broad reach across every engine that has signed on.

Which Search Engines Support IndexNow

IndexNow is supported by a growing set of search engines. The two founding backers are Microsoft Bing and Yandex, and the protocol has since been adopted by others including Seznam.cz (the leading engine in the Czech market) and Naver (South Korea's dominant search engine). Because submitting to one participating engine propagates the URL to all of them, a single integration covers the entire group.

Content delivery networks have adopted it too. Cloudflare offers a feature called Crawler Hints that uses IndexNow under the hood: when enabled, Cloudflare automatically detects content changes on your origin and submits the affected URLs on your behalf — no code or key management required. This is one of the easiest ways to get IndexNow coverage if your site already sits behind Cloudflare.

Why Google is not on the list

This is the single most important caveat, and it is where a lot of IndexNow coverage overstates the benefit: Google does not currently use IndexNow. Google has publicly said it experimented with and tested the protocol — partly to evaluate whether it could reduce the environmental cost of crawling — but it does not consume IndexNow submissions for indexing today. Submitting a URL to IndexNow does nothing to notify Google.

That matters because for most sites Google is the overwhelming majority of search traffic. So IndexNow is not a shortcut to faster Google indexing. For Google, the tools that actually work are your XML sitemap, internal links, and the URL Inspection tool in Search Console. If your goal is specifically to get Google to crawl your site faster, IndexNow is not the lever — that guide covers what is. IndexNow's value is concentrated on Bing, Yandex, and the other participating engines. Whether that is worthwhile depends on how much of your audience uses those engines.

IndexNow vs XML Sitemap

IndexNow and XML sitemaps are frequently framed as competitors, but they are better understood as two halves of a complete discovery strategy. An XML sitemap is a pull mechanism: you publish a file listing all your URLs, and engines fetch it on their own schedule. IndexNow is a push mechanism: your site actively notifies engines the moment something changes. The table below lays out the practical differences.

AttributeIndexNowXML Sitemap
MechanismPush — you notify the enginePull — the engine fetches the file
TriggerInstant, on each changePeriodic, on the engine's crawl schedule
ScopeOnly the URLs that changedYour full URL inventory
Signals deletionsYes — submit the removed URLIndirectly — drop it from the file
Used by GoogleNoYes
Used by Bing & YandexYesYes
SetupKey file + API calls on changeXML file + submit in webmaster tools
Guarantees indexingNoNo
Best atFast change notificationComplete, baseline discovery

The row that decides the strategy is "Used by Google." Because Google reads sitemaps but not IndexNow, your XML sitemap is non-negotiable — it is the only one of the two that covers your single largest traffic source. IndexNow is an addition layered on top: it accelerates the participating engines without doing anything to help or harm your Google presence. Neither replaces the other, and running both costs you almost nothing.

How to Set Up IndexNow

You have three broad paths, depending on your stack. Pick the one that matches how your site is built and hosted.

On WordPress

The simplest route for WordPress is the official IndexNow plugin published by Microsoft Bing. Once installed and activated, it generates the key, serves the key file for you, and automatically submits URLs to IndexNow whenever you publish, update, or delete a post or page. Several established SEO plugins also bundle IndexNow support in their instant-indexing modules, so if you already run one, check its settings before adding a second plugin. Either way, the goal is the same: submissions should fire automatically on content changes, with no manual step.

Through Cloudflare

If your site is proxied through Cloudflare, you can enable IndexNow without touching your code. In the Cloudflare dashboard, go to Caching, then Configuration, and turn on Crawler Hints. Cloudflare then watches for content changes and submits the changed URLs to IndexNow on your behalf, generating and hosting the key automatically. This is the lowest-effort option and a good fit for sites where you would rather not maintain a custom integration.

Manually on a custom site

For a custom application — a Next.js app, a static site generator, a bespoke CMS — you implement the two steps yourself. First, generate a key and host the <key>.txt file at your domain root (in a framework like Next.js you can serve it from the public directory or a route handler). Second, hook into your publish or deploy pipeline so that whenever content changes you fire a POST request to api.indexnow.org/indexnow with the affected URLs, exactly as shown earlier. A common pattern is a post-publish webhook or a build hook that collects the URLs that changed in a deploy and submits them in one batched call. Add logging so you can confirm submissions are returning a 200 and not silently failing.

Whichever path you choose, verify the key file is publicly reachable after setup — open https://yourdomain.com/<key>.txt in a browser and confirm it returns the key as plain text. A missing or mismatched key file is the most common reason submissions get rejected with a 403.

When IndexNow Helps Most

IndexNow is not equally valuable for every site. It pays off most in these situations:

  • High-frequency publishing. News sites, job boards, and active blogs publish constantly. Announcing each new URL the moment it goes live shortens the gap between publication and discovery on Bing and Yandex.
  • E-commerce with changing inventory. Prices, stock status, and product availability change all day. IndexNow lets you push updates for changed product URLs and signal removals for discontinued items so listings stay fresh on participating engines.
  • Large sites with meaningful Bing traffic. If your analytics show a non-trivial share of visitors from Bing or Yandex, the faster crawl signal has real value. Some markets and audiences — enterprise, certain regions, certain demographics — skew more toward Bing than the global average.
  • Fast deletions. When you remove a page and need it gone from an engine quickly, submitting the deleted URL through IndexNow is a faster signal than waiting for the next crawl to discover the 404 or 410.

Limitations and What IndexNow Will Not Do

Set expectations honestly, because IndexNow is easy to oversell. First and most important: it does nothing for Google, which for most sites is the majority of organic traffic. If your Bing and Yandex share is tiny, the practical upside of IndexNow is correspondingly small.

Second, IndexNow is a discovery and crawl signal, not an indexing guarantee. Submitting a URL tells the engine "this changed, come look" — it does not force the page into the index and it has no effect on rankings. Engines still apply their own quality and relevance judgments before indexing anything. A thin or duplicate page will not rank because you pinged it faster.

Third, it does not replace your sitemap. A sitemap gives engines a complete, always-available inventory they can reconcile against at any time, and it is the mechanism Google relies on. IndexNow only ever covers the specific URLs you submit as they change, on the engines that participate. Skipping the sitemap in favor of IndexNow would leave both Google and your baseline coverage worse off.

Finally, implementation has requirements not every host meets. You need to be able to host a key file and issue outbound HTTP requests on content change. Some locked-down or purely static hosting setups make the automated-submission part awkward, and submitting unchanged URLs repeatedly can get you rate-limited. Because the key file is public, anyone could read it — but the risk is minimal: a bad actor could at most trigger crawls of URLs that genuinely belong to your host, which does not expose data or let them submit for a domain they do not control.

Should You Use IndexNow?

For most sites the honest answer is: yes, but keep your expectations grounded. If you can turn it on with near-zero effort — through Cloudflare Crawler Hints or a WordPress plugin — there is little reason not to. Faster discovery on Bing, Yandex, and the other participating engines is a genuine, if modest, benefit, and the cost is negligible. Where it does not make sense is treating IndexNow as a Google indexing hack or letting it distract from the fundamentals: a clean XML sitemap, solid internal linking, and pages worth indexing in the first place.

Think of IndexNow as a complement that sharpens the fast-notification edge of your technical SEO on the engines that support it, while your sitemap continues doing the heavy lifting everywhere — Google included. Get the sitemap right first; layer IndexNow on top second. If you want to make sure the sitemap half of that equation is solid, our XML sitemap best practices guide and the free checker below are the place to start.

Frequently Asked Questions

Does Google use IndexNow?
No. Google has publicly said it experimented with and tested IndexNow but does not currently consume it for indexing. Submitting a URL to IndexNow notifies participating engines like Microsoft Bing and Yandex — not Google. For Google, keep using an XML sitemap and Google Search Console.
Does IndexNow replace my XML sitemap?
No. They are different mechanisms that complement each other. An XML sitemap is a pull-based inventory of all your URLs that any engine — including Google — can fetch on its own schedule. IndexNow is a push notification for individual URLs that changed, and only participating engines act on it. Keep the sitemap and add IndexNow on top.
Is IndexNow free to use?
Yes. IndexNow is an open, free protocol. There is no account to create and no paid API. You generate a key, host a small text file that proves you own the domain, and send standard HTTP requests to submit URLs.
Do I have to submit to every search engine separately?
No. Submitting a URL to any one participating endpoint — or to the shared api.indexnow.org endpoint — is enough. The receiving engine immediately shares the submitted URL with all other participating IndexNow engines.
Will IndexNow get my pages ranked faster?
IndexNow can speed up discovery and crawling on participating engines, but it does not guarantee indexing and it does not improve rankings. Engines still decide whether a URL is worth crawling and indexing based on quality and relevance. Treat IndexNow as a faster notification, not a ranking lever.
How many URLs can I submit with IndexNow?
Up to 10,000 URLs in a single POST request. Submit only genuinely new, updated, or deleted URLs. Repeatedly submitting URLs that have not changed can get your requests throttled or ignored.
Your Sitemap Still Does the Heavy Lifting
Free sitemap and SEO analysis in 60 seconds — for Google and every other engine
Check My Sitemap Free

Related Guides