Features
Every check, streamed to disk as it runs.
RacingRoach runs a full technical-SEO audit — 90+ checks across crawlability, on-page, structure, rendering, and content. Because results commit to disk as they complete, you read findings while the crawl is still going, on sites of any size.
Find what's broken
4xx and 5xx errors surfaced with the internal pages that link to them. Redirect chains and loops resolved hop by hop. Blocked and non-indexable URLs, canonical mismatches, and response-time bands across the whole site.
Titles, meta & headings
Missing, duplicate, over-length and under-length page titles and meta descriptions. Heading structure and multiple-H1 detection. Canonical, meta-robots, and directive conflicts — cross-checked across every record.
Internal link graph
Crawl depth by directory, orphan-page detection, internal link scores, inlink and outlink counts, and site-architecture views — all computed by streaming across the full crawl, never by loading it into RAM.
Bulk link reports
A filterable All Links / Inlinks / Outlinks / External report with anchor text and follow status on every link, plus a streaming bulk CSV export — Screaming-Frog-style "Bulk Export → Links" parity. Free.
JavaScript & SPAs
Render JavaScript-heavy pages and single-page apps to audit the DOM your users actually see. Compare rendered vs raw HTML to catch content that depends on client-side execution. Free — no license required.
Structured data, robots & sitemaps
Extract and validate JSON-LD and microdata Premium (structured-data validation requires a license). Test robots.txt rules per URL and user-agent with the exact matching directive — free. Audit XML sitemaps and hreflang return-tag clusters for consistency — free.
Content quality
Duplicate and near-duplicate detection, thin-content flags, missing image alt text, oversized assets, mixed content, and charset/encoding issues — including correct handling of internationalized URLs.
Accessibility audit
Automated accessibility checks run alongside the SEO audit, surfaced in the same Issues screen — no separate tool or pass required.
Safe by default
A closed-by-default SSRF guard blocks private ranges and cloud-metadata endpoints, re-checked on every redirect hop, with bounded response bodies. Free, always on.
Streaming export, reopenable crawls
Export any view — or the entire crawl — to CSV or Excel (.xlsx) without holding it in memory; the same save dialog picks the format from the file type you choose. Premium adds a one-click, all-in-one .xlsx workbook — Overview, Pages, External Links, a tab per issue found, Structured Data, Spelling, and Elements, empty sections skipped. Every crawl is a single reopenable file written in crash-safe transactions, so you can pause, close, and resume exactly where you left off.
Adaptive rate control
Per-host pacing that honors Retry-After, backs off on 429/503 rather than hammering, and adaptively widens delays. Respect robots.txt and crawl-delay when you want to — off by default, like the tools you know.
Fine-grained crawl control
Cap URLs per depth, folder depth, query-parameter count, URL length, and links per page. Honor canonical, next/prev, HSTS, and meta-refresh directives. Rewrite URLs (strip tracking params, lowercase) before dedup, treat CDN hostnames as internal, and optionally crawl images, stylesheets, scripts, and media as ordinary pages. Free, all off by default.
Crawl-overview dashboard
A live summary of the crawl in progress — pages by status, top issue kinds, and progress at a glance — so you don't have to dig through a table to know how a big audit is going.
Crawl visualisations
See your site's shape at a glance — pages-per-depth and response-time charts, an interactive crawl tree and directory tree, and a force-directed link graph. Color by depth, status, or content type; export any view as SVG or PNG. Node-capped and bounded-memory like everything else. Free.
Custom segments
Define your own URL segments with filters, then get a per-segment breakdown of page counts, status codes, and issue kinds — useful for auditing one section of a large site at a time.
Custom JS snippets
Run your own JavaScript against every crawled page to extract custom data — your own fields, computed your way, alongside every other check.
Custom extraction
Pull any value off every page into its own column — a price, a SKU, any attribute or element — with a CSS selector and an optional regex, no JavaScript required.
Custom source-code search
Define your own search patterns — a GA4 tag, a specific string, a regex — and see per page whether each one was found in the raw HTML or rendered text, across the whole crawl. Free.
SERP snippet preview
See each page as a Google-style search snippet, with pixel-width truncation warnings for desktop and mobile. Rewrite titles and descriptions inline with live feedback and export the revised metadata to CSV. Free.
XML sitemap generation
Generate a valid, size-split XML sitemap straight from a crawl. Or skip discovery entirely and crawl a fixed list of URLs you supply — list mode for audits scoped to exactly the pages you name.
Spelling & grammar
Real spelling and grammar detection in page content during the crawl — not just a dictionary lookup — surfaced alongside the rest of the audit, with a custom ignore list for your own terms.
Forms-based authentication
Record a login once in the built-in browser and RacingRoach replays your session cookies for the whole crawl — audit gated staging sites and logged-in areas, with mid-crawl expiry detection.
Scheduled crawls
Save a crawl as a reusable profile and attach a recurrence — hourly, daily, weekly, or monthly — so it runs unattended while RacingRoach is open. Each run lands in its own timestamped file, so you keep a history, not just the latest pass.
Screenshots, JS errors & page archive
When JS rendering is on, RacingRoach automatically catches JavaScript errors thrown while each page renders — no setup required. Turn on two more toggles to capture a full-page screenshot and archive the rendered HTML of every page, viewable per page and exportable as a single offline bundle.
Nine interface languages
Switch RacingRoach's own interface language — separate from the site language you're crawling — and it applies live, no restart. Free, nine languages: English, German, Spanish, French, Brazilian Portuguese, Italian, Dutch, Polish, and Japanese.
On the roadmap
Specced and in development.
Already designed as OpenSpec changes, landing in upcoming releases.
Vector embeddings
Embed crawled page content locally so you can search a crawl by meaning, not just exact text — surfacing thin or off-topic pages a keyword search would miss.
Headless CLI mode
Run RacingRoach crawls from the command line with no UI — for scheduled audits, CI pipelines, and scripted workflows.
Bounded by design
The engine that makes it all possible.
Every data path — frontier, fetch, parse, store — is bounded, streaming, and backpressured. The full crawl never lives in RAM. That single rule is why RacingRoach keeps its speed on the sites that stall other desktop crawlers.