← All reviews
Certificate ID
RV-20
Published
21 Jun 2026
Founder-tested

StJudeWasHere / seonaut

Tested by @balajiloganathan. Reviewed by RepoVerifier.

One run, on one machine, by the tester named above. Your results may differ on a different setup.

710 GitHub stars at review

Result: Solid

01 Claim tested

Claims to be an open-source SEO audit tool. We pointed it at our own site and it caught a real broken link we had missed, with zero false critical alarms.

02 Measurements

Criteria as recorded for this run.
CriterionRecorded
Claim held5
Docs3
Runs5
Gotchatrue
Install4

Recorded before the five-criterion scorecard.

03 Environment

os
macOS Apple Silicon
user
balajiloganathan
docker
28.3.2
language
Go

As reported by the tester.

The version of the repo tested is recorded only if the tester listed it.

04 Observations

We pointed SEOnaut at repoverifier.dev itself — a site we know intimately, including bugs we'd already fixed this year. It caught a genuine, previously-unknown broken link on a live use-case page, with zero false critical alarms. Gotcha: no ARM64 image, must build from source on Apple Silicon. Security-header warnings fire indiscriminately on third-party assets we don't control — needs a human filtering pass.

What This Repo Claims

"SEOnaut is an open-source SEO auditing tool designed to analyze websites for issues that may impact search engine rankings. It performs a comprehensive site scan and generates a report detailing any identified issues, organized by severity and potential impact on SEO."

Specifically: detects broken links, redirect issues, missing/duplicate meta tags, incorrect heading order — categorized into critical/high/low severity. Self-hosted, MIT licensed, no API key required.

What I Tested

Environment: macOS Apple Silicon, balajiloganathan user, Docker 28.3.2

Task: Crawl repoverifier.dev (live production site) and audit findings against known ground truth — including issues we'd already manually fixed this year (Cloudflare robots.txt blocking AI crawlers, JSON-LD review schema).

Install

git clone https://github.com/stjudewashere/seonaut.git

cd seonaut

docker build -t seonaut-local:latest .

docker compose up -d

Following the README's documented docker-compose.yml exactly fails on Apple Silicon — the published image is amd64-only. The bundled docker-compose.dev.yml does not fix this; it only extends the db service for a debug port, it doesn't rebuild app from source. The fix: build the image directly from the repo's own Dockerfile (which correctly handles multi-arch via TARGETARCH), then point docker-compose.yml's app.image at the local build instead of the GHCR tag. Once built, came up cleanly first try.

The Test

Crawled repoverifier.dev with: robots.txt respected, sitemap crawling on, noindex pages included, external link checking on.

The Gotcha

No ARM64 image. ghcr.io/stjudewashere/seonaut:latest fails outright on Apple Silicon with no matching manifest for linux/arm64/v8. Workaround above gets you running, but it's not in the docs.

HTTP by default. Runs on localhost:9000 over plain HTTP — docs do flag this and recommend a reverse proxy for HTTPS in production.

What It Found

0 Critical issues. 9 Alert-level, ~190 Warning-level findings across the crawl.

Confirmed true positive: flagged a broken external link (404) on a published use-case page — a dead GitHub repo link we didn't know was broken. Fixed it as a direct result of this review.

Plausible, specific findings: long page titles (9 pages), invalid heading order (6 pages), missing image size attributes (15 pages), short/long meta descriptions.

Noise identified: Security-header warnings (missing HSTS, CSP, X-Content-Type-Options) fired indiscriminately, including on third-party assets we don't control — Cloudflare Insights' and Google Tag Manager's hosted scripts. The tool doesn't distinguish first-party origins from third-party resources when checking response headers. This inflated the Warning count significantly.

Expected-but-flagged: "Pages with external follow links" fired on nearly every page — technically correct, but not a problem for a review site that intentionally links out to the repos it covers.

Verdict: SOLID

Found one genuine, previously-unknown bug on a production site we thought was already clean, with zero false critical alarms and several other specific, fixable findings. The header-noise issue means this isn't a "blind trust the report" tool — budget time to manually triage Warning-level findings, especially anything about security headers on third-party resources. Strong first-pass crawler, human filtering step required.

05 Evidence

Founder's own run.

For maintainers: README badge

Shows this result and its publish month. Links back to this record.

RepoVerifier: SOLID
[![RepoVerifier: SOLID](https://repoverifier.dev/reviews/stjudewashere-seonaut/badge.svg)](https://repoverifier.dev/reviews/stjudewashere-seonaut)
<a href="https://repoverifier.dev/reviews/stjudewashere-seonaut"><img src="https://repoverifier.dev/reviews/stjudewashere-seonaut/badge.svg" alt="RepoVerifier: SOLID" height="20"></a>

Paste this in your repo’s README. Links back to the full review.

This review follows RepoVerifier Standard v1.0. Read the standard →