How Does Google Indexing Work, End to End

A page travels from published to findable through a series of separate decisions, most of them made without telling you. How does Google indexing work when you follow the whole path? Google has to learn the URL exists, fetch it, render it, decide which URL represents the content, decide whether the result is worth storing, and only then return it to someone who searches. Each of those is a handoff. A page can stop at any one of them while every stage before it still looks healthy. That is why “I published it and nothing happened” is so hard to diagnose: the page did not fail in general, it stopped somewhere specific.
The chain, written out with the joins visible
Google describes Search in three stages: crawling, indexing, and serving results. That is accurate, and it compresses two of the places pages most often stall. Written out one join at a time, the sequence is discovery, crawl, render, canonical selection, indexing, and then serving. The first five decide whether a page exists as far as search is concerned.
Discovery: Google has to hear about the URL
Nothing happens to a page Google does not know about. Google’s own account of how Search works is direct: there is no central registry of web pages, so it finds URLs by following links from pages it already crawls, by reading sitemaps, and by revisiting addresses it has seen before.
Discovery is where new sites and orphaned pages lose weeks. A page with no internal links pointing at it, missing from the sitemap, published on a domain Googlebot visits rarely, is not being rejected. It is not on any list yet. The distinction is practical: an orphan needs a link or a sitemap entry, not a rewrite.
Crawling: the request, and what comes back
Once a URL is queued, Googlebot consults robots.txt before requesting it. A disallow rule stops the fetch. The URL can still be known to Google, but its content cannot be read, so there is nothing to analyse.
If the request goes through, the response decides what follows. A 200 with HTML gives Google something to work with. A 404 removes the page from consideration. A redirect hands the question to another URL. A successful crawl tells you Google could reach the page on that attempt. It does not tell you Google kept anything.
Rendering: what Googlebot actually sees
During the crawl, Google renders the page and runs the JavaScript it finds using a recent version of Chrome. For a page whose main content arrives only after client-side requests, the rendered output is what gets analysed, and rendering happens on Google’s own queue rather than instantly. Google’s JavaScript SEO basics documents the behaviour, including the case that catches people out: a page that looks complete in your browser and arrives at the next stage nearly empty.
Canonical selection: which URL represents the content
Before anything is filed, Google groups URLs whose content is substantially the same and picks one to represent the group. The chosen URL is the one that gets indexed; the rest are known and deliberately left out. Google calls this consolidating duplicate URLs, and it applies more widely than people expect: tracking parameters, http and https variants, trailing-slash pairs, print versions, syndicated copies.
This is normal behaviour, not a fault, but it explains a specific kind of confusion. The content is indexed. The URL you were watching is not.
Indexing: the decision that is not a formality
Now Google analyses the text, images, and video on the page, works out what it is about, collects signals about it such as the page’s language, and stores the result in the index.
A page can be discovered, crawled, rendered, and chosen as canonical, and still not be stored. Google declines constantly and usually without explanation, sometimes for mechanical reasons, sometimes because it has not judged the page worth the space yet. There is a longer catalogue of causes in our piece on why Google declines to index a page that looks fine. The short version is that this stage is a judgement, not paperwork, and the judgement belongs to Google.
Serving, and the fact that the index keeps moving
At query time Google searches its index, not the live web. Ranking is a comparison among stored pages, so a page outside the index is not ranking badly; it is not in the contest.
The chain also runs continuously. Google recrawls, re-evaluates, and sometimes drops pages indexed months ago, which is why indexing is better treated as a state to check than an event to log. Our guide to Google indexing covers the verification side in more depth.
Where a submission fits
Submitting a URL, whether through Search Console or a tool, acts on the first link in the chain. It asks Google to recrawl or to look sooner. Everything downstream is untouched: the render, the canonical choice, and the decision still happen on Google’s terms. This is the whole reason submitted is not the same as indexed, and why a tool that reports a successful delivery as a result is answering a different question from the one you asked.
AIndexify separates the two. A submitted URL is checked against live Google results on a fixed schedule afterwards, at 24, 48, and 96 hours and 7 days on Fast, or at 1, 4, 12, 24, and 72 hours and 7 days on Instant, and its status moves to Indexed with the date found or to Not indexed as of that date. URLs carrying a noindex tag, a 404, or a robots block are caught before submission and returned as Couldn’t check, with the credit refunded, because paying to watch a page that cannot enter the index helps nobody.
Knowing the chain turns a vague problem into a locatable one. See where your pages actually stand: submit your URLs and read the dated answer for each one, indexed or not.