In short
- Discovered – currently not indexed: Google knows the URL but hasn't crawled it. Usually weak internal linking, a big batch of new URLs or a slow server.
- Crawled – currently not indexed: Google fetched the page and chose not to index it. Usually thin, duplicate or client-rendered content. Resubmitting won't help.
- Start with the list, not one URL: filter the report to submitted pages, export it and group by path to find the template or section at fault.
- Triage in order: eligibility (200, no noindex, self canonical, not blocked), then discovery (internal links, sitemap), then value (thin or duplicate content).
- Request indexing once after a real fix. Then wait: Google says crawling can take a few days to a few weeks.
"Discovered – currently not indexed" means Google knows the URL exists but has not crawled it yet. "Crawled – currently not indexed" means Google fetched the page and decided not to index it, at least for now. The first is usually a discovery or crawl priority problem. The second is usually a value problem: the page looks thin, duplicate or unimportant. Both are fixed the same way, in the same order: make the page eligible, make it easy to find, then make it worth indexing.
What each status means
Both statuses appear in Google Search Console's Page indexing report, under "Why pages aren't indexed". Here is what Google's own documentation says:
| Status | Google's description | What it tells you |
|---|---|---|
| Discovered – currently not indexed | “The page was found by Google, but not crawled yet.” Typically Google wanted to crawl it, but this was expected to overload the site, so the crawl was rescheduled. | Google has the URL (from a link or sitemap) but hasn't fetched it. The last crawl date is empty. |
| Crawled – currently not indexed | “The page was crawled by Google but not indexed. It may or may not be indexed in the future; no need to resubmit this URL for crawling.” | Google saw the content and chose not to index it yet. Recrawling alone won't change that. |
Neither status is an error. Google never promises to index every URL. But if a page you care about sits in either bucket for weeks, something about the page or the site is telling Google it can wait.
The difference, in practice
Discovered: Google hasn't looked
On a small site, the "overload" reason rarely means your server is actually struggling. More often Google found the URL through a sitemap only, sees few or no internal links to it, and gives it low crawl priority. New sites with many URLs at once (for example 200 templated pages an agent generated in one afternoon) hit this a lot. Slow or erroring servers make it worse.
Crawled: Google looked and passed
Google fetched the page. Common reasons it then holds back: the main content is thin or missing from the HTML (a client-rendered shell), it duplicates another page on your site or elsewhere, it is one of many near-identical template pages, or the site as a whole has not earned enough trust yet. Resubmitting does not help here; Google says so directly. The page has to change.
Find the pattern before fixing pages
Don't start with one URL. Start with the list, because the cause is usually shared by a whole group of URLs.
- Filter to the URLs you submitted
In the Page indexing report, the dropdown above the chart defaults to All known pages. Switch it to All submitted pages (or one sitemap). That hides URLs Google found on its own, such as old slugs,
?sort=variants and tag archives, and leaves the pages you actually asked Google to index. - Export and group by path
Open the status, then export the examples table. It holds at most 1,000 rows, so on bigger sites treat it as a sample. Group the URLs by their first path segment to see which template is affected:
Terminal # Adjust the column if your export puts the URL elsewhere tail -n +2 export.csv | cut -d, -f1 | tr -d '"' \ | awk -F/ '{print "/" $4}' | sort | uniq -c | sort -rn # 142 /integrations # 31 /blog # 4 /docsOne template dominating the list (142 programmatic integration pages above) points to a site-level cause: too many similar pages, or a section with no internal links. A handful of scattered URLs points to page-level causes.
- Decide which URLs you care about
Parameter variants, paginated archives and old URLs that redirect can sit in this status forever without harm. Leave them, or stop linking to them. Spend your time on the pages you want to rank.
A triage order that works
Work through these in order. There is no point improving content on a page Google is not allowed to index.
- Eligibility: can this page be indexed at all?
Check four things on the live URL:
Terminal URL=https://your-site.com/guides/widgets # 1. Returns 200 directly (no redirect, no 404) curl -s -o /dev/null -w "%{http_code} %{redirect_url}\n" "$URL" # 2. No noindex in the header or the page curl -sI "$URL" | grep -i x-robots-tag curl -s "$URL" | grep -io '<meta name="robots"[^>]*>' # 3. Canonical points to itself curl -s "$URL" | grep -o '<link rel="canonical"[^>]*>' # 4. Not blocked in robots.txt curl -s https://your-site.com/robots.txtA canonical that points to another URL, or a stray
noindexleft over from staging, explains many "not indexed" pages on its own. Also check that the main text is in the raw HTML, not added by JavaScript later. - Discovery: can Google find it easily?
Link the page from at least one or two related, already indexed pages with descriptive anchor text, and make sure it is reachable within a few clicks of the homepage. Google's guidance is plain: every page you care about should have a link from at least one other page on your site. Then confirm the URL is in your sitemap, the sitemap lists only 200, canonical, indexable URLs, and it is submitted in Search Console. Our internal linking guide covers how to do this on a small site. The links must be real
<a href>elements withoutnofollow; a card with a click handler is not a link to Google.If you have server or CDN logs, check whether Googlebot has fetched the URL at all:
Terminal grep "/guides/widgets" access.log | grep -i googlebot | tail -5 # Anyone can fake the user agent. Confirm an IP really is Google: host 66.249.66.1 # should end in googlebot.com, google.com or googleusercontent.com host crawl-66-249-66-1.googlebot.com # should resolve back to the same IP - Value: is the page worth indexing?
Read the page as a searcher would. Does it answer something better than what already ranks? Is it a near copy of another page on your site? If you have many template pages that only swap a keyword, pick the best ones and make them genuinely different, merge the rest, or mark them
noindex. A smaller set of strong pages tends to get indexed faster than a large set of weak ones.
Using URL Inspection and "Request indexing"
Paste the URL into the search bar at the top of Search Console. The URL Inspection tool shows Google's indexed version: whether the URL is on Google, how it was discovered (sitemaps and referring pages), the last crawl, whether crawling and indexing are allowed, and the user-declared versus Google-selected canonical.
Click Test live URL to fetch the current version. Use View tested page to see the HTML Google received and, for a successful test, a screenshot. If your content is missing there, the problem is rendering, not quality.
When "Request indexing" helps:
- You fixed an eligibility problem (removed noindex, fixed the canonical, unblocked robots.txt).
- You published or substantially changed an important page and want it recrawled sooner.
When it does not help:
- The page is "Crawled – currently not indexed" and you have not changed it.
- You already requested it. Google says requesting a recrawl multiple times for the same URL won't get it crawled any faster.
- You have many URLs. There is a quota for individual requests; submit a sitemap instead.
Rule out crawl capacity
Google's own description of "Discovered" mentions overloading the site, so check that before blaming content. Open Settings > Crawl stats (available for root-level properties only). It shows host status for robots.txt fetching, DNS resolution and server connectivity, the average response time, and crawl responses by type. Rising server errors or response times mean Google will crawl less. Google names 5xx and 429 responses and a slowing site as reasons it lowers crawl capacity. If URL Inspection reports "Hostload exceeded", Google is holding back because of your server.
"Crawl budget" in the strict sense is rarely your problem on a small site. Google's crawl budget guide is written for sites with over a million pages, or over 10,000 pages that change daily. Below that, the status almost always means low priority (weak links, many similar pages) rather than a hard limit.
How long to wait
Google says crawling can take anywhere from a few days to a few weeks. For a new site or a newly linked page, give it two to four weeks after your fixes before you change course. Check progress in URL Inspection rather than with site: searches, which Google notes are not always exhaustive.
If a page is still not indexed after a month, and it is eligible, linked and in the sitemap, the answer is almost always value. Rework it or fold it into a stronger page.
Decision table
| What you see | Likely cause | Do this |
|---|---|---|
| Discovered, URL only in the sitemap | No internal links, low crawl priority | Link it from related indexed pages; keep it in the sitemap |
| Discovered, hundreds of new URLs at once | Large batch of low-priority or templated pages | Link the best ones, noindex or remove the rest, publish in smaller batches |
| Discovered, linked only from JS cards or nofollow links | Google can't follow those links | Use plain <a href> links without nofollow |
| Discovered, slow or erroring server | Google backs off to avoid overloading the site | Fix 5xx errors and slow responses; check the Crawl stats report |
| Crawled, raw HTML has no main content | Client-side rendering shell | Render the content on the server or prerender it |
| Crawled, Google-selected canonical differs | Google sees it as a duplicate | Make the page distinct, or canonical it to the main version on purpose |
| Crawled, short or templated text | Thin content | Expand with specifics, merge into a stronger page, or noindex |
| Crawled, eligible and substantial | Site-level trust or plain timing | Add internal links from your strongest pages, earn a few external links, wait |
| Either status, noindex or blocked | Not eligible | Remove noindex or the robots.txt block, then Request indexing once |
Brief your coding agent
Most of the triage is mechanical, so an agent can do it if you give it the list and the order. Paste the exported URLs and something like:
These URLs are "Discovered/Crawled – currently not indexed" in Search Console.
For each one, on production:
1. curl it: report status code, x-robots-tag, meta robots and the canonical.
2. Check the main text is in the server HTML (not added by client JS).
3. Find which route renders it and list every internal <a href> to it in the code.
4. Check it is in sitemap.xml.
Fix eligibility problems first. For pages with fewer than two internal links,
add links from related pages with descriptive anchors. Don't create new pages.
Group pages that look thin or near-duplicate and list them for me to decide on.Keep the value decision (rewrite, merge or noindex) for yourself. An agent will happily "fix" thin pages by padding them, which doesn't make them more useful.
What not to do
- Don't click "Request indexing" every day. It won't speed things up.
- Don't use third-party "instant indexing" services or the Indexing API for normal pages. Google limits that API to pages with job posting or livestream structured data.
- Don't block the page in robots.txt to "reset" it. Google then can't crawl it at all.
- Don't generate more pages to compensate. More thin pages make the problem worse.
- Don't rewrite URLs or slugs hoping for a fresh start. You lose the discovery you already had.
Serpkin can help with the first two steps. When Search Console is connected, it reads URL inspection for a few sitemap pages per scan, turns pages reported as not indexed into a mission with Google's reason attached, and its site scan flags the usual causes: sitemap URLs that redirect or are noindex, canonicals that point at redirects, errors or noindex pages, content that needs JavaScript, and orphan pages. Each mission names the source files and the checks that prove the fix. For the bigger picture on agent-built sites, read SEO for AI-built websites.
Questions
How do I fix Discovered – currently not indexed?
Make sure the page returns 200, has no noindex and canonicals to itself. Then link to it from related pages that are already indexed, keep it in your sitemap and check that your server responds quickly. Request indexing once, then give it a few weeks.
Is Crawled – currently not indexed bad?
It isn't an error, and Google says the page may be indexed in the future. But if an important page stays there, Google is signaling it doesn't see enough value. Check that the content is in the HTML, isn't a duplicate, and says something other pages don't.
How long does it take Google to index a page?
Google says crawling can take anywhere from a few days to a few weeks. Indexing is not guaranteed even after a crawl. New sites and pages without internal links usually take longer.
Should I worry about Discovered – currently not indexed?
Only for pages you want in search. Parameter variants, old redirected URLs and archive pages can stay there without harm. Filter the report to All submitted pages to see whether pages you actually care about are affected.
Does requesting indexing in Search Console work?
It can shorten the wait after you fix or publish an important page. It does not force indexing, and requesting the same URL repeatedly won't speed things up. For many URLs, submit a sitemap instead.
Sources
- Google Search Console Help: Page indexing report (checked October 27, 2026)
- Google: Ask Google to recrawl your URLs (checked October 27, 2026)
- Google Search Console Help: URL Inspection tool (checked October 27, 2026)
- Google: Make your links crawlable (checked October 27, 2026)
- Google: Crawl budget management for large sites (checked October 27, 2026)
- Search Console Help: Crawl Stats report (checked October 27, 2026)
- Google: Verifying Googlebot and other Google crawlers (checked October 27, 2026)
- Google: Indexing API quickstart (checked October 27, 2026)