---
title: "Run Real SEO Audits With Claude Code Using the bseoa Skill"
description: "The bseoa skill gives Claude Code or Codex a real crawler to run, so your SEO audit comes from Black SEO Analyzer's actual findings instead of a confident guess. Here's how to install it, scope a crawl in plain language, sort issues by what breaks everything else, and re-crawl to confirm your fixes shipped."
image: "https://cdn.blackseoanalyzer.com/blog-images/how-to-run-a-technical-seo-audit-from-claude-code-or-codex-with-the-bseoa-skill.jpg"
canonical: "https://www.blackseoanalyzer.com/en/blog/how-to-run-a-technical-seo-audit-from-claude-code-or-codex-with-the-bseoa-skill"
language: "en"
---

# How to Run a Technical SEO Audit From Claude Code or Codex With the bseoa Skill

By [Seth Black](https://www.blackseoanalyzer.com/en/about) · Published November 01, 2026

![How to Run a Technical SEO Audit From Claude Code or Codex With the bseoa Skill](https://cdn.blackseoanalyzer.com/blog-images/how-to-run-a-technical-seo-audit-from-claude-code-or-codex-with-the-bseoa-skill.jpg)

When I started building crowdwave, GPT-3.5 had just shipped and the context window was around 4,000 tokens. The first time I saw a hallucination in my own output, I said out loud, “What the crap!? The AI just made up an entirely fake fact.” Coding assistants have improved a lot since then. Ask one to “audit my site for SEO” with nothing to work from, though, and you’ll still get a confident list of problems it guessed at.

The bseoa skill gives Claude Code or Codex an actual crawler to call instead of guessing. It runs Black SEO Analyzer on your machine, reads the output, and walks you through what it found. Nothing is invented.

## Installing the skill

A skill tells the assistant what the tool does and how to call it. Install steps are on the [LLM skills page](https://www.blackseoanalyzer.com/en/llm-skills). Two minutes, maybe less.

The skill calls the CLI, so bseoa needs to be on your path. If this works in your terminal, you’re set:

```bash
black-seo-analyzer --url-to-begin-crawl https://example.com --output-type html-folder --output-file ./audit
```

## Asking for an audit in plain language

With the skill loaded, you don’t have to remember flags. You type something like:

> Run a technical SEO audit on https://staging.example.com. It’s a React app, so render JavaScript.
> 
The assistant picks the command, adds `--spa` because you said React, and starts the crawl. Give it the context you’d give a contractor on day one. Mention the blog on the subdomain. Mention that `/app/` is behind a login and shouldn’t be crawled. Scope it like you’d scope any contractor engagement. The assistant doesn’t know your login walls any more than a new hire does.

## Reading the prioritized findings

bseoa runs 16 analysis modules on every page, so a big site produces a lot of output. Sorting through it is the part where the assistant does real work instead of running a command and handing you a pile. Ask it to sort by what breaks everything downstream first. The order matters more than people think.

1. **Crawlability.** A leftover `Disallow: /` in robots.txt from staging makes everything below it irrelevant.
2. **Indexability.** Noindex tags, canonicals pointing somewhere unexpected, redirect chains.
3. **Rendering.** Content or links that only exist after JavaScript runs.
4. **On-page and performance.** Titles, meta descriptions, Core Web Vitals.

Tuning Core Web Vitals on a URL that’s noindexed is busy work. Fix the stuff at the top of the list and half the stuff at the bottom often goes away with it. If you want to understand how to [debug technical SEO issues without guessing](https://www.blackseoanalyzer.com/en/blog/technical-seo-for-developers), the same prioritization logic applies whether you’re working with an assistant or raw curl output.

“Group these by root cause and tell me which template is responsible” is the prompt I use most. Forty pages with missing H1s usually trace back to one component, and the assistant can often open that file in your repo and point at the line. This is the same approach covered in [debugging crawl errors by failure mode and code pattern](https://www.blackseoanalyzer.com/en/blog/fix-crawl-errors-without-the-headache).

## Asking for follow-up crawls

My favorite part is the loop. You fix the canonical tag, then say:

> Re-crawl just /products/ and tell me if the canonical issue is gone.
> 
The assistant runs a narrower crawl and compares it to the last one. You can also have it check one URL after a deploy or crawl production to confirm staging fixes shipped. I’ve had it catch a fix that worked on staging and got reverted by a merge conflict before release. If you want to wire this kind of check into your release process automatically, [automating SEO audits so they actually run](https://www.blackseoanalyzer.com/en/blog/the-pre-deployment-seo-checklist-for-developers) is worth reading.

## A few habits that help

- **Keep the raw output.** Ask for JSON or an HTML folder. The summary is useful, but the data is the source of truth. The [technical SEO audit CLI workflow](https://www.blackseoanalyzer.com/en/blog/seo-audit-cli-for-developers) covers how to parse that JSON output and wire baseline regression checks into CI.
- **Ask “where did that come from?”** If a finding sounds odd, have it show the URL and the raw value from the crawl.
- **Commit the prompt.** Save a good audit prompt in the repo so the next person runs the same checks.

The [LLM skills page](https://www.blackseoanalyzer.com/en/llm-skills) has the install steps. Point it at staging and ask what’s broken. Something always is, and it’s better you find it than Google does three weeks from now.

bseoa runs locally with a GUI or CLI and costs $279 once. [Try it free for 14 days](https://www.blackseoanalyzer.com/en/free-trial).

BSA uses LLMs to surface the audit findings that actually move rankings. [Try the AI-powered audit free](https://www.blackseoanalyzer.com/lp/ai-powered-seo).

-Sethers

About the author

[Seth Black](https://www.blackseoanalyzer.com/en/about)

Seth is a software engineer and engineering leader who builds bseoa, a Rust-based technical SEO crawler with a GUI and CLI. He writes about the crawling, rendering and indexing problems he runs into on real sites.

[LinkedIn](https://www.linkedin.com/in/seth-black-tx/) · [GitHub](https://github.com/sethblack) · [YouTube](https://www.youtube.com/@SethBlack)

[Back to Blog](https://www.blackseoanalyzer.com/en/blog)

## Discover hundreds of SEO Issues in Seconds

Without Monthly Subscriptions

Comprehensive technical SEO analysis powered by ML and 16 specialized modules. Optional AI-powered insights from Claude, GPT-4, or Gemini. Get actionable insights in seconds, and never pay monthly fees again.

[Download Free Trial](https://www.blackseoanalyzer.com/en/free-trial)

I use AI to generate images for my posts and for general editing, updates, and ironically SEO purposes. I used to draw all of the images for my personal blog (taleas) myself, but as the volume of content I produce has increased, I've turned to AI tools to help create visuals that complement my writing. I go out of my way to generate images that look strange, and don't represent real people. If you ever want to chat about my use of AI, please reach out.

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.blackseoanalyzer.com/#organization","name":"Fiscus Technology, LLC","url":"https://www.blackseoanalyzer.com/","logo":{"@type":"ImageObject","url":"https://www.blackseoanalyzer.com/static/images/black-seo-analyzer.png"},"sameAs":["https://sethserver.com/","https://github.com/sethblack"],"founder":{"@id":"https://www.blackseoanalyzer.com/#seth"}},{"@type":"WebSite","@id":"https://www.blackseoanalyzer.com/#website","name":"bseoa","url":"https://www.blackseoanalyzer.com/","publisher":{"@id":"https://www.blackseoanalyzer.com/#organization"}},{"@type":"Person","@id":"https://www.blackseoanalyzer.com/#seth","name":"Seth Black","url":"https://www.blackseoanalyzer.com/about","jobTitle":"Creator of bseoa","sameAs":["https://www.linkedin.com/in/seth-black-tx/","https://github.com/sethblack","https://www.youtube.com/@SethBlack","https://sethserver.com/"]},{"@type":"BlogPosting","@id":"https://www.blackseoanalyzer.com/en/blog/how-to-run-a-technical-seo-audit-from-claude-code-or-codex-with-the-bseoa-skill#article","headline":"How to Run a Technical SEO Audit From Claude Code or Codex With the bseoa Skill","name":"How to Run a Technical SEO Audit From Claude Code or Codex With the bseoa Skill","description":"The bseoa skill gives Claude Code or Codex a real crawler to run, so your SEO audit comes from Black SEO Analyzer's actual findings instead of a confident guess. Here's how to install it, scope a crawl in plain language, sort issues by what breaks everything else, and re-crawl to confirm your fixes shipped.","url":"https://www.blackseoanalyzer.com/en/blog/how-to-run-a-technical-seo-audit-from-claude-code-or-codex-with-the-bseoa-skill","datePublished":"2026-11-01T05:21:27","dateModified":"2026-11-01T05:21:27","author":{"@id":"https://www.blackseoanalyzer.com/#seth"},"publisher":{"@id":"https://www.blackseoanalyzer.com/#organization"},"image":{"@type":"ImageObject","url":"https://cdn.blackseoanalyzer.com/blog-images/how-to-run-a-technical-seo-audit-from-claude-code-or-codex-with-the-bseoa-skill.jpg","width":1200,"height":630},"mainEntityOfPage":{"@type":"WebPage","@id":"https://www.blackseoanalyzer.com/en/blog/how-to-run-a-technical-seo-audit-from-claude-code-or-codex-with-the-bseoa-skill"},"isPartOf":{"@id":"https://www.blackseoanalyzer.com/#website"},"inLanguage":"en-US","isAccessibleForFree":true,"wordCount":777},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.blackseoanalyzer.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://www.blackseoanalyzer.com/en/blog"},{"@type":"ListItem","position":3,"name":"How to Run a Technical SEO Audit From Claude Code or Codex With the bseoa Skill","item":"https://www.blackseoanalyzer.com/en/blog/how-to-run-a-technical-seo-audit-from-claude-code-or-codex-with-the-bseoa-skill"}]}]}
```
