Docs / Publishing & integrations / IndexNow

Set up IndexNow

IndexNow tells search engines a URL was just published or updated, so they crawl it immediately instead of waiting for their next normal crawl. AEO Spotlight can fire the ping for you the moment content is published.

For site ownersFor agencies~10 minute setup

1 · What IndexNow is

IndexNow is an open protocol adopted by Bing, Yandex, Seznam, Naver and other participating search engines. Instead of waiting for a crawler to discover a URL through links and sitemaps, you tell the engines directly: “this URL just changed — go get it.” The result is dramatically faster discovery of brand-new pages.

It works in two parts:

1

Proof of ownership (a key file). You generate a key and host it at the root of your domain as https://<your-domain>/{key}.txt. This proves you control the site before you can submit URLs for it.

2

A ping. You POST a small JSON payload listing changed URLs to the IndexNow endpoint. Engines fetch the URL(s) and crawl them.

2 · Generate a key

A key is just a unique string — a GUID/UUID is the standard choice. Generate one and keep it secret-ish (it's a domain-verification secret, not a password, but treat it carefully).

Generate a key (any one)shell
# Windows PowerShell
[guid]::NewGuid().ToString()

# macOS / Linux
uuidgen

# Python
python -c "import uuid; print(uuid.uuid4())"

You'll use the same value in two places: as the filename {key}.txt on your domain, and as the IndexNowKey on your AEO Spotlight publish destination.

3 · Host the {key}.txt file

The key must be reachable at the absolute root of the exact host you submit, i.e.:

https://<your-domain>/{key}.txt

…and must return your key as plain text (no HTML wrapper; avoid extra whitespace/newlines).

1

Create a file named {key}.txt (e.g. 7f4f6e5a-….txt) whose entire contents are the key.

2

Place it at the web root of your domain so it's served at https://<your-domain>/{key}.txt — not under /wp-admin/, /blog/, or any subpath.

3

Verify it in a browser or curl: the response body should be exactly your key.

Which host? IndexNow requires the key file to be served on the exact host you submit in the ping. If you ping www.example.com, the file must live at https://www.example.com/{key}.txt. If you use the bare apex (example.com), host it there. Pick one and be consistent.
Publishing to AEO Spotlight's own site? For its own hosted content AEO Spotlight serves the configured key file itself at /{key}.txt (a root route that returns the key, and 404 for any other filename). You only host the file yourself when the destination is your own domain.

4 · Configure a publish destination

In the dashboard under Content Studio → Publish destinations, edit (or create) the destination that publishes to your domain and add two fields:

FieldValueExample
IndexNowHostYour site's host (scheme optional — it's normalized).www.example.com
IndexNowKeyThe key whose {key}.txt you hosted in step 3.7f4f6e5a-…
  • The platform normalizes the host (strips https:///http:// and trailing slashes, lowercases).
  • Key is required whenever a host is set — you can't enable IndexNow without both.
  • Keys are write-only: like webhook secrets, the UI only shows whether one is set, never the value.
IndexNow + webhook = same destination These are two independent settings on the same destination. A webhook destination (see Receive content via webhook) becomes both your receiver and your IndexNow submission point.

5 · What happens on publish (automatic ping)

After a successful publish, AEO Spotlight automatically pings IndexNow for the returned live URL — you don't have to do anything per article. It uses the destination's credentials when present; otherwise it falls back to the platform-configured host/key (own-site publishes):

  1. Destination hasIndexNowHost + IndexNowKey → ping uses those with the published URL.
  2. Otherwise, if the platform has a configured host/key → ping uses the platform's own-site host/key.
  3. Otherwise → no ping (recorded as not_configured).

The ping is best-effort: it can never block or fail a publish. The outcome is recorded on the opportunity and surfaced in the Content Studio next to the published URL:

StatusMeaning
submittedIndexNow accepted the ping (HTTP 2xx) — engines will fetch the URL.
failedThe ping was attempted but rejected or errored. The publish still succeeded.
not_configuredNo host/key on the destination and no platform host/key configured, so nothing was sent.

6 · Verify it's working

  • Key file reachable: open https://<your-domain>/{key}.txt and confirm it returns your key.
  • Publish status: after a publish, check the Content Studio shows IndexNow: submitted on the piece.
  • Search Console / Bing: confirm the URL appears in Bing Webmaster Tools URL inspection shortly after publishing.
  • Manual ping (optional test): you can submit a URL yourself to confirm your key file is valid:
Manual IndexNow ping (testing)shell
curl -X POST "https://api.indexnow.org/indexnow" \
  -H "Content-Type: application/json; charset=utf-8" \
  -d '{
    "host": "www.example.com",
    "key": "7f4f6e5a-0000-0000-0000-000000000000",
    "keyLocation": "https://www.example.com/7f4f6e5a-0000-0000-0000-000000000000.txt",
    "urlList": ["https://www.example.com/just-published-page"]
  }'

7 · FAQ & edge cases

What is the not_configured status telling me?

The destination has no host/key and the deployment has no platform-configured host/key. Set IndexNowHost + IndexNowKey on the destination (sections 34) to enable it.

My publish shows failed — did the article not publish?

The article published fine. IndexNow is an accelerator, not a dependency: a failed ping never rolls back a publish. Check that https://<your-domain>/{key}.txt returns exactly your key on the exact host you configured.

www vs apex — which host should I configure?

Use the host that serves your pages and where you can place the key file. Whatever you choose, the key file must be on that same host (the submitted host and keyLocation must match).

Do I enter the scheme (https://)?

No — the platform strips http(s):// and trailing slashes and lowercases the host for you.

Can I reuse one key across subdomains or engines?

IndexNow keys are shared among the participating engines by design (one key, one file). But a key is tied to a host — each host you ping needs its key file at that host's root.

How long until engines crawl the URL?

Usually within minutes to a few hours — far faster than waiting for organic rediscovery. Exact timing is controlled by each engine.

Does IndexNow replace my sitemap?

No. Keep your sitemap; IndexNow accelerates discovery of fresh URLs on top of it.

More details

See the official IndexNow FAQ for the canonical protocol details.