agentsclimarketplace

Auditing website seo geo

Skill qte77/claude-code-plugins/plugins/website-audit/skills/auditing-website-seo-geo

A Claude Code plugin marketplace providing skills, rules, and scripts extracted from a production development workflow.

Install
npx -y skills add qte77/claude-code-plugins --skill auditing-website-seo-geo

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Audits a site's SEO and AI-search (GEO) readiness — meta tags, Open Graph/Twitter, JSON-LD, robots/llms conventions — and generates fixes. Use when reviewing search visibility, social previews, structured data, or LLM/AI-crawler discoverability.

SKILL.md

4.9 KB, as published. Nobody here has run it

Website SEO & GEO Audit

Target: $ARGUMENTS

Audits a site for traditional SEO and Generative-Engine Optimization (GEO — visibility in AI search such as ChatGPT, Perplexity, Gemini, and Google AI Overviews) and generates implementable fixes. Prefer configuring the site or static-site generator so tags are emitted once (DRY) over hand-stuffing meta into every page. No over-analysis.

Audit Areas

Core meta

  • <title> (~30-60 chars, unique per page), <meta name="description"> (~120-160 chars, entity-clear), lang on <html>, charset, viewport (no maximum-scale — it blocks zoom), robots, author, keywords, format-detection, and a canonical link.

Open Graph & Twitter Card

  • og:title, og:description, og:url, og:type, og:site_name, og:image.
  • twitter:card, twitter:title, twitter:description, twitter:image, twitter:site, twitter:creator.

Structured data (JSON-LD)

  • WebSite / Organization (name, url, logo, sameAs) and per-page Article / BlogPosting (headline, description, datePublished, author, publisher, image). Validate against the matching schema.org type.

GEO / AI-search

  • robots.txt AI user-agents (GPTBot, ClaudeBot, Google-Extended, CCBot, PerplexityBot, OAI-SearchBot) — the highest-leverage, best-honored lever.
  • llms.txt at root — cheap, uncertain adoption; fine to keep.
  • Entity clarity, key info in the first ~160 chars, Q&A-friendly phrasing, explicit brand / product / service names.

Static-site-generator pitfalls (verify, do not assume)

  • Do not double-emit. If an SSG plugin emits OG/Twitter/JSON-LD (e.g. jekyll-seo-tag, Next SEO), do NOT also hand-write those tags — duplicates result. Configure the plugin instead.
  • Plugins emit conditionally. Twitter Card tags often need a configured handle; twitter:description and og:image / twitter:image may not be emitted without explicit config or a per-page image. Fill only the genuine gaps in a single shared include.

Known-unwinnable conflicts (flag, do not chase)

Some checkers want mutually-exclusive lengths on a single shared tag:

  • og:title 25-35 vs twitter:title 50-70 — same tag, cannot satisfy both.
  • og:description 55-65 vs <meta name="description"> 120-160 — same tag.

Recommend the real-world optimum (Google limits plus GEO: a ~50-char title and a ~150-char description) and note the tradeoff rather than ping-ponging.

Reality check

  • ai.txt / /.well-known/ai.txt is not a recognized standard (competing vendor proposals, no IANA .well-known registration, no major adopter). Skip it; do not spend effort on /.well-known/ai.txt.
  • A complete robots.txt AI-agent policy plus a full OG/JSON-LD set are what actually move GEO and social previews.

Workflow

  1. Identify scope from $ARGUMENTS (URL, file, or directory). For a URL, fetch the rendered <head> — converting tools return markdown, so fetch raw HTML when you need the tags verbatim.
  2. Inventory the tags present versus the audit areas above; detect duplicates.
  3. Classify findings: HIGH (title, description, canonical, OG core), MEDIUM (Twitter, JSON-LD, keywords), LOW (format-detection, author).
  4. Generate fixes — prefer SSG config plus a single shared include over per-page tags.
  5. Verify by re-fetching the built output, not the raw templates.

Output Format

Findings

HIGH
- [Tag/issue] - Current: [value or "missing"] - Page: [url/path]
  Fix: [code/config snippet]

MEDIUM / LOW
- [Tag/issue] - Current: [value or "missing"]
  Fix: [code/config snippet]

Implementation Checklist

- [ ] [Fix] - Impact: [High/Medium/Low] - scope: [site-wide | per-page]

Rules

  • Configure once (DRY); do not hand-stuff tags an SSG already emits.
  • Flag mutually-exclusive checker targets instead of chasing impossible green.
  • Optimize for real engines and GEO, not vanity checker scores.
  • Every finding includes a concrete, implementable fix.
  • Keep output concise: findings + fixes + checklist only.

Further Reading

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.