I built a CLI that fails your build on broken SEO

Published: (February 12, 2026 at 06:14 AM EST)
3 min read
Source: Dev.to

Source: Dev.to

The Problem with Silent SEO Breakages

Last week I spent two hours copy‑pasting data from Screaming Frog into my CLI so Claude could analyze the issues and suggest fixes—one page at a time, like it was 2014. I realized there had to be an API for this, but after a cumbersome sign‑up process I decided to build my own tool instead.

Most developers experience this pattern:

  • A meta description disappears.
  • An og:image starts returning 404.
  • Structured data breaks because a field was renamed.
  • A page accidentally gets noindex.

There’s no console error, no failing test, and no red CI badge. Weeks later traffic drops, Google Search Console shows lost rich snippets, and the broken og:image turns out to be the most shared page. SEO regressions happen silently, and that’s the core issue.

A Simple, ESLint‑Like CLI for SEO

I wanted something dead simple: run a command, get a report, and have CI fail when critical SEO issues are detected.

npx indxel check

Sample output

Found 12 pages

/                 95/100  A
/pricing          88/100  B
/blog             91/100  A
/blog/my-post     62/100  D
  ✗ Missing og:image
  ! Title too short (42 chars)
 /about           90/100  A

Score: 85/100 (B)
Pages: 11/12 pass
1 critical issue.
  • 30+ rules, zero configuration, ~30 seconds.
  • Checks title & meta description (presence + length), Open Graph tags, canonical URLs, JSON‑LD structured data, robots directives, Twitter cards, viewport meta, favicon, and hreflang for multilingual sites.
  • Each rule contributes points to a total score out of 100, presented as a letter grade.

CI Integration

Running the same audit in CI mode exits with code 1 on critical errors:

npx indxel check --ci

GitHub Actions

name: SEO Check
on: [pull_request]
jobs:
  seo:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npx indxel check --ci

Vercel (or any npm script)

{
  "scripts": {
    "build": "npx indxel check --ci && next build"
  }
}

Broken SEO never reaches production.

Diff Mode – See What Changed

During development I’d fix a few issues only to introduce new ones. --diff shows improvements and regressions since the last run:

npx indxel check --diff

Sample diff

Score: 78 → 83 (+5)

IMPROVEMENTS (2):
  + /pricing  82 → 88
  + /about    85 → 90

REGRESSIONS (1):
  - /blog/my-post  70 → 62

It’s essentially a Git diff for SEO health.

AI‑Powered Audits via MCP Server

Indxel can run as an MCP server, allowing AI assistants like Claude or Cursor to audit SEO directly from the editor.

{
  "mcpServers": {
    "indxel": {
      "command": "npx",
      "args": ["indxel-mcp"]
    }
  }
}

Now you can ask your AI, “Check the SEO on /pricing,” and it will report issues (e.g., a broken og:image) without leaving the code editor.

Getting Started

The CLI is free, MIT‑licensed, and requires no signup.

npx indxel init

Contributing

What SEO checks would you add? What did I miss? Feel free to comment, open an issue, or submit a pull request on GitHub.

0 views
Back to Blog

Related posts

Read more »