A hundred sites, not one
One board for the whole portfolio: what got worse, where, and since when. Built for people running dozens of projects, not for auditing one and closing the window.
Command line · Source is open
Technical auditing for people who run many sites, not one. Compare crawls, catch what a deploy broke, and work through hundreds of thousands of URLs without bringing the machine to its knees.
Every two weeks: measurements, defects, worked examples. Nothing else.
Install the command line
# macOS and Linux, with Homebrew
brew install dcarrero/tap/crawlforge
# macOS and Linux, without Homebrew
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/dcarrero/crawlforge/releases/latest/download/crawlforge-installer.sh | sh
# Windows, in PowerShell
powershell -ExecutionPolicy Bypass -c "irm https://github.com/dcarrero/crawlforge/releases/latest/download/crawlforge-installer.ps1 | iex"
# With Rust 1.88 or newer
cargo install crawlforgePrebuilt binaries for five systems, a note about macOS, and building from source: every way to install →
You audit a site, hand over the report, changes ship. Two weeks later you crawl again and there are another thousand rows in front of you, with no way to tell which ones are new.
Now multiply that by every site you look after.
One board for the whole portfolio: what got worse, where, and since when. Built for people running dozens of projects, not for auditing one and closing the window.
What was resolved and what appeared after the last deploy. In your CI, it fails the build when something serious gets in.
Written in Rust. A table of two hundred thousand rows scrolls like your system's, because it is your system's.
A tool that asks for your staging credentials should be readable. And a rule that decides whether a client's page is indexable should be arguable. So the engine is open — and the app is what the subscription pays for.
No dates promised. A native interface is a lot of work, and the command line comes first.
The open part has no price and no plans to get one. If it saves you an afternoon a month, a recurring contribution keeps the rules catalogue growing.
Become a backer →You choose the amount. Cancel whenever.
Agencies and hosts that run this across a portfolio can sponsor the work at a level that matches what it replaces, with your name on the repository.
Talk to us →Invoiced, with VAT number.
If you are going to audit with this, check how it was measured first. The method sits next to every figure.
URLs in a single crawl, with memory flat
A news site with fifteen years of archive. Memory follows the pending queue, not the size of the site.
extraction differences against an established crawler
The same 300 URLs to both tools. Status, title, meta description, H1, canonical and indexability.
audit rules, each with its own test case
The rules are the product: when one is wrong, you stop trusting the whole report.
0.22.0 installs with Homebrew, a one-line installer or cargo, from binaries GitHub builds for free. Five things broke on the way there.
3 Nov 2026Product0.21.0 checks that every #fragment in an internal link exists, backs off when a server pushes back, and passes a dependency audit.
3 Nov 2026Product0.20.0 lets each site turn rules off or change their severity without a new crawl, adds five free rules and prints its output in ten languages.
The work stays visible: what gets measured, what breaks, and how a real audit is run — with the commands and the numbers, on sites that exist. No download required to read any of it.