Indexation audit for websites too large to audit by hand.
If your site has hundreds of thousands of URLs, the bottleneck is never the analysis. It is the loop around it: open Search Console, export what you can, inspect URLs one at a time, approximate the patterns by hand, write it up, and do it again next month.
PruneSEO crawls the site itself, groups the URLs by the shape of what is actually causing the waste, checks a representative sample of each pattern against Search Console, and tells you which ones are ready to act on, which need more looking at, and which are not worth your crawl budget. Then it writes the fix out as a file.
It is built for the part of SEO work that is genuinely tedious rather than the part that is genuinely difficult: not deciding what to prune, but establishing which 400,000 URLs are copies of each other, and being certain about it.
There is a lot of noise in this market, and the fastest way to be wrong about a tool is to let it imply more than it checked. These are the limits we build in rather than around.
It identifies indexation waste and shows the evidence behind each finding. Whether Google then indexes a given page depends on plenty of things outside our control.
The report says so, in the same words
PruneSEO produces artifacts — nginx maps, .htaccess rules, redirect CSVs, canonical manifests, noindex sets, robots.txt and sitemap changes, and internal-link plans. Applying them is you or your developer.
internal/models/artifact.go — eight artifact kinds, no executor
The crawl covers the whole inventory, but per-URL inspection is bound by Search Console quotas, so verification samples. Each pattern carries its own coverage and patterns nobody has judged stay listed as not measured rather than counted as clean.
Every cluster has a coverage state; SiteFactsCard will not divide URLs tracked by URLs indexed
Suspected duplicates are derived by comparing Google’s chosen canonical against the page’s own declaration, because the Indexing API does not report them. They are labelled INFERRED wherever they appear.
internal/services/triage.go — BucketMeta for "Link bleeders"
The vertical decides what counts as waste. Change it later and patterns already judged keep their verdict. This is the acknowledged weak point of the design and we would rather say it here than let you find it.
apps/admin/hooks/use-setup.ts calls it exactly that
One site and one crawl, free, and permanently — one crawl, not one a month. That audit is complete rather than a teaser for a bigger one. A crawler cannot undo what it found, so a second crawl only earns its cost once you have applied the first one’s output; automated remedies and recrawling are what the paid plans add. Full detail is on the pricing page.
If something on this page turns out to be wrong, we would rather hear about it than not. Telling us is the fastest way to get it fixed.