Add Website
Define the website and its allowed crawl scope.
See how PruneSEO discovers URLs, analyzes technical SEO signals, groups issues, and helps you decide what to fix next.
Define the website and its allowed crawl scope.
Create a crawl run with explicit limits and settings.
Build the URL inventory from permitted sources.
Fetch eligible URLs and extract technical SEO signals.
Persist crawl evidence and track run progress.
Transient failures can be retried with backoff. Permanent failures are recorded without blocking the entire crawl.
Retry
Timeouts and temporary errors
Record
Final status and failure reason
Protect
Block unsafe targets and redirects
Group repeated findings and identify URL patterns.
Turn crawl evidence into useful findings.
Review findings, prioritize fixes and recrawl.
Turn raw crawl data into evidence-backed decisions.
Inspect individual URLs and the signals collected.
Review issue severity, evidence and suggested actions.
Export findings and compare completed crawl runs.
Under the hood
The dashboard people use. A client of the Go API, not a second tier.
One process: the API, the crawl workers and the finalizer.
Websites, crawl runs, the durable task queue and the findings.
Scope validation, SSRF defense and rate limits.
There is no second backend. The Next.js app talks to the Go API over HTTP, and the crawler works from the same Postgres queue: a task is a row, leased by a worker, and reclaimed if the worker dies.
PruneSEO reports observed crawl signals and clearly labels inferred risks. A crawl is self-contained and does not require access to a search engine account. Website changes are reviewed and applied by the site owner.