Sitebulb reads the live web, so there is no private data to copy: an agent can write a crawler that follows links, records status codes, redirects, titles, canonicals and indexability, and runs a few dozen checks on the result. Store it in SQLite, put a plain explanation next to every check and you have the part people open Sitebulb for. What you give up is the 300+ hint library refined over years, scheduled audits and comparisons, client-ready PDF reports and Google Analytics and Search Console data joined to each URL. For sites of a few thousand pages, a copy plus Lighthouse covers most of the work.
Before you buildSitebulb has no free plan, only a 14-day trial of Pro that needs no card. For small sites, free tools such as LibreCrawl, Lighthouse or Unlighthouse may already do the job.
Build me a local SEO site auditor to replace Sitebulb. Requirements: - Node.js 22 + TypeScript: `undici` to fetch, `cheerio` to parse, better-sqlite3 in ./data/audits.db, and a Fastify server with a React report built with Vite on http://localhost:4810. CLI: `audit crawl https://example.com --max-urls 5000`. - Crawl: stay on the start host (subdomains opt-in), obey robots.txt (`robots-parser`) unless --ignore-robots, read sitemap.xml and sitemap indexes, 5 concurrent requests per host with a 200 ms delay, follow redirects by hand and record every hop, use USER_AGENT from .env, stop at the URL and depth limits, and resume an interrupted crawl from the database. - Per URL store: status, redirect chain, content type, size, response time, title, meta description, canonical, meta robots and X-Robots-Tag, H1 and H2 text, word count, hreflang, Open Graph tags, images without alt, internal and external links with anchor text and rel, and a content hash. - Rendering: with --render, load pages in Playwright Chromium and flag links and titles that only exist after JavaScript runs. - Hints: 30 checks in a hints/ folder, one file each, with an id, a severity (critical, warning or info), a plain explanation of why it matters and how to fix it, and the affected URLs. Cover 4xx and 5xx pages, broken internal links, redirect chains and loops, missing, duplicate or over-long titles and descriptions, missing or repeated H1, canonicals pointing elsewhere, noindex pages in the sitemap, orphan pages, duplicate content by hash, thin pages under 200 words, missing alt text, mixed content, responses over 1.5 seconds and pages deeper than 4 clicks. - Report: a summary with a 0-100 score and the hints sorted by severity and number of URLs; one page per hint listing its URLs with CSV export; a URL explorer with column filters. - Single user. No accounts, no telemetry, local-first. Outbound calls go only to the site you crawl. - Out of scope: Google Analytics and Search Console data, scheduled audits, PDF reports, cloud crawling, spell-checking. - README: how to crawl politely (rate, robots, user agent), a reminder to crawl only sites you own or have permission to audit, and why rows stay in SQLite instead of memory.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Sitebulb.
Add audit comparison to the site auditor in this folder. Requirements: - A command `audit diff <older> <newer>` and a report page that list, per hint, URLs that are new, fixed and unchanged between two audits of the same site, matched by normalised URL. - A top line with the score change and counts of new and fixed issues; a chart of the score over every audit of a site. - URLs that disappeared from the crawl are listed separately instead of counted as fixed. - Update the README.
Add a crawl map to the site auditor in this folder. Requirements: - A page with a force-directed graph of internal links (`d3-force`, drawn on canvas), capped at 500 nodes, with the start page at the centre and colour by status, depth or hint severity. - Click a node to open its URL details; a filter hides nodes by depth or status. - For larger sites, collapse URLs by their first path segment into one node and expand on click. - Update the README.
Add scheduled audits to the site auditor in this folder. Requirements: - A schedules.yaml listing sites, crawl options and a cron expression; `audit schedule` runs in the foreground and starts each crawl on time with `node-cron`, never two crawls of one site at once. - After each run, send a short email through SMTP (`nodemailer`; SMTP_URL and REPORT_TO in .env) with the score, the change since the last audit and a link to the report. - Keep the last 12 audits per site and delete older ones. - Update the README, including a launchd example.
Add Google Search Console data to the site auditor in this folder. Requirements: - Authenticate with a service account JSON file (GSC_KEY_FILE in .env) that has been added as a user on the property, and pull clicks, impressions and position per URL for the last 90 days (`googleapis`, searchanalytics.query). - Store the numbers per URL and show them as sortable columns in the URL explorer. - Add a hint that lists indexable pages with zero impressions, and sort every hint's URL list by clicks. - Update the README with the steps to add the service account in Search Console.
Reviewers describe Sitebulb as the guided, visual way to audit and report, next to Screaming Frog's raw-data approach. Each hint says what is wrong, why it matters and how to fix it, and a report you can hand to a client comes out of the same audit. That turns a spreadsheet of crawl data into a to-do list a developer can act on.
Estimate · Runs on your machine with no services to pay for. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Lite | $18/user | $15/user | One user, 10,000 URLs per audit, 100+ hints, JavaScript crawling, Google Analytics, Search Console and Sheets integration, duplicate content checks, crawl maps, MCP access. |
| Pro | $42/user | $35.40/user | 500,000 URLs per audit by default, 300+ hints, advanced configuration, audit comparisons, scheduled audits and customised PDF reports; each extra user is $11 a month. |
| Cloud | $125 | — | Two or more users, no project limits, automated recurring crawls, JavaScript crawling at no extra cost, native desktop and Data Studio integration. |
No free plan: a 14-day trial of Pro needs no card.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $18 a month on the Lite plan per seat, $216 a year (checked 2026-10-19).
The 300+ hint library, each hint with an explanation written by SEOs; Crawl maps and other visual views of site structure; Audit comparisons and scheduled audits that show what changed since last time; Customised PDF reports you can send to a client; Google Analytics, Search Console and Sheets data joined to every URL. If any of those matter to you, keep paying.
Yes: LibreCrawl (open source), SEOnaut (open source), Unlighthouse (open source).