"Discovered – currently not indexed" means Google knows a URL exists but hasn't crawled it yet, in the state reported by Search Console. Start by checking whether the page should be indexed at all, whether Google can actually access it, and how your own site links to it — then investigate server problems or excessive URL generation if the evidence points there. The message doesn't, by itself, prove your article is poor quality, that your site has a penalty, or that you need more backlinks. Google's own explanation specifically notes that a crawl can be postponed when it's expected to overload the site.
The quick checklist
Before rewriting a page or changing robots.txt, work through these questions — they're diagnostic steps, not seven prerequisites that guarantee indexing:
- Should this exact URL appear in search? Exclude intentional duplicates, retired URLs, and private pages from your recovery target.
- What does URL Inspection show right now? Record its status and crawl date, then compare with a live test.
- Does the public page actually work? Check its response, redirects, indexing instructions, and main content.
- Can someone reach it through your website? Give it relevant, crawlable internal links.
- Do your URL signals agree? Check the sitemap and canonical against your intended destination.
- Is this isolated or widespread? Compare similar pages and recent releases.
- What changed after your fix? Track crawling, indexing, and search traffic separately.
First, distinguish discovered from crawled
- Discovered – currently not indexed — Google knows the URL but hasn't yet crawled it. Investigate discovery routes, current accessibility, and whether similar URLs are also waiting.
- Crawled – currently not indexed — Google crawled the page but hasn't indexed it. Investigate the delivered content, duplication, purpose, and differences from already-indexed peers.
- URL is unknown to Google — Google has no recorded knowledge of the URL in the inspection result. Investigate publication, internal links, and sitemap inclusion.
- Excluded by 'noindex' tag — Google encountered an instruction excluding the page. Confirm whether the instruction is actually intentional.
- Blocked by robots.txt — a robots rule prevents crawling. Check the exact rule and the exact URL path it matches.
- Duplicate or alternate status — Google is treating another URL as the representative version. Confirm whether that selection matches your intention.
- Soft 404 — Google interprets the response as missing or error content. Check the status code against the actual main content delivered.
⚠️ Warning
Don't assign a cause solely from a label. If 40 articles using one template are all affected while other sections work normally, investigate the shared template and its release history before editing each article individually.
Step 1: Check whether the page really needs indexing
Create a small list of URLs that represent genuinely useful, public destinations — main product pages, substantive guides, important categories, working tools. Keep these separate from tracking variants, internal search results, account screens, expired content, and intentionally redirected URLs; Google's goal isn't to index every URL your application can technically generate. A hypothetical site with 300 preferred public pages and 2,000 tracking-parameter variations might see "2,000 URLs not indexed" and panic — but that number tells you almost nothing about whether the 300 pages that actually matter are discoverable.
For the affected page, write one sentence explaining its independent purpose — something like "this page demonstrates how to diagnose a canonical conflict in a particular ecommerce setup, using annotated examples." If the honest purpose is only "another version of an existing article with slightly different keywords," reconsider whether it deserves a separate URL at all before trying to get it indexed.
Don't use a site: search as your only test
A site: search can work as a quick spot check, but Google states these results aren't exhaustive — their absence isn't a complete indexing diagnosis on its own. Use URL Inspection to investigate the specific URL instead. Likewise, ranking poorly for your preferred keyword is a separate ranking question — a page can be fully indexed and still earn little visibility for a particular query.
Step 2: Record what Google knows, then test the live page
Open URL Inspection for the exact URL, including its protocol, hostname, path, and parameters, and record the reported indexing state, the last crawl date if present, whether crawling and indexing were allowed, the declared and Google-selected canonical where available, and the date of your most recent relevant change. Then run Test Live URL and inspect the available response and rendered output.
The indexed view and the live test answer different questions: one describes Google's stored information, the other checks the page right now. A successful live test doesn't guarantee indexing, predict canonical selection, or check every exclusion condition.
✦ Insight
You remove an accidental noindex instruction on Monday. A live test sees the correction immediately, but the stored report still reflects Friday's crawl. That gap isn't evidence the edit failed — compare the timestamps before making another change.
Step 3: Confirm access and a usable response
Google's minimum technical requirements are allowing Googlebot access, returning a successful HTTP response, and providing indexable content — meeting them makes a page eligible for consideration, it doesn't guarantee inclusion. Check the public URL while signed out: does it show the actual page, an authentication screen, a bot challenge, an error, or an empty application shell?
- 200 — is the intended content actually present, or just a 200 status wrapped around an empty shell?
- Redirect — is the final destination correct and genuinely usable?
- 401 or 403 — is a page that should be public accidentally restricted?
- 404 or 410 — was the page genuinely removed, or is routing broken?
- 429 or 5xx — are rate limits, infrastructure capacity, or overload interfering with crawling?
Google documents that 429 responses and server errors can reduce crawling, while a successful response that contains an error message instead creates a soft-404 problem — a different diagnosis with a different fix.
# Read-only request that retrieves headers and follows redirects with GET
curl --location --max-redirs 10 --max-time 30 \
--dump-header headers.txt --output page.html \
'https://example.com/your-page'
# Replace the URL with the affected page. This shows what this request
# received — not necessarily what Googlebot receives — and does not
# execute JavaScript. A HEAD-only check can also differ from a normal
# GET response on some servers.Inspect bot protections carefully
A page can work fine for you while a firewall, CDN rule, or authentication layer interferes with a crawler. Compare the affected paths and request times against your access logs. Don't broadly disable protection or trust every request claiming to be Googlebot — Google documents ways to verify its requests using published IP ranges or DNS checks. If many pages became inaccessible right after one security-rule change, investigate that single event before treating it as dozens of separate content failures.
Step 4: Check robots.txt and indexing instructions separately
robots.txt controls crawling; noindex controls inclusion after an instruction is actually retrieved. A robots block can prevent Google from ever seeing a noindex instruction in the first place. Neither mechanism is a substitute for protecting genuinely confidential information with real authentication.
- robots.txt — e.g. Disallow: /guides/ — could be blocking the relevant path entirely.
- HTML metadata — <meta name="robots" content="noindex"> — excludes the page once it's processed.
- HTTP header — X-Robots-Tag: noindex — can apply even when it's invisible in the HTML source.
- CMS or application settings — a staging or privacy setting that may generate rules across a whole template at once.
A common real example: a staging environment uses a noindex header, and the application gets copied to production with that configuration still intact. Adding internal links won't resolve this — the underlying configuration needs correcting directly. Remove accidental exclusions only from pages genuinely intended as public search destinations, and keep deliberate exclusions in place for private or unsuitable content. Test the precise URL pattern before rolling out any broad robots.txt rule.
Step 5: Give the page a useful internal route
Google generally discovers crawlable links through anchor elements with an href, and recommends linking important pages from other pages with understandable anchor text — there's no documented requirement for exactly two internal links or a specific source-page traffic level. Ask a practical question: where would someone naturally encounter this page while actually browsing your site? For an indexing guide, useful routes might include a technical SEO hub, a troubleshooting lesson, and an explanation of Search Console statuses — the links should help a reader continue a task, not just exist for crawlability's sake.
<a href="/blog/page-not-indexed-google-fix">
Diagnose why a page is not indexed
</a>Don't stop at adding a link somewhere in the footer — check whether the surrounding page is itself reachable, and whether the destination is the intended URL rather than an old, already-redirected version.
How to find potential orphan pages
Compare your CMS's published URL list and sitemap against the URLs actually reached by a link-based crawl, and investigate useful pages missing from that crawl. Treat a discrepancy as a lead, not a final verdict — crawl configuration, JavaScript-rendered navigation, and access restrictions can all affect the result.
Step 6: Align the sitemap and canonical URL
An XML sitemap helps communicate which URLs you want discovered — it doesn't reserve crawl resources or guarantee indexing, and Google ignores its priority and changefreq fields. For the affected page, compare the URL you link to internally, the URL listed in the sitemap, the canonical the page declares, and the final destination after any redirects. If these point in different directions, establish the one intended public version before requesting indexing at all.
<!-- On the tracking-parameter version, point to the clean URL -->
<!-- https://example.com/guides/indexing?utm_source=newsletter -->
<link rel="canonical" href="https://example.com/guides/indexing">
<!-- On https://example.com/guides/indexing itself, self-referencing -->
<link rel="canonical" href="https://example.com/guides/indexing">Canonicalization is a set of signals, not a command Google is obligated to obey. Don't use noindex as a substitute for selecting a preferred duplicate, and don't canonicalize genuinely distinct pages to one generic destination — the practical goal is consistency across your signals, not forcing every duplicate into the index.
Step 7: Check that the main content survives rendering
Google can process JavaScript, but successful rendering depends on accessible resources and working page behavior — an article that only appears after a user interaction, or depends on a failing content request, deserves direct investigation. Compare three versions: the server's initial HTML response, the page rendered in your own browser while signed out, and the tested output available in URL Inspection. Look specifically for the main explanation, product details, and relevant links — not merely the logo and navigation rendering correctly.
A common real example: a product page returns 200 and displays its header fine, but its product-data endpoint fails for unauthenticated requests, leaving the main content area empty. Writing a longer meta description does nothing to fix missing product information. Serving essential content in the initial HTML can simplify both access and troubleshooting — that's an implementation recommendation, not a guarantee of faster indexing or a requirement to abandon JavaScript entirely.
Step 8: Investigate crawl capacity when the pattern warrants it
Crawl budget deserves attention when a large or rapidly changing site produces more URLs than Google readily processes, or when many important pages sit waiting for discovery to become a crawl. Google's own rough illustrative scale: around a million-plus unique pages for a large site updating roughly weekly, or around 10,000-plus for a site with very rapidly changing content such as daily updates — these are examples, not exact thresholds, and a 60-page site with three waiting articles shouldn't assume it needs enterprise crawl-budget engineering.
When warranted, use Settings → Crawl Stats to examine request trends, response times, response codes, and host availability — the report describes requests, not a count of newly indexed pages, and repeated requests complicate any direct comparison with your total page count. Pair it with server logs and recent release history: more failures right after a hosting migration suggests a routing or capacity regression; a surge of requests for filter combinations suggests uncontrolled URL generation; one content section stalling right after a release suggests a shared template or metadata change worth checking first.
Before blocking any parameter, establish what it actually changes — a sort order, a tracking code, and a filter producing a genuinely distinct, useful collection shouldn't automatically receive the same treatment. Don't copy broad robots rules from an article without checking your own application against them; a rule that reduces unwanted crawling can also prevent a crawler from reading a canonical or noindex instruction you actually wanted it to process.
Step 9: Improve the page's independent value
Once access and URL handling are sound, assess honestly whether the page completes a useful task better than your existing resources already do. Google's people-first content guidance emphasizes original value, reliable information, and satisfying the reader's actual purpose — it doesn't prescribe a word count that guarantees indexing.
- A list of generic causes → a decision table linking specific evidence to the next check.
- Instructions copied from documentation → a clear explanation with original, reproducible examples.
- A tool page with no explanation → a worked example, input limits, and interpretation guidance.
- Another article covering the same task → a genuinely distinct use case, or one consolidated, better-maintained resource.
- An unsupported success claim → a documented observation with dates and stated limitations.
⚠️ Warning
Don't buy backlinks as an indexing repair. External references may help discovery, but they can't remove a noindex instruction, repair a server error, or guarantee Google will include the destination.
Step 10: Request recrawling appropriately and measure what happens
For a small number of new or materially changed URLs, use URL Inspection's indexing request; for many URLs, maintain an accurate sitemap instead. Google documents submission quotas but doesn't publish a fixed universal daily allowance, and repeated requests for the same unchanged URL don't speed up crawling — if a URL has merely been crawled and not indexed, resubmitting it unchanged isn't a repair. Investigate the evidence and make a justified change first.
Google says crawling can take anywhere from a few days to a few weeks, without guaranteeing inclusion — that's guidance about typical timing, not an indexing service-level agreement. As a practical workflow: record the deployment date, verify the live fix immediately, and review affected URLs on a weekly cadence. Escalate genuine access failures promptly, and avoid re-editing the same healthy page every day just because a report hasn't caught up yet.
Track outcomes against a fixed list of important URLs so newly generated duplicates don't distort your measurement, recording for each: published (correct public URL and content available), discovered (Google has a record of the URL), crawled (a recorded crawl or verified request), indexed (inspection indicates inclusion for the intended version), search visibility (relevant impressions and clicks), and useful outcome (a reader actually completes the action the page supports). A simple coverage calculation — intended canonical pages indexed ÷ intended canonical pages assessed × 100 — gives you a trackable number without any claim about what it should be: 18 of 24 assessed guides indexed is 75%; 21 of the same 24 later is 87.5%. For a large site, disclose your sampling method, and don't present a conveniently selected sample as the complete site picture.
💡 Tip
Practice this in the game: Chapter 1 (The Indexing Inferno) simulates a real discovery-vs-indexing crisis where you have to triage which pages deserve crawl priority and fix the internal architecture before a product launch.