# Black SEO Analyzer

Crawls a site or checks a single page for technical SEO issues and writes a report file. Handy for diffing two crawls after a fix.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 60
- Author: sethblack
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/sethblack/black-seo-analyzer
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/black-seo-analyzer

## What it does

Black SEO Analyzer runs on your machine and walks a site from a starting URL. Point it at a page or at `sitemap.xml` with `--is-sitemap`; single-page apps get `--spa`. Reports land in `json`, `jsonl`, `xml`, `csv`, `csv-flat`, `html-folder` or `json-files`, and `html-folder` is the default.

The crawl is tunable: `--concurrent-requests` starts at 20, `--rate-limit` is measured in milliseconds and starts at 50, `--max-pages` caps the run, and `--disable-external-links` skips outbound link checks. To have a model read the pages, switch on `--use-anthropic-analyzer`, `--use-openai-analyzer`, `--use-deepseek-analyzer` or `--use-gemini-analyzer`. Each one needs its own API key, passed as an argument or set in an environment variable. Model name and prompt file are configurable too.

Without a license only the page count per crawl is capped; nothing else is held back. Setup steps live in `INSTALL.md` in the repository. Custom HTML report templates go in through `--html-templates-dir`.

## Requirements
- Environment variables: `BLACK_SEO_ANALYZER_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Install**
- The MCP registry has no launch command for it: see the repository README

## When to use it
- spot pages with missing metadata and broken internal links
- crawl a site from `sitemap.xml` and export CSV
- diff two crawls before and after a change
- check a single-page app for technical errors
- run pages past a language model for a written review

## Example prompts
- Crawl `https://example.com` and save the report to `example-report.json`
- Audit the site from `https://example.com/sitemap.xml` using `--is-sitemap`
- Build an HTML report for `https://example.com` into `./seo-reports`

## Similar
- [New-Term Radar](https://affpapa.org/en/nevibecode/mcp/new-term-radar.md) — MCP server · ★ 1766
- [NotFair](https://affpapa.org/en/nevibecode/mcp/notfair.md) — MCP server · ★ 4055
- [seo-monster](https://affpapa.org/en/nevibecode/mcp/seo-monster.md) — MCP server · ★ 553
- [Google Maps MCP Server](https://affpapa.org/en/nevibecode/mcp/google-maps-mcp-server.md) — MCP server · ★ 479
- [Search Console MCP](https://affpapa.org/en/nevibecode/mcp/search-console-mcp.md) — MCP server · ★ 308
- [squirrelscan](https://affpapa.org/en/nevibecode/mcp/squirrelscan.md) — MCP server · ★ 296

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
