@jordanmgsoftware/seo-cli
v0.1.3
Published
SOTA SEO CLI for MG Software projects: crawl, audit, link graph, anti-spam (March 2026), GEO/AEO, programmatic SEO checks. Runs on production URLs, localhost, or build output.
Readme
@jordanmgsoftware/seo-cli
SOTA SEO CLI by MG Software — runs on production URLs, localhost, or build output.
# add to a Next.js project
bun add -d @jordanmgsoftware/seo-cli
bun run mg-seo init
bun run seo-audit
# global / direct usage
bun add -g @jordanmgsoftware/seo-cli # or: npm i -g @jordanmgsoftware/seo-cli
mg-seo init # generate mg-seo.config.ts
mg-seo crawl https://example.com
mg-seo crawl http://localhost:3000
mg-seo audit https://example.com
mg-seo audit http://localhost:3000 --auto-start
seo-audit # defaults to http://localhost:3000 + auto-start
mg-seo links https://example.com
mg-seo reportWhy
A pragmatic, code-first alternative to Screaming Frog / Sitebulb that:
- Lives in your dev loop — works on
localhostand on built static output (e.g..next,dist/) - Integrates with CI — exit codes, JUnit XML, GitHub Action templates
- 2026-current — checks for Google's March 2026 Spam Update, INP-as-primary-signal, GEO/AEO readiness, llms.txt
- First-class programmatic SEO — MinHash-based template uniqueness detection (the exact thing Google now penalises)
- Code-first config —
mg-seo.config.ts, type-safe, per project - Zero-config Next.js loop — add the package, run
bun run seo-audit, and the CLI starts localhost when needed
Commands (v0.2)
| Command | Purpose |
|---|---|
| mg-seo init | Scaffold mg-seo.config.ts |
| mg-seo crawl <source> | Spider crawl with sitemap + robots discovery |
| mg-seo audit <source> | Run all rules (on-page, links, schema, content, technical) |
| seo-audit [source] | Local-first audit that auto-starts a dev server when needed |
| mg-seo links <source> | Internal link graph (orphans, broken, redirect chains, depth) |
| mg-seo report | Aggregate latest results into a markdown / HTML report |
Rule categories
| Category | Coverage |
|---|---|
| on-page | titles, meta description, H1, headings, image alt/dimensions, canonical, hreflang, OG, viewport, lang, noindex, status codes, redirect chains |
| links | orphans, broken internal links, click depth, generic anchor text |
| schema | JSON-LD presence, valid JSON, required properties for Article/Product/FAQ/Organization/Breadcrumb/Recipe/Event/Person/JobPosting and more |
| content | thin content (word count), text-to-HTML ratio, identical body content, title keyword cannibalisation (Jaccard ≥ 0.8) |
| technical | robots.txt present, XML sitemap discoverable, sitemap coverage of crawled pages |
<source> accepts:
- A URL (
https://example.com) — production crawl - A localhost URL (
http://localhost:3000) — dev server crawl - A directory (
./dist,./out,./.next/server/pages) — static output crawl (roadmap)
Development
:: One-shot run from source (no build needed)
dev.cmd audit https://example.com --max-pages 20
dev.cmd links http://localhost:3000
:: Full toolchain
bun install
bun run dev -- audit https://example.com
bun run seo-audit
bun run build
bun run typecheckRoadmap
- ✅ v0.1 —
init,crawl,audit,links,report(on-page + link rules) - ✅ v0.2 —
schema,content,technical(robots/sitemap) rule categories - v0.3 —
pseo+spam(March 2026 policies, MinHash near-dup detection) - v0.4 —
perf(Lighthouse-Node + PSI optional),geo(AEO/AI Overview readiness),llms.txt - v0.5 — Playwright optional rendering,
watch,diff,ci, HTML reporter, JUnit XML - v1.0 — Bun standalone binary, GitHub Action template
© MG Software B.V.
