Skip to content
Marketing
Skill

/seo-geo-audit

Get a prioritized SEO + GEO action plan for any website. Input: a URL (and optional competitors). Output: ranked fixes across technical health, content, keywords, e-commerce, local, backlinks, and AI visibility (ChatGPT, Perplexity, Google AI Overviews), or a plain-language

From plugin
claude-seo-geo
1619 skills
Install
$ npx -y skills add Thibaultbm/claude-seo-geo --skill seo-geo-audit --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/seo-geo-audit

Context preview

The summary Claude sees to decide when to auto-load this skill.

Get a prioritized SEO + GEO action plan for any website. Input: a URL (and optional competitors). Output: ranked fixes across technical health, content, keywords, e-commerce, local, backlinks, and AI visibility (ChatGPT, Perplexity, Google AI Overviews), or a plain-language

SKILL.md

seo-geo-audit.SKILL.md
name: seo-geo-audit
description: "Get a prioritized SEO + GEO action plan for any website. Input: a URL (and optional competitors). Output: ranked fixes across technical health, content, keywords, e-commerce, local, backlinks, and AI visibility (ChatGPT, Perplexity, Google AI Overviews), or a plain-language summary. Use to audit or review a site, find why it does not rank or is not cited by AI, compare against competitors, or set a baseline before a bigger SEO project."
license: MIT
metadata:
  author: "Sorank (https://sorank.com)"
  version: "1.0.0"

Full SEO + GEO site audit

Audit a website the way a senior practitioner does: collect verifiable facts first, judge them against a field-tested checklist, benchmark against the competitors that actually rank, and deliver a short list of fixes ordered by impact. The methodology was distilled from 115+ real agency audit calls and updated with sourced 2025-2026 evidence on AI search.

Company knowledge first (Obsidian)

If the working environment contains an Obsidian vault or any local knowledge base (a folder of .md notes, often with a .obsidian directory), read the relevant notes before acting: brand and product facts, target keywords, competitors, and the SEO action log of what was already tried. Ground every recommendation in that context instead of asking the user for facts the vault already holds. At the end of the session, append the actions taken to the vault's SEO action log so the next session starts informed. Vault structure, read-first and write-back protocols: the obsidian-brain skill.

Why this audit is different

1. Facts before judgment. Every claim in the final report must trace back to something measured (by the bundled script, a browser check, or data the owner provided). Never guess a title length or assume a sitemap exists. 2. Competitors over abstract thresholds. "Your page has 400 words" means nothing alone. "The three sites outranking you average 1200 words on this query" is a finding. When competitors are known, benchmark page versus page. 3. Two search worlds at once. Every category is checked twice: does it help Google rankings, and does it help the site get retrieved and cited by ChatGPT, Perplexity and Google AI Overviews. These overlap but do not coincide (AI Mode answers show only about 32 percent URL overlap with the top 10 organic results). 4. The audit is a pricing tool for agencies. The counted error volume doubles as a quote: "500 errors on this site, that is roughly 3000 euros of work" scopes the project the prospect is buying. The score is a ratio of errors to pages, so one template-level error repeats across every page using that template and a single fix corrects it everywhere, which is why a low score is rarely a catastrophe. Frame both up front so the owner reads the report as a plan, not a verdict (field heuristic from 115+ agency audits).

When to use

  • The user provides a URL and wants improvement points, an audit, a review, or a "check".
  • A site does not rank, never gained traction, or is invisible in AI assistant answers.
  • Not for a sudden loss: when traffic or rankings fell from a known level, use the seo-traffic-drop skill first. An audit lists everything imperfect on a site, which is the wrong instrument for finding the one thing that changed.
  • The user wants a comparison against one or more competitors.
  • A baseline is needed before content production, a migration, or a redesign.

Inputs to gather

Ask only for what is missing; proceed with what exists:

| Input | Required | Note | |---|---|---| | Homepage URL | yes | The script also discovers robots.txt, sitemap, llms.txt | | 1-2 key pages | recommended | Top service, product or article page | | Competitor URLs | recommended | Enables page-versus-page benchmarking | | Goals and market | helpful | Local vs national, language, business model | | GSC / GA4 access | optional | Indexation ratio and traffic facts; otherwise ask the owner for screenshots |

Phase 1: collect the facts

Run the bundled collector on the homepage plus key pages, and on each competitor page cited later in the report:

python3 scripts/seo_audit.py https://example.com /services /blog/top-article

It returns, per page: HTTP status, HTTPS, platform fingerprint, title (with generic-title flag), meta description length, full heading hierarchy with level jumps, image alt coverage and weight sample, internal versus external link counts, Open Graph, canonical, JSON-LD types, visible word count, meta robots, an em dash and en dash count with samples (checklist 6.4: an AI-writing tell to find-and-replace with commas), and a `likely_js_rendered` flag. Site-wide: robots.txt rules for AI search bots, AI user-fetch agents, and AI training bots (three separate groups), sitemap declaration and URL count, llms.txt presence.

Known limits, and what to do about each:

| Limit | Fallback | |---|---| | `likely_js_rendered: true` (client-side site) | Open the page in a browser to read the real content, and report that AI crawlers cannot see it (they do not execute JavaScript, see seo-technical) | | Images loaded as CSS backgrounds | Invisible to the parser (total may read 0); verify visually | | Real-world speed | Ask the user to run https://pagespeed.web.dev (free, no key) on mobile and desktop and share scores | | Backlink profile | Use GSC Links report or Bing Webmaster Tools if available; paid indexes (Ahrefs, Semrush, Moz) only as an option | | GSC indexation ratio, Google Business Profile | Ask the owner; never invent these numbers |

Phase 2: analyze against the checklist

Read `references/audit-checklist.md` now. It contains the full 14-category checklist with thresholds, detection methods, and the reason behind each rule. Work through it in this order, skipping categories that do not apply to the site type:

| # | Category | Applies to | |---|---|---| | 1 | Method and framing | all | | 2 | Tags (title, meta, headings, slugs) | all | | 3 | Image

Read more
Ships withclaude-seo-geo

SEO & GEO skills for Claude Code, built with Claude Mythos 5. Rank in Google AND in LLMs like ChatGPT, Perplexity, and Gemini.

Get the whole plugin
Stats
16
Stars
1
Forks
Active
Maintenance
Python
Language
MIT
License
4d ago
Last commit
3mo ago
Created

Repo: Thibaultbm/claude-seo-geo

Other skills on claude-seo-geo.