Most SEO advice treats "getting indexed" as a single event—you publish a page, Google finds it, and it shows up. In reality, indexing is a multi-stage pipeline with distinct systems making independent decisions at each step. A page can be discovered but not crawled, crawled but not rendered, rendered but not selected, and selected but relegated to a tier that rarely surfaces. Understanding where a page stalls is the difference between guessing and diagnosing.
This is a technical look at how Google's indexing system works in 2026, tracing a URL from the moment Google first hears about it to the moment it becomes eligible to appear in search. Along the way we will separate the myths from the mechanics—especially around the Indexing API and the perennially frustrating "Crawled - currently not indexed" status. If you want the broader context, our [complete guide to SEO](/complete-guide-to-seo/) and [technical SEO guide](/technical-seo-guide/) frame where indexing fits in the wider discipline.
- Indexing is a pipeline: discovery, crawl scheduling, fetching, rendering, canonicalization, index selection, and serving—each a separate decision point.
- Crawling and indexing are not the same. Google can crawl a page and still decline to index it.
- "Crawled - currently not indexed" is usually a quality or duplication signal, not a technical bug.
- The Indexing API is only officially supported for job postings and livestream events—not general content.
- robots.txt and noindex interact in a way that traps many sites: a blocked URL cannot be deindexed via noindex.
Discovery: How Google First Hears About a URL
Before Google can index anything, it has to know the URL exists. Discovery happens through a handful of channels, and the channel matters because it influences how quickly and confidently Google acts on the URL.
- Links from already-known pages. The primary discovery mechanism. When Googlebot fetches a page, it extracts every href and adds new URLs to a discovery frontier. Strong internal linking is still the most reliable way to get pages found.
- XML sitemaps. A direct declaration of the URLs you consider canonical and worth indexing. Sitemaps do not force indexing but they accelerate discovery and provide lastmod signals that inform recrawl scheduling.
- Manual submission via the URL Inspection tool in Google Search Console, which pushes a URL into a priority crawl path.
- External backlinks. Links from other domains introduce your URLs into Google's frontier independently of your own crawl graph—one reason [link building strategies](/link-building-strategies/) still influence discovery and authority together.

The Crawl Queue and Scheduling
Discovered URLs do not get crawled instantly. They enter a scheduling system that decides what to fetch, when, and how often. Google balances two competing pressures: it wants fresh, complete coverage of the web, but it must not overload any single server. The result is a per-host crawl budget governed by two factors Google describes as crawl capacity and crawl demand.
Crawl capacity limit
This is the maximum number of simultaneous connections Googlebot will use for a host, plus the delay between fetches, calculated from how quickly and reliably your server responds. Fast, error-free responses raise the ceiling; slow responses and 5xx errors lower it. This is why server performance is an indexing concern, not just a user-experience one.
Crawl demand
Even with capacity to spare, Google only crawls what it wants. Demand is driven by perceived popularity, how often content changes, and how stale Google's stored copy has become. High-authority, frequently-updated pages get recrawled aggressively; low-value pages that never change may be visited once a quarter or less. For large sites, managing this efficiently is a discipline in itself—see our deep dive on [crawl budget optimization](/crawl-budget-optimization/).
| Signal | Effect on crawl scheduling | What you control |
|---|---|---|
| Server response time | Faster responses raise crawl capacity | Hosting, caching, CDN, database queries |
| 5xx / 429 errors | Sharp reduction in crawl rate | Server stability and rate limits |
| Update frequency | Frequently changed pages recrawled more often | Genuine, meaningful content updates |
| Internal link depth | Shallow pages crawled sooner and more often | Site architecture and linking |
| Sitemap lastmod | Signals which URLs changed | Accurate, honest lastmod values |
Rendering: The Web Rendering Service
Once a page is fetched, its raw HTML enters the index pipeline—but for most modern sites the raw HTML is not the final picture. Google runs pages through the Web Rendering Service (WRS), an evergreen, headless Chromium instance that executes JavaScript, applies CSS, and builds the rendered DOM the way a browser would. Google indexes the rendered output, not just the initial HTML response.
Rendering used to be a heavily deferred, separate wave that could lag crawling by days. In 2026, rendering is far more integrated and fast for most pages, but it is still a resource-intensive step. Pages that depend entirely on client-side JavaScript to inject their primary content, internal links, or canonical tags introduce risk: if the render fails, times out, or the content depends on a user interaction, Google may index an empty or incomplete version of the page.
- Rich, app-like interactivity for users
- Works fine for content that is genuinely post-load or personalized
- Modern frameworks and WRS handle most cases correctly
- Primary content and links must survive a headless render to be indexed
- Render failures or timeouts can strip content from the indexed version
- Canonical tags and meta directives injected via JS are less reliable
- Adds latency to the indexing pipeline for large sites
The safest architecture for indexable content is server-side rendering or static generation, so the important HTML, links, and directives are present in the initial response and rendering only enhances the experience. We cover the failure modes and testing workflow in detail in our [JavaScript SEO and rendering guide](/javascript-seo-rendering/).

Deduplication and Canonicalization
The web is full of duplicate and near-duplicate URLs: session parameters, tracking tags, HTTP and HTTPS variants, trailing-slash inconsistencies, printer-friendly versions, and syndicated content. Google does not want to store or serve dozens of copies of the same thing, so before index selection it clusters URLs it considers equivalent and elects a single representative—the canonical—for each cluster.
Critically, Google treats your rel="canonical" tag as a strong hint, not a command. It weighs several signals when choosing the canonical for a cluster:
- The rel="canonical" annotation you declare in the HTML head or HTTP header.
- Redirects (301/302) that point variants to a preferred URL.
- Internal linking patterns—the URL you link to most consistently.
- HTTPS over HTTP, and cleaner URLs over parameterized ones.
- Which version appears in your XML sitemap.
- Content similarity across the cluster members.
Only the elected canonical is a candidate for the index and for ranking. Non-canonical duplicates are effectively folded into the canonical's record, which is why consolidating link equity onto a single URL matters so much for both indexing and authority.
Index Selection and Tiers
Being crawled, rendered, and canonicalized still does not guarantee a place in the index. Google performs an index selection step where it decides whether the page is worth storing at all, and if so, where. This is the least-documented but most consequential stage for anyone fighting indexing problems.
Google's index is not a flat list. It is tiered by storage and retrieval cost. High-value, frequently-served content lives in fast, expensive storage (historically associated with in-memory and SSD tiers), while lower-value pages are pushed to cheaper, slower tiers and are less likely to be retrieved for a given query. A page can be technically indexed yet sit so deep in a low-priority tier that it almost never surfaces—functionally invisible even though Search Console reports it as indexed.
The practical implication: quality thresholds apply per-page and per-site. If a domain publishes large volumes of thin, templated, or near-duplicate pages, Google may become more conservative about indexing new pages from that site—a form of crawl and index throttling based on historical value. Concentrating effort on fewer, genuinely useful pages usually indexes better than spraying hundreds of shallow ones. Our guide to [content marketing for search](/content-marketing-seo/) explains how to build pages that clear the value bar.
Indexing API Myths
One of the most persistent pieces of bad advice is that you can force pages into the index using Google's Indexing API. This deserves a direct correction.
The Indexing API is officially supported for exactly two content types: JobPosting and BroadcastEvent (livestream) pages. It exists so that time-sensitive content—jobs that expire, streams that go live—can be crawled and removed promptly. Google has repeatedly confirmed it is not intended for, and does not reliably help, general web pages. Third-party "instant indexing" tools that pipe ordinary blog posts through the API are operating outside the documented policy, and any short-term effect is anecdotal rather than a supported feature.
Diagnosing "Crawled - Currently Not Indexed"
This is the status that generates the most frustration, because everything looks technically fine—Google fetched the page successfully, yet chose not to index it. The status is a value judgment, not an error. Work through these causes in order.
- Thin or low-value content. The page does not offer enough unique substance to justify a slot. Expand it into something genuinely useful or consolidate it into a stronger page.
- Near-duplication. The page overlaps heavily with other pages on your site or the wider web, so index selection sees no reason to store another copy. Differentiate or canonicalize.
- Weak internal linking. Orphaned or deeply buried pages signal low importance. Link to the page from relevant, well-linked pages.
- Site-level quality drag. A large volume of thin pages lowers Google's willingness to index new URLs from the domain. Prune or improve the weak pages.
- Fresh page, low authority. Sometimes it is simply a matter of time and accumulated signals. New pages on newer sites often need external references and internal links before selection flips positive.
- Render-dependent content. If the meaningful content only appears after JavaScript execution and the render is incomplete, Google may see an empty page. Verify with the rendered HTML in URL Inspection.
If you have worked through the technical layers and still cannot move the needle, this is where hands-on expertise pays off. Readers who want direct help auditing crawl logs, render behaviour, and index coverage can work with the team at [OttawaSEO.com](https://ottawaseo.com), the professional services counterpart to this publication.
robots.txt and noindex: The Interplay That Traps Sites
These two controls are constantly confused, and the confusion causes real indexing damage. They operate at different stages of the pipeline and cannot be substituted for each other.
| Control | Stage it acts on | What it does |
|---|---|---|
| robots.txt Disallow | Crawling | Prevents Googlebot from fetching the URL at all |
| noindex meta / header | Indexing | Tells Google not to keep the page in the index (requires crawling to be read) |
| rel="canonical" | Canonicalization | Hints which URL in a duplicate cluster to index |
| nofollow | Link graph | Signals not to pass authority through a specific link |
The trap: if you want to remove a page from the index, you must use noindex—but Google can only read a noindex tag if it is allowed to crawl the page. Blocking the URL in robots.txt prevents the crawl, so Google never sees the noindex directive. The URL can then persist in the index as a bare, "no information available" listing, sometimes for a long time.
A related nuance: robots.txt controls crawling, not link consolidation. A blocked page can still accumulate links and appear as a URL-only result. If your goal is consolidation rather than removal, canonicalization or a 301 redirect is usually the better tool.
Google Search Console Inspection Workflows
Search Console is the authoritative window into how Google actually treats your URLs. Two areas matter most for indexing: the Page Indexing report (site-wide patterns) and the URL Inspection tool (single-URL truth). A structured workflow beats random button-clicking. For a broader treatment, see our [Search Console diagnostics guide](/search-console-diagnostics/).
- Start at the Page Indexing report. Review the "Not indexed" reasons grouped by cause. Patterns—hundreds of URLs under one reason—point to systemic issues worth fixing at the template or architecture level.
- Inspect a representative URL. Use URL Inspection to see whether Google has the page indexed, which canonical it chose (user-declared vs Google-selected), the last crawl date, and the crawl outcome.
- View the rendered HTML and screenshot. Under "View crawled page" and "Test live URL," confirm your primary content and internal links actually appear in the rendered DOM. This catches JavaScript rendering gaps immediately.
- Compare declared vs selected canonical. A mismatch tells you Google disagrees with your canonical choice—trace it back to conflicting internal links, redirects, or sitemap entries.
- Use "Test Live URL" for real-time checks. After fixing an issue, the live test shows the current state without waiting for a recrawl, so you can confirm the fix before requesting indexing.
- Request indexing for priority pages only. The button adds the URL to a priority crawl queue. It is a nudge for individual important pages, not a bulk solution, and it does not override index selection.

The mental model to carry away: indexing is a series of independent decisions, and Search Console tells you which decision went against you. Discovery, scheduling, rendering, canonicalization, and selection each have their own failure signature. Match the symptom to the stage, fix the underlying cause, and verify with a live inspection before moving on.
- Trace indexing problems to a specific pipeline stage rather than treating "not indexed" as one problem.
- Server speed and stability directly shape crawl capacity and therefore indexing throughput.
- Server-side or static rendering protects core content, links, and directives from render failures.
- Resolve conflicting canonical signals by aligning links, redirects, and sitemaps on one URL.
- The Indexing API is not a general-purpose tool; there is no supported way to force index selection.
- Never block a page in robots.txt if you still need Google to read its noindex tag.
How long does it take Google to index a new page?
There is no fixed timeline. Established sites with strong internal linking and frequent updates often see new pages indexed within hours to a few days. New or low-authority domains can wait weeks. The variables are discovery speed, crawl scheduling priority, and whether Google deems the page worth selecting for the index after rendering.
Does submitting a URL in Search Console guarantee indexing?
No. The "Request Indexing" button in the URL Inspection tool adds the page to a priority crawl queue, but Google still evaluates quality, duplication, and canonicalization before deciding to index. It speeds up discovery and crawling, not the indexing decision itself.
What does "Crawled - currently not indexed" actually mean?
It means Google fetched the page but chose not to include it in the index. This is almost always a quality, duplication, or value-selection signal rather than a technical block. Common causes include thin content, near-duplicate pages, weak internal linking, or the page competing with a stronger canonical elsewhere on your site.
Can I use the Indexing API for regular web pages?
No. Google's Indexing API is officially supported only for JobPosting and BroadcastEvent (livestream) structured data. Using it for ordinary content pages is against the documented policy and provides no reliable indexing benefit. Rely on sitemaps, internal linking, and the URL Inspection tool instead.
Does noindex remove a page from Google faster than robots.txt?
For removing an already-indexed page, a noindex directive is the correct tool—but Google must be able to crawl the page to see it. If you block the URL in robots.txt, Googlebot cannot fetch the page and therefore never reads the noindex tag, so the URL can linger in the index as a "blocked" result. Allow crawling until the page is deindexed, then block if desired.
Why is my page indexed but not ranking?
Indexing and ranking are separate stages. Being in the index only makes a page eligible to appear. Ranking depends on relevance, content quality, authority signals, and competition for the query. A page can sit in a lower index tier and rarely surface until it earns stronger signals such as internal links and external citations.