Skip to content
    HadoSEO

    ← all articles

    Technical Help

    HadoSEO · · 10 min read

    Crawled or Discovered – Currently Not Indexed: What It Means and How to Fix It

    [ summarize with ai ]

    Two statuses in Google Search Console cause more confusion than any others: "Crawled – currently not indexed" and "Discovered – currently not indexed". Both mean your page isn't in Google. Neither is an error message, which is exactly why they're frustrating: Search Console doesn't tell you what to fix.

    This guide explains what each status means, the usual causes, and a fix list for each. It also covers the cause most guides skip: on JavaScript apps, Google may simply be getting a blank page.


    Where you'll see these statuses

    In Search Console, open Indexing → Pages. Under "Why pages aren't indexed", Google groups every known URL it hasn't indexed by reason. Click a reason to see example URLs.

    You'll also see the status on a single page when you paste its URL into URL Inspection, under "Page indexing".

    Some URLs in these lists are fine to leave out: pagination, filtered views, test pages, old URLs that now redirect. Focus on pages you actually want in search: product pages, landing pages, guides and posts.


    What "Discovered – currently not indexed" means

    Google has found the URL, usually in your sitemap or through a link, but hasn't crawled it yet. In Google's own wording, this typically happens because crawling it was expected to overload the site, so Google rescheduled the crawl.

    On a large site, that can be literal: Google is pacing itself. On a small site, it usually means something softer. Google has decided the URL isn't a priority right now.

    Common causes

    • Weak internal linking. The page is only in the sitemap, or linked from one deep page. Google treats pages you barely link to as pages you don't care about.
    • Too many low-value URLs. If Google has already crawled many thin or near-duplicate pages on your site, it has less reason to rush to the next one.
    • A slow or erroring server. When responses are slow or return 5xx errors, Googlebot crawls less.
    • A new site. New domains have little crawl history, so discovery can outpace crawling for a while.
    • Links that only exist after JavaScript runs. If your navigation is built by JavaScript, the crawler may find URLs in your sitemap but no links to them in the HTML. That makes them look orphaned.

    How to fix it

    1. Link to the page from pages Google already crawls. Your homepage, main navigation, a category or blog index, or a related article. Use descriptive anchor text.
    2. Clean up your sitemap. List only canonical URLs that return 200. Remove redirects, 404s and noindexed pages. Keep <lastmod> accurate.
    3. Reduce low-value URLs. Noindex or consolidate thin tag pages, parameter variations and near-duplicates.
    4. Check server health. In Settings → Crawl stats, look at response times and the share of server errors.
    5. Make sure links are real <a href> links in the HTML. Click handlers and buttons that change the route aren't followed as links.

    What "Crawled – currently not indexed" means

    Google fetched the page and decided not to index it, at least for now. Google's documentation says the URL may or may not be indexed in the future, and that there's no need to resubmit it for crawling.

    This is a quality or uniqueness decision about what Google received. The important words are "what Google received". That may not be what you see in your browser.

    Common causes

    • Thin content. Not enough text, or text that doesn't answer anything a searcher would look for.
    • Duplicate or near-duplicate pages. Many pages that differ by a word or two (city pages, product variants, tag archives).
    • Canonical confusion. The page's canonical points elsewhere, or Google picked a different URL as the main version.
    • Content Google never saw. The HTML Google processed was nearly empty because the page is built by JavaScript. More on this below.
    • Soft errors. The page returns 200 but reads like an error or empty state ("No results", "Loading…").

    How to fix it

    1. Run URL Inspection → Test live URL → View tested page. Check the HTML tab for your real headline and body text. If it isn't there, jump to the JavaScript section.
    2. Make the page clearly useful and distinct. Add the specifics a searcher needs: what it is, who it's for, numbers, steps, examples. Remove boilerplate that repeats across pages.
    3. Consolidate duplicates. Merge near-identical pages, or point their canonicals at the best version.
    4. Check the canonical. It should point to the page itself unless you deliberately want another URL indexed.
    5. Strengthen internal links. A page linked from several relevant pages signals that it matters.
    6. Then validate. In the Page indexing report, open the reason and click Validate Fix so Google rechecks the affected URLs.

    The JavaScript cause: Google gets a blank page

    If your site is a React, Vue or Svelte single-page app, or was built with an AI app builder like Lovable, Replit, Bolt.new or Base44, check this first. These apps usually build each page in the browser. The HTML the server sends looks roughly like this:

    <html>
      <head>
        <title>My App</title>
      </head>
      <body>
        <div id="root"></div>
        <script src="/assets/index.js"></script>
      </body>
    </html>

    A person's browser runs the script and the page appears. A crawler reading the raw HTML sees one generic title and an empty div. Google can run JavaScript in a later rendering step, but that step isn't guaranteed to pick up everything, and until it does, every URL on your site looks the same.

    That's how one problem shows up as both statuses:

    • Crawled – currently not indexed, because the HTML Google processed had no unique content.
    • Discovered – currently not indexed, because after crawling several empty-looking pages, Google has little reason to prioritize the rest. Links added by JavaScript also don't help it find them.

    It tends to come with three other signs: only your homepage is indexed, you're missing from ChatGPT and Perplexity answers (most AI crawlers don't run JavaScript at all; see LLM SEO), and link previews on X, Slack and LinkedIn show your template's default title. Our page on SEO for client-side apps walks through all four signs with examples.

    How to check in a minute

    • Run a free scan. It fetches your pages the way Google and AI crawlers do and shows how much content each one receives.
    • Paste one affected URL into the Googlebot simulator to compare what a person sees with what Googlebot gets.
    • Or use URL Inspection's live test and read the HTML tab, as above.

    How to fix it

    You need crawlers to receive complete HTML on the first request. Three ways to get there:

    • Server-side rendering (SSR). The server builds the full HTML for every request. The most thorough fix, but often a rebuild. New Lovable projects are now server-rendered by default (details).
    • Static generation (SSG). Pages are built to HTML at deploy time. Great for content that doesn't change often, harder for dynamic pages.
    • Prerendering. Bots get a rendered copy of each page while people keep the live app. No code changes, which makes it the usual choice for apps from AI builders. HadoSEO does this through one DNS record.

    SSR vs SSG vs CSR compares the trade-offs in more detail.


    A fix checklist for both statuses

    Work through these in order. Each one rules out a cause before you move to the next.

    1. Is the page worth indexing? If not, noindex it or remove it from the sitemap and move on.
    2. Does Google get your content? URL Inspection live test, HTML tab. If the HTML is empty, fix rendering first. Nothing else matters until this passes.
    3. Is it unique? No near-duplicates competing for the same query. Canonical points to itself.
    4. Is it linked? At least a few internal links from crawled, relevant pages, as real <a href> links.
    5. Is the sitemap clean? Only canonical, 200-status URLs with honest <lastmod> dates.
    6. Is the server healthy? Fast responses and few errors in Crawl stats.
    7. Validate and wait. Click Validate Fix, then check the report again over the next few weeks.

    For the step-by-step on inspecting a URL and requesting indexing, see how to get Google to crawl and index your site.


    How long until the pages get indexed?

    There's no fixed timeline. Google's documentation says crawling can take anywhere from a few days to a few weeks, and a Validate Fix run can take a while to complete on larger sites. What you can control is how strong the signals are when Google comes back: complete HTML, unique content, and links pointing at the page.

    If you want to know when Google actually returns, Search Console's "Last crawl" date in URL Inspection is the simplest check. HadoSEO's crawl analytics show every verified Googlebot visit by page, so you can see a fixed page get fetched instead of waiting for the report to update.


    Frequently Asked Questions

    What does Crawled – currently not indexed mean?

    Google fetched the page but decided not to add it to the index, at least for now. It isn't an error. It usually means Google didn't find enough unique, useful content in what it received, or chose another URL as the canonical. Improving the page and its internal links is the fix, not resubmitting it.

    What does Discovered – currently not indexed mean?

    Google knows the URL exists, usually from a sitemap or a link, but hasn't crawled it yet. Google's documentation says this typically happens when crawling it was expected to overload the site, so the crawl was rescheduled. On small sites it more often means Google doesn't consider the URL a priority.

    Which is worse, Crawled or Discovered – currently not indexed?

    Neither is a penalty. Discovered means Google hasn't looked yet, so the fix is about priority: internal links, sitemap quality and server health. Crawled means Google looked and passed, so the fix is about what the page delivered: content, duplication, canonicals and whether the HTML had your content at all.

    Can JavaScript cause Crawled – currently not indexed?

    Yes. If your site builds pages in the browser, the HTML Google first receives can be a nearly empty shell. Google may render the JavaScript later, but if the content, title or links don't come through, the page looks thin or identical to every other page, and Google skips it.

    Should I request indexing for these pages?

    Only after fixing the cause. For Crawled – currently not indexed, Google says there's no need to resubmit the URL. Fix the page, then use URL Inspection's live test to confirm Google sees your content, and request indexing once.

    How long does it take for these pages to get indexed after a fix?

    There's no fixed time. Google's documentation says crawling can take from a few days to a few weeks. Use the Validate Fix button in the Page indexing report to ask Google to recheck the affected URLs, and track the count over the following weeks.

    [ free scan ]

    How much of your site can AI actually see?

    No signup required · results in ~60 seconds