ClaudeSEOFix.

An SEO audit that writes the fix, not just the report.

Give Claude your website address. It audits your SEO, AI search visibility and answer readiness, then hands you a Fix Pack: rewritten copy, schema and code for every problem it finds, ready to paste in.

Free and open source. No signup, no email, no API key. Works in Claude on the web, desktop, mobile and Cowork.

Paste this into Claude
Then add your website address
# ClaudeSEOFix Audit

An audit that ends with the work done, not a to-do list. Every finding ships with the fix: rewritten metadata, complete page copy for pages that should exist, paste-ready JSON-LD, code snippets and step-by-step checks. Branding on all deliverables: **ClaudeSEOFix.com**.

## Operating principles

1. **Evidence before verdicts.** Never report something as missing until it has been checked in the page's real HTML. Markdown converters (including WebFetch) often strip `<script type="application/ld+json">`, `<head>` tags and hidden accordion content.
2. **Every finding gets a fix.** If you can't write the fix, it isn't a finding yet. It's a question for the owner.
3. **Write from the site's own facts.** Page copy, schema and FAQs use only prices, services, names and claims published on the site or given by the user. Anything unknown is written as `[PLACEHOLDER]` and listed for the owner. Never invent statistics, results, reviews, dates or credentials.
4. **Be specific to this site.** Quote the actual title, heading or sentence. Name the URL. Generic advice ("improve your content") is not allowed.
5. **Name the limits.** Rankings, backlinks, search volume and field Core Web Vitals need external data. Say which tool provides each and don't guess.

## Workflow

Start immediately with a Full audit unless the user asks for a Quick one. Quick means: homepage plus up to 5 key pages, top 10 findings, and fixes for Critical and High items only. Set up a task list: Discover → Verify → Market check → Score → Fix Pack → Report → QA.

### 1. Discover

- Fetch the homepage, `/robots.txt`, `/sitemap.xml` (and any child sitemaps) and, if present, `/llms.txt`.
- Build a URL inventory from the sitemap, navigation, footer and in-body links. Record each URL's apparent type: home, service or product, category, article, case study, team, about, contact, legal or utility.
- Test common paths the site may lack (`/about`, `/blog`, `/faq`, `/pricing`) plus one nonsense URL, to confirm real 404 status codes.
- Full audit: fetch every content URL. Skip legal pages, login and account pages, and thank-you pages. Quick audit: the most commercially important pages.

### 2. Verify in real HTML

For every audited page, capture these from the raw HTML or a live browser DOM (not converted text):

- `<title>`, meta description, canonical, meta robots, `html lang`, hreflang, viewport
- every JSON-LD block: parse it, list its `@type`s, and note parse errors
- H1–H3 outline, image count, images missing alt text, lazy-loading, image formats and weights
- internal and external links with anchor text; nav and footer presence
- whether key content (FAQ answers, prices) is in the initial HTML or injected by JavaScript

Preferred method: open the site in an available browser tool and run one script that `fetch()`es each same-origin URL, parses it with `DOMParser` and returns a JSON summary. Fall back to `curl` from the shell if the network allows it. Use WebFetch only for reading copy.

**Crawler consistency check:** if two methods return different versions of a page (a different title, a missing canonical, older content), report it as a finding. It usually means a stale CDN or edge cache, or bot-specific rendering. Include a Search Console "URL Inspection → Test live URL" fix.

### 3. Market check

- **Intent map:** list the 10–20 queries a buyer would use (service + location, price questions, comparisons, "best X in Y"). Map each query to the page that should rank for it. Any query without a page becomes a content-gap finding.
- **Search reality:** run the top 5–8 queries through web search. Record who ranks and what format wins (list, table, local pack, video).
- **GEO probe:** ask 8–12 natural-language buyer questions through web search. Note whether the brand is cited or mentioned, and which sources are cited instead. Report a simple citation rate (cited in X of N answers), the top competing sources, and what those sources have that the site lacks.
- **Local signals** (for a local business): consistent name, address and phone; opening hours; a Google Business Profile link; and the local-language search layer. If the market searches in another language or script, check whether the site serves it.

### 4. Score with the checklist

Score each check **Pass (1)**, **Partial (0.5)**, **Fail (0)** or **N/A** (excluded). Dimension score = weighted points earned ÷ weighted points available × 10, rounded to one decimal place. Show the checklist in the report so the score can be reproduced.

**SEO (technical and on-page)**

| Check | Weight |
|---|---|
| Every indexable page returns 200, has a self-referencing canonical, and has no stray noindex | 3 |
| Unique titles, 30–60 characters, primary term near the front | 3 |
| Unique meta descriptions, 70–160 characters, specific and with a call to action | 2 |
| Exactly one descriptive H1; logical H2/H3s containing search terms | 2 |
| Clean, readable URLs; real 404s; no redirect chains | 1 |
| Sitemap declared, complete, with truthful lastmod | 1 |
| Every page reachable from the nav or body links; descriptive anchor text | 2 |
| Commercial page for every core offer and priority query | 3 |
| Alt text on content images; modern formats; sensible weights | 1 |
| Open Graph and Twitter tags with page-specific images | 1 |
| Server-rendered primary content; performance measured, or flagged as unmeasured | 1 |

**GEO (AI citation readiness)**

| Check | Weight |
|---|---|
| Organisation entity: schema with `@id`, logo, contact, address, `sameAs`, founder, founding date | 3 |
| Real, named experts with credentials, profile links and Person schema | 3 |
| Verifiable proof: case studies with results, attributed testimonials, client links | 3 |
| Fact-dense copy (prices, timelines, specs, numbers) stated plainly | 2 |
| Original expertise content (guides, data, point of view) | 3 |
| Consistent brand name across the site, schema and social profiles | 1 |
| AI crawlers allowed; content in the HTML; llms.txt present | 1 |
| GEO probe citation rate (≥50% Pass, 1–49% Partial, 0 Fail) | 3 |

**AEO (answer extraction)**

| Check | Weight |
|---|---|
| Direct 40–60 word answers under question-style headings | 3 |
| FAQPage schema that matches visible FAQs on every page that has them | 2 |
| Lists and real HTML tables for steps and comparisons | 2 |
| Clear definitions ("X is…") for core terms | 1 |
| Long-tail and pre-purchase questions covered | 2 |
| Local answer data: hours, area served, phone, map | 1 |
| Local-language answers where the market uses them | 1 |

Status labels: 8.0–10 **Strong**, 6.0–7.9 **On Track**, 4.0–5.9 **Needs Work**, below 4.0 **Critical**.

### 5. Build the Fix Pack

Give every finding a fix ID (`F1`, `F2`…), a priority and an owner. Priorities:
- **Critical:** blocks indexing or leaves a core offer unrankable.
- **High:** major trust, entity or content gap.
- **Medium:** meaningful but not urgent.
- **Quick Win:** under 30 minutes.

Each fix uses one of these templates.

**A. New page or page rewrite**
- Header: fixes (the finding), where (URL), who/effort (developer, writer or owner, plus hours)
- Spec table: URL, title tag (with character count), meta description (with count), H1, OG image brief, breadcrumb, schema types
- Full body copy, in order, with each heading tagged `H1`/`H2`/`H3`. Include a 40–60 word direct answer near the top, tables where comparisons exist, 4–6 FAQs, and a CTA using the site's real contact method
- Internal links to add *to* this page, and from it
- JSON-LD for the page

**B. Metadata or copy edit:** a table with columns Page | Field | Current (quoted) | Replace with (with character count).

**C. Schema:** complete JSON-LD linked through one organisation `@id` (`https://domain/#organization`). Generate FAQPage from the page's visible FAQs word for word. Don't add Review or AggregateRating markup for a business's own testimonials, because Google treats self-serving reviews as ineligible.

**D. Code or config:** the current snippet, then the replacement, with the file or component where it lives.

**E. Check or process:** numbered steps in the named tool (Search Console, Google Business Profile, CDN dashboard).

**F. Content plan:** for missing informational content, write one complete article plus briefs for the next 8–10 (title, target query, H2 outline, internal link target).

Copy rules:
- Match the site's voice, but put search terms in headings. Brand-voice lines can stay as small eyebrow text above the heading.
- Use the site's currency, spelling and units.
- Mark placeholders `[LIKE THIS]` and list them all at the end of the Fix Pack.
- If writing in a language you're less sure of, add a note to have a native speaker review it.

### 6. Produce deliverables

Save outputs in the session's output folder (never hard-code a machine path):

1. **Report** — `claudeseofix-audit-<domain>-<YYYY-MM-DD>.docx` and `.pdf`. Read the docx skill before building. Convert to PDF with LibreOffice.
2. **Code bundle** — `claudeseofix-<domain>-fixes.zip`, containing:
   - `schema/` — one file per page or template, as `<script type="application/ld+json">` blocks
   - `snippets/` — HTML, config and shell snippets
   - `llms.txt`
   - `README.txt` — maps each file to its fix ID
3. **Optional:** if the user wants to share the report, also offer an interactive HTML dashboard with the same content.

**Report structure:**
1. Cover — domain, "SEO · GEO · AEO Audit & Fix Pack", audit type, three score tiles, date, "Prepared with ClaudeSEOFix.com"
2. At a glance — 4-sentence summary, a score table with one-line takeaways, and how the audit was run
3. Pages audited — URL | type | notes
4. SEO, GEO and AEO sections — for each: the score and checklist results, then a findings table (Signal | Evidence | Status | Fix ID)
5. Market check — intent map, SERP snapshot, GEO probe results
6. Action plan — Fix ID | Priority | Issue | Owner | Effort | Impact
7. Fix Pack — an index table, then every fix in its template
8. What's working — strengths, with evidence
9. Placeholders to fill in, and what couldn't be measured (with the tool for each)
10. Glossary — SEO, GEO, AEO, E-E-A-T, schema, canonical

**Design system:**
- Font: Inter if available, otherwise Arial
- Page: US Letter or A4 to match the user's region, 1-inch margins
- Colours: ink `0F172A`, brand `0B3C5D`, accent `F26B38`, panel `F1F5F9`
- Status colours: Strong/Pass `15803D`, On Track `2563EB`, Needs Work/Partial `B45309`, Critical/Fail `B91C1C`
- Code blocks: monospace 7.5pt on `F1F5F9` with an accent left border
- Header: domain on the left, "ClaudeSEOFix.com" on the right
- Footer: "Audit & Fix Pack by ClaudeSEOFix.com" on the left, page number on the right
- Keep long JSON in the report to one representative example per type, and put the complete files in the bundle.

### 7. QA before delivery

- Parse every JSON-LD block (`json.loads`) and fix any errors.
- Recount the characters of every proposed title and meta description. Target 30–60 for titles and 70–160 for descriptions.
- Check every price, name and claim in the new copy against the crawl notes.
- Confirm every finding has a fix ID and every fix ID appears in the action plan.
- Validate the .docx, render the PDF to images, and inspect the cover, a findings page and a Fix Pack page for layout problems, including non-Latin scripts.
- List every placeholder in section 9.

### 8. Reply in chat

Keep it short:
- a score table
- the top three fixes, by fix ID
- the biggest strength
- one line on placeholders the owner must fill
- the files

Offer one next step: implement the fixes directly in their codebase or CMS, re-audit after changes, or compare against a named competitor.

## Re-audit mode

When the user asks to re-check a site audited before, load the earlier report or bundle if available. Then report per fix ID: **Done**, **Partly done**, **Not started** or **Regressed**. Add any new findings and show the score change for each dimension.
Scroll to read it all. Copy, paste into Claude, then send your website address.

Two ways to run it

The prompt works right now in any Claude conversation. The skill file is the same thing, installed once, so Claude reaches for it automatically the next time you ask about your site.

Paste the prompt

Copy the box above into Claude, then send your website address. Nothing to install and nothing to sign up for. Best for a one-off check or for trying it before you commit.

Install the skill

Download seofix-audit.zip and add it under Skills in Claude's settings. After that you can just say "audit example.com" in any conversation and Claude picks up the skill on its own.

Read the three-step install

What you get back

Three scores you can reproduce, a numbered action plan, and a Fix Pack where every finding arrives with the work already done. Here's an example of the output for a small business site.

5.8SEO · Needs Work
3.6GEO · Critical
4.4AEO · Needs Work

Top three fixes

  1. F1, Critical. Emergency callouts are the core offer but have no page of their own, so nothing on the site can rank for them. Fix: a complete new page, copy and schema included.
  2. F2, High. No named people anywhere on the site. Fix: a team page with Person schema, written from the owner's details.
  3. F3, Quick win. The homepage title is 84 characters and gets cut off mid-word in results. Fix below.

Every fix arrives finished

Page  Field  Current (84 chars)                       Replace with (49 chars)
/     title  "Welcome to Our Website | Electrical Ser…" Emergency Electrician Launceston — 24/7 Callouts

Anything the site doesn't state is left as a [PLACEHOLDER] and listed for you to fill in. It never invents prices, reviews or credentials.

A report you can hand over

The full audit as a Word document and a PDF: scores with the checklist behind them, findings with evidence, the action plan, the Fix Pack, what couldn't be measured, and a glossary for whoever reads it next.

A code bundle to paste in

A zip with every JSON-LD block, every HTML and config snippet, and a README that maps each file to its fix number. Run it again later and it reports each fix as done, partly done, not started or regressed.

What it checks

Three scored dimensions and a look at the market around you. Every check has a published weight, so any score can be reproduced from the checklist in the report.

SEO

Status codes, canonicals, titles, descriptions, headings, URLs, sitemap, internal links, images, social tags, and whether every core offer has a page that can rank.

GEO

Whether AI search can cite you: a clear business entity, named experts, verifiable proof, fact-dense copy, original expertise, and a live test of how often you're cited.

AEO

Whether your answers can be lifted out: direct answers under question headings, lists and tables, definitions, pre-purchase questions and local answer data.

Market check

The queries a buyer would use, which page should win each, who actually ranks, and what format wins. Any query with no page becomes a finding.

Real HTML, not a summary

Schema and head tags are checked in the page's actual code, because text converters strip them. If two methods see different versions of a page, that's a finding too.

And what it won't

Rankings, backlinks, search volume and field speed data need outside tools. It names the tool for each instead of guessing. See the limits.

See the full weighted checklist

Why this one is different

There are other SEO tools for Claude. Two things here are deliberately unlike the rest.

It finishes the job

Most audits hand you a scored list and stop. A list is not a fix. Here every finding ships with the fix: rewritten metadata, full copy for pages that should exist, paste-ready schema and code. If it can't write the fix, it isn't reported as a finding.

It shows its working

Scores come from a weighted checklist printed in the report, so anyone can check them. Every finding quotes the actual page. Anything it can't measure is named, along with the tool that can.

Common questions

A few of the ones that come up most. There are more on the full FAQ page.

Do I need a paid Claude account?

No. It works on the free tier, though longer audits move faster and hit fewer message limits on a paid plan. There's no charge from us and no API key to set up.

Is this the same as Ahrefs or Semrush?

No, and it isn't trying to be. Those tools own large proprietary datasets for backlinks, keyword volume and rank tracking, which this cannot touch. What it does instead is read your actual pages, explain the problems without jargon, and write the code to fix them. They answer different questions.

Will it work on a site built with React or Next.js?

Partly. If your pages are server-rendered or statically generated it reads them normally. If the content only appears after JavaScript runs, it will see an empty shell and will tell you so rather than reporting your page as empty.

How many pages does it look at?

A full audit reads every content page it can find, skipping legal, login and thank-you pages. Ask for a quick audit and it reads the homepage plus up to five key pages and fixes only the critical and high-priority items.

Run it on your own site now

Copy the prompt, paste it into Claude, send your address. About five minutes from here to a list of fixes.