Bridge IndexNow

How IndexNow works: from a change to a submission sent

6 min readUpdated Sep 2026
A page changes, the change is noticed, and a short message goes out saying that this address is worth revisiting. That is the entire mechanism. What deserves understanding is everything around it: why a key is involved, and why acceptance is a smaller event than it sounds.

The sequence, end to end

Five steps, in order, and each one is a place where expectations tend to run ahead of what happens.

YOUR SIDE THE ENGINE DECIDES A page changes The edge detects it Submission over HTTPS Fetches the key file Crawls, indexes, ranks — or not Everything left of the line is arranged for you. Everything right of it is the engine’s own decision, on its own schedule.
The boundary is the whole point: submission ends where the engine’s decisions begin.
  • A page changes

    Something you publish or edit becomes different from what was there before.

  • The change is detected

    Automatic submission follows change detection, which is why it covers discovered and changed addresses and nothing else. A page nobody touched has nothing to announce.

  • A submission is composed

    It names the address that changed and includes the key that establishes you are entitled to speak for that hostname. The message travels as an ordinary HTTPS request, which is why no account or prior relationship is needed anywhere in this sequence.

  • An engine receives it and verifies the key

    It does this by fetching the key file from the hostname in the submission. If what it finds matches, the submission is attributable to whoever controls that hostname.

  • The engine decides what to do about it

    This is the step people misread, and the rest of this page is mostly about it.

Why a key exists at all

Without one, anybody could submit anybody's addresses, which would make the signal worthless within a week.

The key is not a secret in the way a password is. It is published, at a known location, on the very hostname it speaks for. Its purpose is not confidentiality but attribution: the only party who can cause a particular file to be served from a particular hostname is the party who controls that hostname, so a submission that matches proves control without needing any account, registration, or prior relationship.

That framing explains the details that otherwise look strange. It is fine that the key is visible to everybody. It is fine that it is a plain file. Neither weakens anything, because what is being demonstrated is the ability to place it, not knowledge of its contents.

Where the key file lives

At a known path on your own hostname, published as /<key>.txt, and this is the part worth being precise about.

The file is served from the address a search engine is asking about, by the edge, on your hostname. It is not held on somebody else's domain and does not need to be fetched from your origin. That placement is not an implementation convenience: it is the entire proof. A key served from anywhere else would demonstrate control of somewhere else.

The practical consequence is that a key file is per hostname. Several hostnames means several key files, each served from its own, and a submission naming one hostname is verified against that hostname alone.

What a submission claims

Very little, deliberately.

It says that a particular address changed and that whoever sent the message controls the hostname. It does not describe what changed, argue that the page is important, or request any particular treatment. There is nothing in the mechanism to exaggerate with, which is a large part of why engines are willing to accept it.

It is also worth knowing what the scope of automatic submission is, stated exactly: it covers discovered and changed addresses only, enabling it imports no history, and submitting an entire site is a manual action rather than something that happens on its own.

What an accepted submission means

That the message was well formed and the key checked out. Nothing further. The codes an endpoint can return, and what each one means, are set out in the protocol’s own documentation.

Acceptance is a statement about the submission, not about the page. The engine has not agreed to crawl the address, has not agreed to index it, and has certainly not agreed to rank it. Each of those is a separate decision made on its own criteria, and none of them reports back.

This is the single most useful thing to carry away from this section. A submission that succeeded and a page that never appears in results are entirely compatible outcomes, and neither indicates a fault. What submission changes is when an engine could learn about the change, and that is genuinely valuable and genuinely narrow.

Why resubmitting achieves nothing

The instinct after nothing happens is to send it again, and it is worth explaining why that does not help.

THREE SUBMISSIONS ONE RECORD First submission Sent again And again The page changed The repeats carry the same claim, so nothing about the record changes.
An unchanged page has nothing new to announce, and saying it again does not make it newer.

The message carries no urgency, no priority, and no count. Sending it twice communicates exactly what sending it once communicated, because the content is identical and the receiving side has already recorded it. Repetition adds no information for an engine to act on.

Where the page genuinely has not been revisited, the reasons live entirely on the engine's side and are not addressable from yours. Where the page has been revisited and simply is not appearing, the question is about the page rather than about its announcement.

What this section covers

The sections above walk the sequence end to end: what a submission claims, what acceptance means, and why resubmitting achieves nothing. One part earns a page of its own — the key and its file, including why it is published rather than hidden and what an engine does when it fetches it.

FAQ

How does IndexNow actually work?

A page changes, the change is detected, and a short message naming that address is sent to participating engines along with a key. The engine fetches the key file from your hostname to confirm the submission is attributable to you, and then decides for itself what to do.

Why does IndexNow need a key?

So that submissions can be attributed. Without one, anybody could announce anybody's addresses. The key is published rather than kept secret, because what it demonstrates is the ability to place a file on a hostname, not knowledge of a value.

Is my key file confidential?

No, and it does not need to be. It is served publicly from your own hostname, which is exactly what makes it proof: only somebody controlling that hostname can cause that file to be served there. Visibility weakens nothing about the arrangement.

Does an accepted submission mean my page will be indexed?

No. Acceptance means the message was well formed and the key verified. Crawling, indexing, and ranking are separate decisions made by the engine on its own criteria, and a successful submission alongside a page that never appears is a perfectly ordinary outcome.

Should I submit the same URL repeatedly?

No. The message carries no priority or count, so sending it twice says what sending it once said. If a page is not being revisited, the reasons are on the engine's side; if it is being revisited and not appearing, the question concerns the page itself.

Submission handled at the edge

IndexNow submission is part of Bridge CDN: the platform detects a change and announces the URL to the engines that take part. Automatic submission covers discovered and changed URLs only, enabling it imports no history, and full-site submission is manual.