New accounts get $100 free credit, no card needed

Discovered currently not indexed: causes and checks

Sites with thousands of unindexed URLs usually have one dull cause. This table lists the usual ones in the order we would check them.

Symptom, likely cause, first check

Symptom in Search ConsoleLikely causeFirst check
Discovered, not indexed on many new URLsGoogle knows the URL but has not spent crawl time on itCount internal links to the page; deep pages get skipped
Crawled, not indexedPage seen and judged low value or duplicateCompare against the page ranking for the same query
Google chose a different canonicalhttp and https, or www and non-www both liveFetch both versions and look for a 301
Staging site appears in resultsStaging was never blocked or authenticatedSearch site:staging.yourdomain.com
Sudden spike of excluded URLsParameters or faceted navigation generating URLsLook at sample URLs in the report
Googlebot errors on only one subdomainFirewall or rate limiting by the host or CloudflareRead the server log for 429 and 403 responses

Where backlinks fit in

A link from another site is a discovery path. Google follows it, which can pull a page out of the discovered queue sooner.

That does not make a link an indexing switch. A page with no internal links and one stray backlink is still a weak candidate, and Google has said plainly that it does not index everything it finds.

Use toppages to see which of your URLs attract links, then confirm those exact URLs are indexed. Linked yet missing from the index is a flag worth a day's work.

How to tell link depth from quality

A page that is discovered but not crawled is usually a priority problem. Google has the address but sees little reason to hurry, often because few internal paths lead there.

A page that is crawled but not indexed is a judgement. Google read it and did not want it, so more links will not fix thin or duplicate text.

Frameworks add a third cause. Next.js and React sites sometimes ship text that only appears after JavaScript runs. Fetch the raw HTML with cURL and see whether your text is in it. If not, server-side rendering or prerendering is the fix, and the recipe for keeping URLs stable applies when you change stacks.

Bing and Yandex have their own queues, so check Bing Webmaster Tools before assuming the problem is yours alone.

Order of work

  • Inspect one affected URL and note whether it says 'URL is on Google'.
  • Open the sitemap and confirm it returns HTTP 200 on the canonical host.
  • Check robots.txt as Googlebot would see it, not as your browser does.
  • Count internal links in, and keep important pages within three clicks of home.
  • Remove thin template pages that exist only to be indexed.
  • Wait a few weeks after fixes; indexing rarely settles overnight.

Hosting and bot-blocking traps

Hostinger, Cloudflare and similar layers sometimes rate-limit Googlebot while serving humans perfectly. The site looks fine to you and flaky to the crawler.

Read the raw access log for 403, 429 and 5xx responses to user agents containing Googlebot. Verify those hits by reverse DNS, since many scrapers fake the name.

AI crawlers are a separate decision. Blocking GPTBot or ClaudeBot in robots.txt does not touch Googlebot, but a careless wildcard rule can. Test the file after each edit.

Staging copies need care. When one is the problem, put it behind a password and request removal in Search Console. A noindex tag alone can be undone by one deploy. See the recipe on redirects before consolidating hosts.

Which linked URLs are you missing?

Two credits returns up to 1,000 rows.

bash
curl "https://rankbrainmarketing.link/api.php?action=toppages&q=yourdomain.com&per=1000&key=sk_live_..."
A caution about timing

Fixes can take weeks to show. Index status and our monthly link refresh will not move on the same day, so compare like with like.