Back to Blog

Discovered – Currently Not Indexed: Causes & Fixes

"Discovered – currently not indexed" means Google knows a URL exists but hasn't crawled it yet — not a penalty or a quality verdict. Here's an evidence-led checklist to diagnose and fix it.

Marcus Webb13 min readApril 1, 2026

SEO consultant, 9 years experience, formerly Head of SEO at two Series B startups

"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.

Frequently asked questions

Is "Discovered – currently not indexed" a penalty?

No. The label alone isn't evidence of a penalty — it identifies a crawl stage, not a verdict about your business. Investigate the page and site conditions rather than treating the status itself as a judgment.

Should I rewrite every affected page?

Not automatically. First determine whether a shared access, navigation, template, or canonical issue explains the whole group. Rewrite a page once you can identify specifically how its content fails to serve its purpose.

Why does the live test pass while the page remains unindexed?

The live test checks current accessibility and some technical conditions — it can't guarantee selection for the index. Compare the stored crawl date against your change log and continue the relevant checks rather than assuming the fix failed.

Is a sitemap enough to get a page indexed?

A sitemap helps discovery; it doesn't guarantee inclusion. Keep important pages reachable through useful internal navigation as well — the two work together, not as substitutes for each other.

Will a better Core Web Vitals score fix this status?

Don't treat a performance score as an indexing switch. Investigate actual availability, response delays, and missing content instead — a server failure and a slow-but-usable page are different problems with different evidence and different fixes.

Can I use Google's Indexing API for ordinary blog posts?

No. Google limits that API to eligible pages carrying JobPosting or BroadcastEvent-in-VideoObject markup — it isn't the documented submission route for ordinary articles. Use the standard recrawl request and sitemap workflow instead.

Should I delete and republish the page under a new URL?

Avoid that as a default tactic. It can hide the original evidence and leaves existing links pointing at an address that no longer resolves, without actually correcting whatever the shared problem was. Prefer diagnosing and fixing the existing URL unless there's a genuine reason to move it.

What if the page already has impressions but no clicks?

Recorded impressions establish search exposure during that period, though current status can still change. Verify current indexing once, then investigate the actual queries, positions, intent match, and search presentation — repeated indexing requests aren't a click-through optimization method.

Learn this by doing — not just reading.

SEOdisaster.com teaches SEO through interactive disaster scenarios. Put these concepts into practice in the game.

Play Free →