Questions
Why do some pages never get crawled?
A page is crawled only if a crawler can discover it and is willing to spend a request on it. Discovery comes from internal links, sitemaps and external links; willingness comes from crawl capacity and demand. A page linked from nowhere, reachable only through a form, buried ten clicks deep, or sitting in a URL space the crawler has decided is worthless will not be fetched — and none of that is an indexing decision, because indexing never got a chance to happen.
Never crawled is not the same as not indexed
In Search Console, "Discovered — currently not indexed" means the URL is known and has not been fetched. "Crawled — currently not indexed" means it was fetched and declined.
The two need opposite work. The first is a discovery and priority problem; the second is a judgement about the page itself.
Check which bucket a URL is in before doing anything, because the fixes have nothing in common.
A URL that appears in neither has not been discovered at all, which is the case this page is about.
URL Inspection reports the last crawl date. A blank one, or a date long before the content was published, confirms it.
Reason one — nothing links to it
Crawlers follow links. A page reachable only by typing its address is a page no crawler has a reason to know about.
Orphan pages accumulate quietly: a campaign landing page, an article removed from a listing, a product de-listed from its category but still live.
A sitemap entry helps discovery but is a weak signal on its own. Google's documentation treats a sitemap as a hint, and a URL listed there but linked from nowhere is still a low-priority URL.
The fix is an internal link from somewhere that is itself crawled, not a stronger sitemap.
Compare the set of URLs in your sitemap against the set a crawl of your own site discovers. The difference is your orphan list.
Reason two — the link is not a link
Navigation built from click handlers rather than anchor elements with `href` attributes is invisible to anything that does not execute scripts, and is weak even to things that do.
A `<button>` that navigates, a `<div>` with an `onclick`, a menu that only renders after an interaction: none of these are links.
Content behind a form submission, a search box or an infinite scroll that loads on interaction is in the same position.
`href="#"` with a script intercepting the click is the most common version, and it looks like a link in the markup while pointing nowhere.
The test is simple: disable JavaScript, load the page, and see which links remain.
Reason three — it is too deep
Crawl depth is the number of clicks from the home page. Pages five or six levels down are fetched less often, and pages ten levels down may effectively never be reached.
Deep structures come from long category chains, from pagination that only ever offers next and previous, and from archives organised by year then month then day.
Pagination is the usual culprit: page forty of a listing is forty clicks from page one when there are no numbered links.
Flattening helps more than any directive: category hubs, numbered pagination, and links to popular items from higher-level pages.
Reason four — the crawler is spending its requests elsewhere
A site that generates an effectively unbounded URL space — faceted navigation, calendars, session parameters, internal search results — consumes crawling on URLs that are worth nothing.
Google's own guidance on large sites is explicit that these spaces waste crawling, and that blocking them in robots.txt is the remedy.
Slow responses reduce capacity directly: Google reduces its crawl rate when a server answers slowly or returns errors.
Long redirect chains multiply the cost of reaching one page, and soft 404s are fetched repeatedly because nothing marks them worthless.
This reason only applies at scale. On a site with a few thousand URLs it is almost never the answer.
How to find the ones affected
A crawl of your own site from the home page discovers exactly what a crawler following links would discover. Anything in your sitemap and not in that set is orphaned.
Server logs are the complete record of what was actually requested, and by whom. A URL absent from months of logs was never fetched.
VeriFixScan reports `availability.broken_links` and `structure.navigation` from a real crawl, which surfaces the pages the navigation does not actually reach.
`performance.scan_limits` reports where the crawl stopped, which matters when interpreting an absence: a page missing from the scan may be beyond the limit rather than unreachable.
The honest check is the comparison, not any single report: what you publish against what a link-following crawl can find.
Frequently asked questions
- Does adding a page to the sitemap get it crawled?
- It helps discovery and is a weak signal alone. A URL listed in a sitemap but linked from nowhere remains a low-priority URL.
- What is the difference between discovered and crawled but not indexed?
- Discovered means the URL is known and was never fetched. Crawled means it was fetched and not indexed. They need opposite fixes.
- How deep is too deep?
- There is no published threshold. Pages beyond four or five clicks from the home page are fetched noticeably less often, and the effect compounds with site size.
Sources
Related
VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.
Scan a website