Find the URLs Google isn't indexing — and fix the waste
Your sitemap lists half a million URLs. PruneSEO crawls them all, clusters the indexation waste into patterns, and hands you a prioritized cleanup plan you can act on.
Built for large websites, ecommerce stores, publishers and SEO agencies.
URLs tracked
482,391
18,400 inspected
Indexation gap
Of the inspected 4.1%, not of everything tracked
Largest waste segments
- Ghost pages184,230
- Crawled, not indexed126,840
- Suspected duplicates91,420
The problem
Google Search Console was not built for this
It is an excellent tool for a single URL. It is not an audit workflow for a hundred thousand of them.
Your problem is not finding one bad URL. It is finding the 50,000 URLs that share the same problem.
Product
See the waste hiding inside your URL inventory
The shape of what you get: Site health for the figures, Triage for the patterns behind them, Campaigns for what to do about those patterns.
demo-store.example
482,391 URLs discovered
Last crawled 2026-02-16
URLs tracked
482,391
453,711 assigned to 37 patterns
Indexation gap
Of the 4.1% individually inspected, not of all 482,391 tracked
Waste segments
- Ghost pagesHigh184,230
- Crawled, not indexedHigh126,840
- Suspected duplicatesInferred91,420
- Soft 404sHigh38,921
- Blocked by robots.txtHigh12,300
Counts are URLs assigned to each cluster. Clusters marked “inferred” are our structural read of the pattern, not a classification Google returned.
Recommended actions
- 01
Review /products?color=*
High impact11 faceted parameter sets produce 62,140 near-duplicate URLs.
- 02
Add canonical rules to variant URLs
High impactSize and colour variants self-canonicalise instead of pointing at the parent product.
- 03
Redirect obsolete archive pages
Medium impact18,904 archive URLs return a thin template with no unique content.
- 04
Return real 404s for empty search results
Medium impactEmpty internal search pages return 200 with no results, so they read as soft 404s.
- 05
Strengthen internal links to priority pages
Medium impact312 high-value categories receive no internal links from the top three crawl depths.
How it works
From URL chaos to actionable patterns
Your own crawler builds the inventory. Clustering finds the patterns. Search Console verifies them.
- 01
Ingest
Build the candidate URL inventorySitemaps, internal links and URL patterns become one deduplicated inventory of everything that could be indexed.
- 02
Crawl
Read the signals on every URLCanonicals, robots directives, status codes, headings, content depth and parameters — collected at crawl scale. This is the only step that reads your web server.
- 03
Cluster
Group URLs into structural patternsThe core of the engine. Instead of half a million rows, you get the handful of templates and parameter sets actually driving the waste.
- 04
Verify
Confirm against Search ConsoleA representative sample of URLs from each pattern is checked in Google Search Console, so patterns are enriched with real coverage data rather than assumption alone. Patterns nobody has judged yet stay listed as not measured, rather than being counted as clean.
- 05
Measure
Track the gap as cleanup landsRe-crawl and watch the gap fall over time, so you can prove which change actually moved the number. Recrawling is included in the paid plans; the free audit gives you one crawl, permanently.
What you get
Four outcomes, not twelve feature checkboxes
Each one exists to remove a step from the audit you are doing by hand today.
Before and after
The same audit, run two very different ways
The bottleneck was never the analysis. It was the manual loop around it.
- 1Open Google Search Console
- 2Export what you can to a spreadsheet
- 3Manually inspect URLs one at a time
- 4Build filters to approximate patterns
- 5Investigate what the filters caught
- 6Write a ticket for your developer
- 7Wait, then repeat the whole thing
4+ hrs
per audit, per attempt
12+
spreadsheets to reconcile
Thousands
of rows, sampled by hand
- 1Connect your Search Console property — read-only, we never ask to change anything
- 2Set the vertical, which decides what counts as waste
- 3Crawl the site; the patterns it finds are clustered
- 4Read Triage — what is wasting crawl budget, and how much was actually looked at
- 5Open a pattern to see the evidence and the confidence behind its verdict
- 6Build a campaign from it, then export the remediation file
- 7Re-crawl to measure what changed
One
URL inventory
One
exportable remediation file
Every
pattern listed, coverage shown
The “Before” figures describe the shape of the manual process; they are illustrative, not measured customer results. The “After” column describes what the software does.
The audit stops being the hard part.
Use cases
Built for websites where SEO stops being manual
Same engine, very different shapes of waste. These are the kinds of pattern each tends to produce — grouped by the crawler and by what Google reported, not detected one by one.
Approach
Built around evidence, not SEO guesswork
There is a lot of noise in this market. These are the five commitments we actually build to.
Our crawler builds the inventory
We do not ask Search Console to enumerate your site. We crawl it, so the starting point is your real URL space rather than a per-URL inspection quota.
Search Console verifies, it does not define
Representative URLs from each cluster are checked against Search Console for coverage data, so clusters are enriched rather than guessed from GSC output alone.
Patterns are structural — and say how far they were checked
URLs are grouped by the shape of their path, parameters and signals, so a finding covers a whole template rather than the rows you happened to look at. Each pattern also carries its own coverage, so you can see which ones were verified and which were not.
Inferred labels say so
Where a classification is our inference from crawl signals rather than something a tool returned, the interface labels it as inferred. Suspected duplicates are the clearest case: Google does not report them, so we mark them INFERRED rather than presenting them as fact.
Progress is measured, not asserted
A re-crawl re-reads the same patterns so you can tell which change moved the number and which one changed nothing. Recrawling is part of the paid plans; the free audit gives you one crawl, permanently.
Two caveats we would rather state than bury. PruneSEO tells you what is wrong with your indexation and what to change; it does not guarantee that Google indexes anything, and it does not promise rankings. And the demo above is illustrative: we crawled 482,391 URLs and individually inspected 18,400 of them, which is the sampling the real product does and reports.
Pricing
Pay for the cleanup, not for a report
One crawl of one site is free, and it stays free. Recrawling and automated remedies are what a paid plan adds.
FAQ
Questions worth asking before you trust us
Including the ones where the honest answer is no.
Your site already has an indexation problem. Find out where.
Start with a free audit of one site and see which URL patterns are wasting your crawl budget. It is a complete audit, not a sample of a bigger one — and the free allowance is one site and one crawl, permanently, not per month.
No credit card required. No sales call.