Your page is almost certainly stuck at one of three stages. Google has to crawl it, then index it, then choose it for a query. A page can clear the first stage and fail the second, or clear both and still never be picked. Each stage fails in its own way.
Most SEO advice skips this. Someone tells a founder they have "an SEO problem" and hands over a list of fixes without saying which stage is actually broken. That is how people end up rewriting content when the real issue is a robots.txt rule, or buying links when the real issue is a canonical tag.
Knowing the three stages turns a vague worry into a specific question. It is the single most useful mental model we hand to clients at the start of a project.
Crawling is Google finding and downloading your page. Indexing is Google understanding and storing it. Ranking is Google choosing it for a particular search. They run in order, and each one is a separate gate. Passing one gate tells you nothing about the next.
Google Search Central describes exactly these three stages: crawling, indexing, and serving search results. In its words, crawling is where Google "downloads text, images, and videos from pages it found on the internet with automated programs called crawlers." Indexing is where Google "analyzes the text, images, and video files on the page, and stores the information in the Google index." Serving is where Google "returns information that's relevant to the user's query."
The useful part is that the three stages fail for different reasons and produce different symptoms. Once you learn to read the symptom, you stop guessing at the cause.
Googlebot discovers a URL, requests it from your server, and downloads what comes back. Discovery happens through links from pages Google already knows, through your XML sitemap, and through URLs submitted in Search Console. If Googlebot cannot reach the page, nothing downstream can happen.
Crawling is where server and configuration problems bite. A robots.txt rule that disallows a directory stops the crawl before it starts. A page that returns a 404 or a 500 gives Googlebot nothing to work with. A page reachable only through a form or a JavaScript click may never be discovered at all, because there is no link for a crawler to follow.
The 2025 Web Almanac from HTTP Archive found that 85% of robots.txt requests returned a valid 200 status code, up from 84% in 2024, while 13% returned a 404. A missing robots.txt is not fatal on its own, but it is a reliable sign that nobody has looked at the crawl layer of that site in a long time.
Google parses the downloaded page, works out what it is about, picks a canonical version, groups it with near duplicates, and stores the result. This is also where Google renders JavaScript to see the final page. Indexing is analysis and filing, not judgment about quality relative to competitors.
Canonicalization is the part that surprises people most. If Google decides your page is a near duplicate of another URL, it will file both under one canonical and serve that one. Your page is technically known to Google and still absent from results. The 2025 Web Almanac found canonical tags on 68% of desktop pages, which means roughly a third of the web leaves that decision entirely to Google.
Google is explicit that this stage can simply refuse you. Its documentation states that "indexing isn't guaranteed; not every page that Google processes will be indexed." There is no appeal process and no submission that forces the outcome.
Ranking runs fresh on every search. Google takes the query, pulls candidate pages from the index, and orders them by relevance, quality, and context like location, language, and device. Nothing about ranking is stored on your page. It is a decision made in the moment, per query.
This is why a page can rank for one phrase and be invisible for a closely related one. The page did not change. The competition and the intent behind the query did. A page is not "ranking" in general, it is ranking for specific searches, and treating that as one status hides most of the useful detail.
It is also why being indexed feels so anticlimactic. We covered this trap in detail in our piece on why a page can be indexed but not ranking, which is the single most common version of this confusion we see.
Google Search Console tells you directly if you read the Page Indexing report carefully. The status names map onto the three stages almost one to one. Match the status to the stage, and you know which layer of your site to work on instead of guessing across all three.
Two statuses do most of the work. Google defines "Discovered - currently not indexed" as a page that "was found by Google, but not crawled yet," typically because crawling it "was expected to overload the site; therefore Google rescheduled the crawl." That is a crawl stage problem, and it usually points at server speed or site size.
The other is "Crawled - currently not indexed," which Google defines as a page that "was crawled by Google but not indexed. It may or may not be indexed in the future; no need to resubmit this URL for crawling." That is an index stage problem, and resubmitting will not help. Google says so in the definition itself.
If a page is indexed and still gets no impressions, you are past both gates and looking at a ranking problem. Different stage, different fix, and no amount of technical work will move it.
Usually because the page adds nothing Google does not already have. Thin content, near duplicates of your own pages, auto generated pages, and pages that exist only to catch a keyword all get crawled and dropped. Google spent the bandwidth, looked at the result, and declined.
Scale makes this worse rather than better. An Ahrefs study published in December 2023, based on around 14 billion pages in its Content Explorer index, found that 96.55% of pages get zero traffic from Google. When you publish forty pages that each say roughly what a hundred other pages already say, you are volunteering for that statistic.
The honest fix is usually consolidation. Three overlapping pages that each rank for nothing often become one page that ranks for something. We would rather build a client twelve pages that each earn their place than sixty that dilute each other, and that judgment call is a bigger lever than most technical tweaks.
Almost certainly not. Google says crawl budget matters for large sites with over one million pages that change weekly, or sites over ten thousand pages that change daily. It calls these "rough estimates" rather than exact thresholds. A typical marketing site is nowhere near either line.
Google is unusually direct on this point. Its own guidance says that if your pages tend to get indexed the same day they are published, "you don't need to read this guide." Crawl budget has become a popular thing to sell audits about, and for most businesses it is a distraction from relevance and quality.
Where it does apply, the concept splits in two. Google defines crawl budget as "the set of URLs that Google can and wants to crawl," shaped by a crawl capacity limit tied to your server and a crawl demand shaped by "size, update frequency, page quality, and relevance." If you do run a large catalog or a big publisher site, our guide to crawl budget goes deeper on managing it.
They add a fourth audience with its own rules. Crawlers from OpenAI, Anthropic, and Perplexity fetch pages for AI answers rather than for a classic results page. They still need to reach and parse your HTML, so the crawl stage now decides whether you appear in two ecosystems, not one.
Adoption of controls is still early. The 2025 Web Almanac found robots.txt directives naming gptbot on 4.5% of desktop sites, up from 2.9% in 2024, while valid llms.txt files appeared on just 2.13% of desktop sites. Most of the web has not yet made a deliberate decision about AI crawlers at all.
Our view is that blocking them by default is a mistake for most businesses. If you want to be quoted inside ChatGPT or Perplexity, those crawlers need access to the same clean HTML that Googlebot reads. If you want to make a deliberate choice rather than a default one, our guide on how to control AI crawlers with robots.txt covers the trade offs.
Start at the earliest broken stage and work forwards. A ranking problem cannot be fixed while a crawl problem exists, and content work on an unindexable page is wasted effort. Open the Page Indexing report, find which stage your important pages are stuck at, and fix that layer only.
In practice the order is almost always the same. Make sure the page can be reached, then make sure it deserves to be stored, then make sure it deserves to be chosen. Each of those is a different kind of work, and doing them out of order is how teams burn months.
One case is worth separating out. A page can be missing from the index because Google chose to leave it out, or because you told Google to leave it out, and those look identical in a report. We explain the deliberate version in our guide to what a noindex tag is and when to use it.
If you are not sure which stage is holding your site back, we are happy to take a look. A quick crawl and a read of your Search Console reports usually makes the answer obvious within an hour. Reach out through phoenix.studio and we will walk through it with you.
Tell us where you want to go. We'll tell you how we'd get you there.