Codex already writes your code. Give it a real technical SEO auditor and it can crawl staging before you deploy, group what it finds by template, fix the templates in your repo, then crawl again and show you what changed. In Codex CLI, bseoa runs on your machine as an MCP server, so it reaches localhost and private staging hosts as well as the live site.
14 days, every feature, no page limit, no credit card.
The local server is the full product: JavaScript rendering, no page budget, and crawls that run from your own machine. Setup takes a few minutes. The Codex IDE extension shares the CLI's MCP configuration, so this covers it too.
Download the bseoa CLI for Windows, macOS or Linux and put it on your PATH. Start the free trial to get a license key.
Once, and every host on this machine can use it:
bseoa license store <key> bseoa license status
codex mcp add bseoa -- bseoa mcp
Codex writes it to ~/.codex/config.toml. Start a new session and ask.
bseoa and black-seo-analyzer are the same binary; if yours is installed under the long name, use that name in the command or add a symlink. If Codex cannot start the server, use the absolute path from which bseoa (where bseoa on Windows). Skipped step 2? Add --env BLACK_SEO_ANALYZER_KEY=<key> before the --. The license is read when the server starts, so start a new session after storing a key.
Download the bseoa skill and unzip it so that SKILL.md ends up at:
~/.agents/skills/bseoa/SKILL.md
Invoke it with $bseoa, or let Codex pick it up when your prompt is about an SEO audit. The skill teaches Codex the CLI and installs it when it is missing. Details are on the skill page.
Codex CLI also takes remote MCP servers by URL with OAuth sign-in. Add ours, then log in and sign in with your email:
codex mcp add bseoa --url https://mcp.blackseoanalyzer.com/mcp codex mcp login bseoa
Crawls run on our servers and the results stay in your account, shared with Claude.ai and ChatGPT. No JavaScript rendering, and no private or localhost addresses.
Codex also runs inside ChatGPT, in OpenAI's containers instead of on your machine. Here is what is confirmed and what is not yet.
| Where | How | Status |
|---|---|---|
| Codex CLI and IDE extension | Local MCP server, codex mcp add |
Works |
| Codex CLI | Skill ZIP in ~/.agents/skills |
Works |
| ChatGPT (web, desktop, mobile) | Hosted connector from the ChatGPT listing | Works |
| ChatGPT Work | Skill ZIP uploaded under Skills | Being verified |
| Codex cloud (chatgpt.com/codex) | Skill committed to the repo | Being verified |
In ChatGPT Work (paid plans), upload the skill ZIP under Skills, then ask for an SEO audit and mention bseoa. Whether ChatGPT's container can download and run the CLI is being verified; if it cannot, use Codex CLI above or the hosted connector.
Whether a cloud task can install and run the CLI from a skill in your repo's .agents/skills folder is being verified. Codex cloud blocks internet access during the agent phase by default, so it would need agent internet access turned on for that environment, with download.blackseoanalyzer.com and the site you audit on the allowed domains. Until then, run audits from Codex CLI.
Nothing to install: add Black SEO Analyzer to ChatGPT and crawls run on our servers. Step by step, with prompts, on Black SEO Analyzer for ChatGPT.
These work as written in Codex CLI. demo.blackseoanalyzer.com is a made-up bakery site we keep with known problems; it stands in for your staging host and your preview URL until you swap in your own.
Audit staging before you deploy
Crawl https://demo.blackseoanalyzer.com/ up to 100 pages as if it were our staging site. List every high or critical issue that should block the deploy.
Codex runs start_crawl, waits on crawl_status, then reads issues_summary and query_issues filtered by severity. Locally, the crawl can reach http://localhost:3000 or a staging host on your private network.
Group issues by template and write the tickets
Group the issues from my last crawl by template. For each group write a ticket with the issue key, the fix and the affected URLs, and name the file in this repo that renders that template if you can find it.
One template usually produces hundreds of rows of the same issue key. Codex collapses them into a handful of tickets, and because it can read your repo, it can point at the layout or partial behind each one.
Fix, crawl again, compare
Crawl https://demo.blackseoanalyzer.com/ again, then compare it with the previous crawl. What did my changes fix, and what is new?
Codex finds both sessions with list_crawls and runs compare_crawls: issues fixed, issues new and issues still there. Only the new ones are regressions.
Check a pull request preview
Check https://demo.blackseoanalyzer.com/menu as if it were the preview URL for this pull request. Would anything on it be an SEO regression if it shipped?
check_page audits one URL in seconds without following links. Paste your preview URL in its place. If your preview host marks previews noindex on purpose, tell Codex to ignore that one.
Write the robots.txt change
Read https://demo.blackseoanalyzer.com/robots.txt and write the change that keeps crawlers out of /contact while everything else stays crawlable. Show it as a diff, then tell me whether Disallow or noindex is the right tool for that page.
The demo's contact page is already noindex, which makes this a trap worth knowing: a Disallow stops search engines fetching the page, so they never see its noindex. Test the result with the free robots.txt tester.
Write the client report
Write a client report from my last two crawls of demo.blackseoanalyzer.com: what was fixed, what is still open, worst first, with the affected URLs. Save it as seo-report.md.
Codex reads compare_crawls and issues_summary and writes the file into your working directory, ready to edit and send.
bseoa reads and reports; it never logs in to your site or changes it. Codex changes your code, and bseoa tells it whether the change worked.
Every feature, no page limit, no credit card. Covers the CLI, the desktop app and the local MCP server in Codex.
Everything local, updates included. The Agency License is $1,999 one-time. Every purchase carries the source code guarantee.
With a license; $50/month or $500/year without. 25,000 crawled pages every rolling 30 days, 2,000 per crawl, results kept 90 days.
The local server needs no hosted plan. The hosted trial is separate: 14 days and 5,000 pages from your first hosted sign-in, results kept 30 days. Single-page checks never count against a hosted budget. Compare plans on the pricing page.
crawl.db in the directory the server starts in. To keep one history across projects, add --db-path with an absolute path after bseoa mcp.One command, then ask. 14 days free, no card.
Start the free 14-day trialUsing another tool? Black SEO Analyzer for Claude Code and for Cursor. Every host is on the connector page, and how bseoa compares with other SEO MCP servers is on SEO MCP servers compared.