Where each status sits in Google’s indexing pipeline
Google Search processes every webpage through three distinct stages: Discovery (learning that a URL exists via an XML sitemap, internal link, or external backlink), Crawling (sending Googlebot to fetch the HTTP response and render the HTML/JavaScript), and Indexing (analyzing the page’s text, canonical signals, duplication, and usefulness before storing it in the serving index).
When you open Google Search Console and inspect an unindexed URL, the single most important field in the URL Inspection response is Last crawl:
- If
Last crawlis N/A andPage fetchsays Not checked, your URL stalled between Discovery and Crawling. That is Discovered – currently not indexed. - If
Last crawlshows a real date and time andPage fetchsays Successful, your URL passed Discovery and Crawling, but stalled at Indexing. That is Crawled – currently not indexed.
Side-by-side comparison: Discovered vs. Crawled – currently not indexed
Before changing templates or rewriting articles, compare the exact fields returned by Google’s URL Inspection API for both statuses:
| Diagnostic Dimension | Discovered – currently not indexed | Crawled – currently not indexed |
|---|---|---|
| Did Googlebot fetch the URL? | No. Google registered the URL string from a sitemap or link, but deferred the HTTP request. | Yes. Googlebot requested the URL, received an HTTP 200 OK response, and processed the HTML. |
GSC URL Inspection lastCrawlTime |
Empty / null (never crawled or not crawled in current cycle). |
Populated ISO timestamp (e.g., 2026-10-28T11:42:09Z). |
| Primary Root Causes |
1. Orphan pages (in sitemap, zero internal links) 2. Crawl budget saturation from URL parameters/facets 3. Slow server TTFB or intermittent 5xx errors4. Brand-new domain or large batch publish |
1. Thin, boilerplate, or commodity content 2. Topic cannibalization with another page on your site 3. Empty initial HTML shell (client-side JS rendering trap) 4. Conflicting canonicals or weak internal link authority |
| Will “Request Indexing” help right now? | Sometimes (for a few URLs). Manually queuing 3–5 priority pages can trigger the initial fetch. | Almost never without changes. Re-submitting the exact same HTML usually produces the exact same deferral. |
| Primary Engineering & Editorial Fix | Add contextual internal links from indexed pages, prune junk URLs from sitemaps, and reduce server response latency. | Increase unique information gain, consolidate overlapping pages with 301 redirects, and ensure server-rendered HTML. |
How to fix “Discovered – currently not indexed” step by step
When dozens or hundreds of URLs sit in Discovered – currently not indexed, Google is telling you that your site is announcing URLs faster than its scheduler considers worth fetching. To clear the backlog:
-
Step 01
Eliminate “sitemap-only” orphan pages
This is the #1 cause on sites under 10,000 pages. If a URL is listed in
/sitemap.xmlbut has zero internal<a href>links pointing to it from crawlable pages on your site, Google treats it as low-priority. Add links to those pages from relevant category hubs, navigation menus, or high-traffic articles. -
Step 02
Check Search Console Crawl Stats for server latency & 5xx spikes
Open Settings → Crawl stats in Google Search Console. According to Google’s official documentation, if your average response time climbs sharply (for instance, above 800–1,000ms) or your host returns
429/503errors, Googlebot automatically throttles its crawl rate to avoid overloading your server. -
Step 03
Prune parameter bloat and non-200 URLs from your XML sitemap
Make sure your sitemap only lists clean, canonical
200 OKURLs. If your site generates thousands of filter combinations (?sort=price&tag=ai), date archives, or internal search results that Googlebot wastes crawl capacity on, block those low-value parameter traps or canonicalize them properly so crawl capacity goes to real articles and product pages. -
Step 04
Publish in steady batches rather than massive unlinked dumps
If you publish 400 programmatic or AI-generated pages overnight on a new domain with limited authority, Google will place most of them into Discovered – currently not indexed. Roll out new sections in structured clusters connected by strong hub-and-spoke internal links.
How to fix “Crawled – currently not indexed” step by step
When a page is in Crawled – currently not indexed, Googlebot has already spent the bandwidth to download your page. Your job is to diagnose what Googlebot saw when it parsed the document:
-
Step 01
Inspect the raw server-rendered HTML (not just your browser DOM)
Run
curl -s https://yourdomain.com/your-pageor use Search Console’s View Crawled Page → HTML tab. If your page relies on client-side React/SPA data fetching without SSR or static generation, Googlebot may have fetched a template containing only a loading spinner and boilerplate navigation. -
Step 02
Check for internal keyword cannibalization and near-duplicates
Compare the unindexed URL against every already-indexed page on your domain. If two guides answer the same question with 70% overlapping headings and examples, Google routinely indexes one and leaves the other in Crawled – currently not indexed. Merge the stronger points into the primary URL and set up a permanent
301redirect. -
Step 03
Replace generic commodity summaries with concrete evidence
Pages that repeat generic definitions without original benchmarks, code examples, pricing tables, or specific technical steps are frequently excluded after crawling. Add specific data tables, edge-case troubleshooting, and verifiable examples that differentiate the URL from existing search results.
-
Step 04
Verify canonical alignment and internal link depth
Confirm that the page’s
<link rel="canonical">exactly matches its sitemap<loc>(including trailing slash andwww/ non-wwwhost) and add 3–5 contextual internal links with descriptive anchor text from pages that already earn organic impressions in Search Console.
[URL 1] https://tengrx.com/guides/programmatic-tag-page/
GSC Coverage State: "Discovered - currently not indexed"
Last Crawl Time: null (never fetched by Googlebot)
In XML Sitemap: Yes
Internal Links In: 0 (Orphan URL)
Recommended Action: Do NOT rewrite content yet. Add internal links from
/guides/ hub or remove thin tag page from sitemap.
[URL 2] https://tengrx.com/guides/ai-seo-overview/
GSC Coverage State: "Crawled - currently not indexed"
Last Crawl Time: 2026-10-29T14:22:10Z (Page fetch: SUCCESSFUL)
Word Count (SSR): 310 words (overlaps 74% with /guides/desktop-seo-assistant/)
Internal Links In: 1
Recommended Action: Consolidate into /guides/desktop-seo-assistant/ with a
301 redirect, or expand with unique technical depth.
How to separate both states automatically across your sitemap
Checking URLs one by one inside the Search Console web interface is tedious when you have dozens of unindexed pages. When you connect your Search Console property to Searchbop, the desktop audit engine fetches your XML sitemaps, crawls your live URLs to count internal links and inspect canonical/robots tags, and queries the Google Search Console URL Inspection API (up to 100 stale or uninspected URLs per run within Google’s quota limits).
That allows you to ask in plain English: “Group my unindexed sitemap pages into Discovered vs. Crawled, and show me which ones are orphans vs. thin or overlapping content.” Instead of guessing, you get a file-by-file action plan—and for GitHub-backed Markdown or Next.js sites, you can generate internal link additions or content expansions as a reviewed pull request.
Official documentation & honest boundaries
No tool can force Google to index a page: Fixing internal links, server speed, canonicals, and content depth removes the technical and quality barriers holding a page back, but Google’s indexing pipeline makes the final decision on whether and when to crawl or index any URL. Reference: Google Search Central — Crawling and Indexing FAQ and Page Indexing Report Documentation.
Research context & search queries covered on this page Indexing · P1
Cluster & intent: indexing (Informational · P1) · Target queries: discovered currently not indexed, crawled currently not indexed, Google indexing troubleshooting.
Benchmark prompt addressed: P11 — Why does Search Console say crawled currently not indexed, and what should I check first?