Open source SEO audit tools: what each project checks, read from its own repository

Lighthouse, Unlighthouse, SEOnaut, LibreCrawl, SiteOne Crawler and two Python options, matched to the audit job each one does best.

Published by AI Knows Us · Updated 21 October 2026

An open source SEO audit uses free software whose code you can read, run on your own machine and change. The strongest options today are Google's Lighthouse for page level checks, Unlighthouse to run Lighthouse across a whole site, and full site crawlers such as SEOnaut, LibreCrawl and SiteOne Crawler for broken links, redirects, titles, headings and duplicate tags. Python users can add advertools or python-seo-analyzer. Each project below was read from its own GitHub repository on 22 October 2026, and every one of them is under active development. Pick by the job: one page, every page, or data you want to analyse yourself.

Why teams choose open source for an audit

A paid crawler is a fine purchase, but an open source audit tool has three practical strengths.

  • No crawl limit set by a price plan. The limit is your own hardware and your patience. A large site can be crawled as often as you like.
  • The checks are visible. When a tool flags a page, you can read the rule in the code and see exactly why. That makes a finding easy to defend to a developer.
  • It fits into a build pipeline. Several of these tools run from the command line and return an exit code, so a release can be stopped when a page breaks a rule.

The trade is set up time. You install the tool, sometimes with Docker or Node, and you read the results yourself rather than in a polished dashboard.

The tools, read from their repositories

ProjectLicenceWhat it does bestHow you run it
Lighthouse (GoogleChrome/lighthouse)Apache 2.0Page level SEO, performance, accessibility and best practice checksChrome DevTools panel, or the Node CLI
Lighthouse CIApache 2.0Running Lighthouse on every commit and asserting against the resultsCI pipeline
UnlighthouseMITLighthouse across an entire site, with a browsable reportOne npx command
SEOnautMITFull site crawl with issues sorted by severityDocker, with a MySQL database
LibreCrawlMITA desktop style crawler in the browser, with JavaScript rendering and exportsStartup script or Docker
SiteOne CrawlerMITA fast single binary crawler with an HTML audit report and a CI quality gateBinary for Windows, macOS and Linux
advertoolsMITCrawling, robots.txt testing and sitemap downloads as Python dataPython library
python-seo-analyzerBSD styleA quick crawl with word counts and technical warningspip or Docker

Lighthouse: the page level standard

Lighthouse is built into Chrome DevTools under the Lighthouse panel, so the simplest audit is to open DevTools and generate a report. For repeat work, install the CLI with npm install -g lighthouse. Its README says it needs Node 22 or later. To run only the SEO checks, add --only-categories=seo. The SEO category is a short list of crawlability and markup checks, and it is the right first pass on a template before you look at the whole site. We walk through each of those checks in the Lighthouse SEO guide.

npm install -g lighthouse
lighthouse https://www.example.com/ --only-categories=seo,performance

Lighthouse CI takes the same engine into your deployment process. Its repository describes it as a suite for running, saving, retrieving and asserting against Lighthouse results, which means a pull request can fail when a page loses its title or its meta description.

Unlighthouse: Lighthouse on every page

Lighthouse looks at one URL at a time. Unlighthouse scans an entire site with Lighthouse and gives you a report you can sort and filter. Its README lists a one line start, npx unlighthouse --site followed by your domain, and Node 22.18.0 or later. Use it when you need to know which templates fail, not only which page.

SEOnaut: a self hosted audit with severity levels

SEOnaut calls itself an open source SEO audit tool. It crawls the site and sorts issues into three levels: critical, high and low. Its README names broken links, redirect issues (temporary, permanent and loops), missing or duplicate meta tags and incorrectly ordered headings among the checks. It is written in Go, stores data in MySQL, and the recommended setup is Docker Compose. A hosted version is offered at seonaut.org if you want to try it before installing.

LibreCrawl: the crawler for people who want a desktop feel

LibreCrawl runs as a web application on your machine. Its feature list includes JavaScript rendering for sites built with React, Vue or Angular, title, meta description and heading extraction, internal and external link mapping, PageSpeed Insights integration for Core Web Vitals, automated issue detection, and exports to CSV, Excel, JSON or XML. Its README states it will always be free and open source.

SiteOne Crawler: one binary, a report and a quality gate

SiteOne Crawler ships as a single native binary for Windows, macOS and Linux, now rewritten in Rust. It produces an interactive HTML audit report with quality scores from 0 to 10 across categories including SEO, and finds 404s and redirects. Its --ci flag acts as a quality gate: by default it fails a build when the overall score or any of the performance, SEO, security and best practice scores falls below 5.0, or when any 404 or 5xx error appears. It can also generate sitemaps and export a site to Markdown.

advertools and python-seo-analyzer: audits as data

advertools is a Python library rather than an app. It includes an SEO crawler built on Scrapy, a function to test which URLs a robots.txt file blocks, and a function to download XML sitemaps. Everything arrives as a table, so you can join crawl data with Search Console exports and answer your own questions. python-seo-analyzer is installed with pip install pyseoanalyzer and crawls a site, counts words and warns of technical issues. Its optional AI analysis needs an API key from a model provider.

A practical open source audit, in five steps

  1. Crawl the whole site with SEOnaut, LibreCrawl or SiteOne Crawler. Export every URL with its status code, title, meta description, canonical and H1.
  2. Fix the errors first: 404s linked from your own pages, redirect chains and loops, and pages that should be indexable but carry noindex.
  3. Find duplicates: repeated titles and meta descriptions usually point to a template problem, so fix the template rather than each page.
  4. Run Lighthouse on one page per template, or Unlighthouse on the whole site, for performance and markup.
  5. Check against Google's own data. A crawler shows what is on your site. Search Console shows what Google indexed. Compare the two lists.

When the free stack runs out, usually because you need scheduled crawls with a shared dashboard for a team, a paid crawler earns its fee. Our comparison of technical SEO tools and audit software sets out where each paid plan stops.

Questions about open source SEO audit tools

Is there a free, open source alternative to Screaming Frog?

Yes. LibreCrawl describes itself as a free alternative to paid desktop crawlers, and SEOnaut and SiteOne Crawler both crawl a full site and report issues. Each needs a little more set up than a paid tool.

Can an open source tool audit a JavaScript site?

Yes. LibreCrawl lists JavaScript rendering for React, Vue and Angular sites, and Lighthouse loads the page in Chrome, so it sees the rendered result.

Do I need to know how to code?

Not for Lighthouse in DevTools, Unlighthouse or the SiteOne binary. advertools and python-seo-analyzer suit people comfortable with Python.

Can I run an audit on every release?

Yes. Lighthouse CI asserts against results on each commit, and SiteOne Crawler's --ci mode returns a failing exit code when your thresholds are not met.

Is the hosted version of SEOnaut the same as the open source one?

The SEOnaut README points to seonaut.org as a hosted version of the same tool. Self hosting keeps the crawl data on your own server.

The audit that reads the answer, not the page

Every tool above inspects your HTML, which is exactly right for search engines that rank pages. A buyer who asks ChatGPT or Gemini which supplier to use gets a written answer instead, and that answer can leave out a site that passes every check here. If you would rather have that answer measured for you across the main assistants, that is the work AI Knows Us does.

Read next

Simon-Kucher pricing strategy, what the firm publishes about its own method and what a Singapore buyer should ask before briefing itThe firm publishes its approach, its scale and four named service lines, and publishes no fee, so the useful work before any call is reading what it claims and deciding which decision you are buying.International pricing strategies for a Singapore company, and the corridor that stops one market undercutting anotherA converted home price is the one answer that is almost always wrong, so set a price per market and keep the gaps narrower than the cost of moving a unit between them.Premium pricing strategy for a Singapore business, and the fence that makes the higher number holdCharging permanently more than the credible alternatives works when the buyer can name what the extra money buys, and the published Singapore writing ladder shows exactly how that is built.Red Antler publishes no price, so here is what its own site does publish and how to cost the same scope from SingaporeRead on 29 October 2026, three pages of redantler.com carry a complete deliverable list, three business stages and not one figure about what any of it costs.Hiring a full service content agency, the five stages a retainer has to cover and the two handoffs where the money leaksMost content retainers buy production and quietly leave strategy and distribution with you, so price the stages rather than the word count.Hiring a branding agency for a Singapore financial services firm, and the three registers to search before you fall in love with a nameIdentity work for a licensed firm starts with a clearance search rather than a mood board, and two of the three registers are free to read in a browser today.

Or browse the whole archive.

See what AI says about you.

The first scan is free, it needs no account, and it asks the questions your buyers ask.

Free. No card. We ask 5 real buyer questions on 2 AI apps.

Already sure you want this? Start free. No card needed, and the free plan stays free. Pay only when you want the work done. Or talk to a person if you have a question first. Or read how we fix what it finds.