Crawled or discovered, currently not indexed: what to do
What the statuses in Search Console’s Page indexing report mean, which to ignore, the order to check things in, and what works and what doesn’t.
Open the Page indexing report on any site and you’ll find a long list of pages Google didn’t index. Most of them are fine. The skill is in telling the few that matter from the many that don’t, without spending a week on it.
Google says as much: your goal is to get the canonical version of every important page indexed, and you shouldn’t expect every URL to be. A high count of excluded pages isn’t a problem in itself.
What each status means
The definitions below are Google’s. The right-hand column is our reading of what usually follows.
| Status | What it means | Usually |
|---|---|---|
| Crawled - currently not indexed | Google crawled the page and didn’t index it | Look at it if it matters: thin, duplicate or weakly linked |
| Discovered - currently not indexed | Google found the page and hasn’t crawled it yet | Check internal links first, and server health on a big site |
| Duplicate, Google chose different canonical than user | You marked it canonical, and Google thinks another URL is better | Decide who’s right. See below |
| Duplicate without user-selected canonical | A duplicate with no preferred version stated | Add a canonical if you care which one shows |
| Alternate page with proper canonical tag | It correctly points to the canonical, which is indexed | Nothing. This is the system working |
| Page with redirect | A non-canonical URL that redirects | Nothing, unless it’s in your sitemap |
| URL marked noindex | Google met a noindex and obeyed | Check it’s deliberate |
| Blocked by robots.txt | Your robots.txt blocks it | Check it’s deliberate |
| Soft 404 | It answers 200 but looks like an error or an empty page | Return a real 404, or put content on it |
Crawled versus discovered
These two are the ones people search for, and they point at different things.
Crawled - currently not indexed means Google has seen the page and chose not to keep it, at least for now. Fetching more won’t change a judgement already made: the page itself has to change, or the signals around it. Is it a near-copy of another of your pages? Does it say anything a reader couldn’t find on the page next to it? Does anything important link to it?
Discovered - currently not indexed means Google knows the URL and hasn’t fetched it. On a very large site this is often crawl budget: Google’s guide on the subject is written for sites over a million pages updated weekly, or 10,000 pages changing daily, and for sites with a large share of URLs in this status. On a site of a few hundred pages, we’d look at internal links first, since a URL that’s only in a sitemap tells Google very little about why it should bother.
The order to check things in
- Does this page matter? If it’s a tag page, a filter or an old archive, stop here.
- Inspect one URL. The URL Inspection tool shows the last crawl, and the canonical Google selected. Remember its results are from the last crawled version, not a live test.
- Check the canonical. If Google picked another URL, compare the two. Often they’re duplicates and Google is right. Redirects and
rel=canonicalare strong signals, a sitemap is a weak one, and using several together helps. - Check internal links. Google’s rule is plain: every page you care about should have a link from at least one other page on your site. Link from a page that gets traffic, with descriptive anchor text.
- Read the page. Is it worth indexing? If you’d skim past it, so will Google’s systems, and no setting will fix that.
- Then request indexing. Do this once. There’s a daily limit, and a request doesn’t guarantee anything. Google says it typically takes a day or so, and up to a week or two.
If you fixed a whole class of pages, use Validate fix in the report. Validation typically takes up to about two weeks, and sometimes much longer.
What doesn’t work
The Indexing API, for ordinary pages. It can only be used for pages with JobPosting or BroadcastEvent markup. Google warns that abuse, including using several accounts to get around quotas, can lose you access.
noindex and a robots.txt block together. For noindex to work, the page must not be blocked by robots.txt, or Google never sees the tag. For the same reason, robots.txt isn’t a way to pick a canonical: Google may index a disallowed URL without its content.
A bigger sitemap. A sitemap is a suggestion Google may or may not act on. Keep it accurate: only canonical URLs, each file under 50,000 URLs and 50 MB, and a lastmod you can defend, since Google uses it only when it’s consistently accurate. It ignores priority and changefreq.
Deleting pages to look better. Google’s guidance warns against removing a lot of older content primarily because you believe it’ll help your rankings.
Bing is a different story
For Bing, IndexNow lets you tell it directly that a URL changed, up to 10,000 URLs in a post. Its FAQ names Amazon, Bing, Naver, Seznam.cz, Yandex and Yep as endpoints, and doesn’t mention Google. It also says plainly that submitting doesn’t guarantee indexing.
Watching several sites
The report’s example list stops at 1,000 rows and isn’t guaranteed to show every URL, though its totals are complete. To know when something changes, watch three things, per site, once a week: the number of indexed pages, the count in each status, and a short list of pages that must be indexed.
For that short list, the URL Inspection API allows 2,000 calls a day per site. That’s enough to check your most important pages daily, and to record when one stops being indexed. It’s close to what Owlseen’s indexing view will do: check pages that have shown up in search, a share each day and again after a week, and show on screen and through MCP when one has fallen out. Pages only in a sitemap wait for the crawler. It isn’t released yet, so for now a short script and a spreadsheet will do the job.
If the pages are indexed but losing clicks, that’s another problem: see content decay.