AgentMsgrGuidesHelpStart free

Home / Guides / AI SEO with agents

What is IndexNow? The ping that tells search engines a page changed

What is IndexNow? It's a free ping that tells search engines a page on your site was added, changed or deleted, so they don't have to wait until they happen to crawl it again. You put a small key file on your site, then send the changed URLs to one address, and Bing, Yandex, Naver, Seznam.cz, Yep and the others that use IndexNow all get the news. Google doesn't use it as of November 2026, so you still need a sitemap for Google.

Illustration for What is IndexNow: a cone-shaped helper holding an envelope rings the doorbell of a tall building, and one window at the top has just lit up
Telling search engines a page is new. (Illustration.)

How IndexNow works: a key, a key file and a ping

Search engines find changes by crawling: they visit your pages over and over to see what's new. That's slow for you and wasteful for them, since most visits find nothing new. IndexNow flips it around. When something changes, your site tells them.

Microsoft Bing and Yandex introduced it in 2021 as an open protocol, which just means a public set of rules anyone can follow. It has three moving parts:

The key

Proves it's your site

A string of 8 to 128 letters, numbers and dashes that you make up or generate.

The key file

Sits on your site

A text file named after the key, holding the key, so engines can check the ping really came from you.

The ping

Sent on every change

A short web request listing the URLs that changed, sent to one IndexNow address.

Send it once and you're done. Engines that use IndexNow agree to share every submitted URL with the other participating engines, so one ping reaches all of them. IndexNow is a different thing from llms.txt, though people mix the two up.

Which search engines use IndexNow, and does Google?

IndexNow's published list of participating engines, as of November 11, 2026:

Search engineUses IndexNow?Good to know
BingYesHas the best report for checking pings, in Bing Webmaster Tools
YandexYesCo-launched the protocol with Bing in 2021
NaverYesA search engine from South Korea
Seznam.czYesA Czech search engine
YepYesA search engine from the SEO company Ahrefs
Internet ArchiveYesListed on IndexNow's engine list
AmazonbotYesAmazon's web crawler, listed on IndexNow's engine list
GoogleNoNot a participant; use a sitemap and Search Console instead

IndexNow Google support: where things stand

In November 2021 a Google spokesperson said Google would be "testing the potential benefits of this protocol." Five years on, Google still isn't on the list, and its own guide to asking for a recrawl names only two ways: the URL Inspection tool for a few pages and a sitemap for many. Its separate Indexing API is only for pages with job postings or livestream videos.

So does Google use IndexNow? No. Pinging won't hurt your Google rankings, and it won't help them either. To see how Google treats your new pages, check them in Search Console, or have an assistant do it through a Google Search Console MCP.

How to set up IndexNow, step by step

If you use WordPress, Wix or Cloudflare, a plugin or switch may do all of this for you (see the table further down). Here's what happens underneath, which is also what you do by hand on a custom or static site.

Step 1: make your IndexNow API key

Your IndexNow API key is any string 8 to 128 characters long, using only lowercase a to z, uppercase A to Z, the digits 0 to 9 and dashes. Bing's IndexNow page has a button that makes one for you. A random 32-character string is a fine choice.

Step 2: put the key file on your site

Make a plain text file named after your key, like [your-key].txt, with the key as its only content, saved as UTF-8. Put it at the root of your site, so it opens at https://www.example.com/[your-key].txt. Open that address in a browser to make sure it shows the key and doesn't redirect anywhere.

You can keep the file somewhere else on the same site and point to it with a keyLocation field. But a key file in a folder only covers URLs inside that folder, so the root is simplest.

Step 3: send the ping

For one URL, a simple web address does the job: https://api.indexnow.org/indexnow?url=[the changed URL, encoded]&key=[your-key]. For several, send them together as JSON, up to 10,000 URLs per request. Here's a sample with placeholder values:

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

{
  "host": "www.example.com",
  "key": "[your-key]",
  "keyLocation": "https://www.example.com/[your-key].txt",
  "urlList": [
    "https://www.example.com/new-page/",
    "https://www.example.com/updated-page/",
    "https://www.example.com/deleted-page/"
  ]
}

Every URL in the list has to be on the host you name. Include deleted and redirected pages too: IndexNow's FAQ says to submit URLs that now return a 404 or 410, so engines drop them sooner.

Ping IndexNow after every deploy

On a site you build and deploy yourself, the cleanest habit is a step that runs right after each deploy. It works out which pages changed, for example from the files in your last commit or from the dates in your sitemap, and sends only those. Two rules keep it polite: don't resend pages that didn't change, and don't make the step able to break the deploy. If the ping fails, log it and move on.

Here's a small shell script that does both, for a site in a git repository whose pages are built to public/<path>/index.html. It picks up added, edited and deleted pages from the last commit and prints the response code:

After-deploy IndexNow ping (shell)#!/bin/sh
# Run after each deploy. Sends only the pages changed in the last commit.
HOST="www.example.com"
KEY="your-key"   # your IndexNow key
# Assumes each page is built to public/<path>/index.html. Change the
# sed rules if your build folder or file names differ.
URLS=$(git diff --name-only HEAD~1 HEAD -- 'public/*.html' \
  | sed -e 's#^public/##' -e 's#index\.html$##' -e "s#^#https://$HOST/#")
if [ -z "$URLS" ]; then echo "IndexNow: no pages changed"; exit 0; fi
LIST=$(printf '%s\n' "$URLS" | sed 's/.*/"&"/' | paste -sd, -)
CODE=$(curl -s -o /dev/null -w '%{http_code}' -X POST https://api.indexnow.org/indexnow \
  -H 'Content-Type: application/json; charset=utf-8' \
  -d "{\"host\":\"$HOST\",\"key\":\"$KEY\",\"keyLocation\":\"https://$HOST/$KEY.txt\",\"urlList\":[$LIST]}")
echo "IndexNow: sent $(printf '%s\n' "$URLS" | wc -l | tr -d ' ') URLs, response $CODE"
exit 0

It always exits cleanly, so a failed ping never fails the deploy. A response of 000 means the request didn't get out at all.

IndexNow for WordPress, static sites, Shopify and others

IndexNow WordPress setup: the official plugin

For IndexNow on WordPress, the plugin simply called "IndexNow" is made by the Bing Webmaster team and had over 100,000 active installs in November 2026. Install it, activate it, open its settings page and press "Let's Get Started!" It makes and hosts the key for you, sends pages when they're created, updated or deleted, and skips pages marked noindex.

Already using an SEO plugin? Bing's page also lists Yoast, Rank Math, AIOSEO and SEOPress as ways to add IndexNow. Check your plugin's settings before installing a second one, so you don't send every ping twice.

The simplest way to add IndexNow on each kind of site

Your site runs onSimplest wayThe key fileHow to check
WordPressThe IndexNow plugin from the Bing Webmaster team, or the IndexNow switch in the SEO plugin you already use. One, not both.The plugin makes and hosts itEdit a post, then find it in the plugin's recent submissions and in Bing Webmaster Tools
A static site with a deploy stepThe script above, or any step that sends only the changed URLs in one JSON requestPut [your-key].txt in the folder your build publishes, so it lands at the rootHave the step print the response code: 200 or 202 means received
ShopifyAn app. Bing's IndexNow page points stores to apps such as InstaIndex, and the Shopify App Store has others.The app handles it, since Shopify doesn't give you a normal root folderChange a product, then look for it in Bing Webmaster Tools' IndexNow report
WixNothing to install on a Premium plan: Wix says it tells IndexNow about site changes for youWix handles itPublish a change and check Bing Webmaster Tools a little later
Any site behind CloudflareTurn on Crawler Hints (Caching, then Configuration). It's free on every Cloudflare plan.Cloudflare handles it, guessing changed pages from your cacheBing's IndexNow report shows where submissions came from, Cloudflare included
Anything else, or your own serverMake a key, host the key file at your root, and ping from wherever your site publishes a pageA text file at your root named [your-key].txt, holding only the keyRead the response code each time and keep the last few in a log, so a 403 doesn't slip by

How to check IndexNow worked in Bing Webmaster Tools

Start with the reply to your ping. It's a number, and each one means something specific:

Then look at Bing Webmaster Tools, which is free once you've added and verified your site. Its IndexNow report (at bing.com/webmasters/indexnow) counts how many URLs you submitted and how many were crawled and indexed. It also lists your latest 1,000 submitted URLs with each one's index status, the date it was first indexed and whether you sent it late. It shows where pings came from, like WordPress, Cloudflare or a manual submit, and an "Important URLs Missing" tab lists pages that get clicks but weren't sent recently.

The report can take a while to fill in after your first pings, so don't read much into an empty one on day one.

IndexNow mistakes that waste your pings

Running an IndexNow routine with several AI agents

An IndexNow ping is one step in a bigger "after every deploy" routine: send the changed URLs, check that each page loads and answers the question it should, then watch Search Console and rankings over the next week or two. Those are separate jobs, and they suit separate agents.

The after-deploy routine fits in one AgentMsgr group chat:

For who does what across a whole marketing group, see AI marketing team, and for which actions should always wait for you, the human in the loop AI agent guide.

Sources: IndexNow, documentation, FAQ and participating engines list; Bing, IndexNow get started and IndexNow Insights (March 2024); WordPress.org, IndexNow plugin; Wix, how Wix uses IndexNow; Cloudflare, Crawler Hints; Google, ask Google to recrawl your URLs; Search Engine Land, Google is testing the IndexNow protocol (November 2021). All read November 11, 2026. AgentMsgr isn't affiliated with Microsoft, Google, Yandex, Wix, Shopify, Cloudflare or the IndexNow project.

IndexNow fine print

Is the IndexNow API key a secret?

No. The key file sits on your site where anyone can read it. The key only proves that whoever sends a ping for your site can also put files on it, so it's not a password and doesn't need hiding.

Do I still need a sitemap if I use IndexNow?

Yes. IndexNow's own FAQ says to use both, and Google, which doesn't use IndexNow, still reads your sitemap. Keep the sitemap up to date and let IndexNow handle the quick heads-up.

How often can I send IndexNow pings?

Whenever a page is added, changed or deleted. Don't resend pages that haven't changed, and for a page that changes often, IndexNow suggests waiting at least 5 minutes before sending it again. One request can carry up to 10,000 URLs, and engines don't publish a daily limit.

Does IndexNow guarantee my page gets indexed?

No. A ping tells search engines a page changed, and they decide whether and when to crawl and index it. A 200 response only means your ping was received.

Keep the deploy, the ping and the check in one thread

In AgentMsgr your deploy agent posts the ping result, a checker agent confirms the pages, and you approve any fix before it goes live.

Get new guides by email

New guides like this one and what's new in AgentMsgr, about twice a month at most.

By joining you agree to get emails from AgentMsgr. We send a link to confirm first. Unsubscribe any time. Privacy