| name | seo-audit |
| description | Run SEO audit (39 rules) with AI visibility checks — GEO (20 rules for AI bot access, snippet restrictions) and AEO (4 schema checks). Auto-fix included. Use when user wants to check or improve search visibility. |
| argument-hint | <url-or-directory> |
| allowed-tools | Bash, Read, Edit, Grep, Glob |
| paths | ["**/*.html","**/index.html","**/*.htm"] |
SEO Audit + AI Visibility
Search optimization audit with AI visibility signals. Finds issues AND fixes them.
Process
Phase 1: Scan
Run the SEO scanner on the project:
node ${CLAUDE_PLUGIN_ROOT}/tools/seo-scanner.mjs <project-directory>
Parse the JSON output for findings and scores (seo, geo, aeo).
Large sites: when a site has many pages and each needs page-specific fixes, escalate to a dynamic Workflow (describe the audit and include the word "workflow") so the scan-then-fix-then-verify pipeline runs across pages in parallel instead of one at a time.
Phase 2: Report
Present findings grouped by category with severity:
- SEO: meta tags, OG tags, headings, alt text, canonical, robots.txt, sitemap
- GEO: structured data, llms.txt, content structure for AI
- AEO: FAQPage schema, speakable markup, snippet optimization
Phase 3: Fix
For each finding, apply the appropriate fix:
SEO fixes (use Edit tool on HTML files):
- Missing title → add
<title> in <head>
- Missing meta description → add
<meta name="description" content="...">
- Missing OG tags → generate from page content
- Missing H1 → add appropriate heading
- Missing alt text → add descriptive alt attributes
- Missing canonical → add
<link rel="canonical">
- Missing sitemap → run:
node ${CLAUDE_PLUGIN_ROOT}/tools/sitemap-generator.mjs <dir> <url>
- Missing robots.txt → run:
node ${CLAUDE_PLUGIN_ROOT}/tools/robots-generator.mjs <dir> <url>
- Missing favicon → warn user to add one
GEO fixes:
- Missing llms.txt → run:
node ${CLAUDE_PLUGIN_ROOT}/tools/llms-txt-generator.mjs <dir>
- Missing structured data → run:
node ${CLAUDE_PLUGIN_ROOT}/tools/structured-data-generator.mjs <dir> --type=<type>
- Improve content structure: add clear headings, FAQ sections, definitive statements
AEO fixes:
- Missing JSON-LD → generate appropriate schema type
- Missing FAQ schema → create FAQPage structured data from page content
- Snippet optimization → restructure key answers to 40-60 words
Phase 4: Search Engine Registration (GSC + Bing)
Google Search Console (requires ULTRASHIP_GSC_CREDENTIALS):
node ${CLAUDE_PLUGIN_ROOT}/tools/gsc-client.mjs submit-sitemap <site-url> <sitemap-url>
node ${CLAUDE_PLUGIN_ROOT}/tools/gsc-client.mjs inspect-url <site-url> <page-url>
node ${CLAUDE_PLUGIN_ROOT}/tools/gsc-client.mjs query <site-url> 28
node ${CLAUDE_PLUGIN_ROOT}/tools/gsc-client.mjs list-sitemaps <site-url>
Bing Webmaster Tools (requires ULTRASHIP_BING_KEY):
node ${CLAUDE_PLUGIN_ROOT}/tools/bing-webmaster.mjs submit-sitemap <site-url> <sitemap-url>
node ${CLAUDE_PLUGIN_ROOT}/tools/bing-webmaster.mjs submit-url <site-url> <page-url>
node ${CLAUDE_PLUGIN_ROOT}/tools/bing-webmaster.mjs submit-url-batch <site-url> <url1> <url2> ...
node ${CLAUDE_PLUGIN_ROOT}/tools/bing-webmaster.mjs url-info <site-url> <page-url>
If credentials are not set, show setup instructions from the tool's error output. Do NOT skip this phase — submitting sitemaps to both GSC and Bing is critical for indexing speed.
Why Bing matters for AI search: Bing's index powers ChatGPT Search, DuckDuckGo, and Yahoo. Submitting your sitemap to Bing directly improves AI search visibility.
Phase 4b: Content Quality Analysis
Run content scoring on all pages:
node ${CLAUDE_PLUGIN_ROOT}/tools/content-scorer.mjs <project-directory>
For pages with a known target keyword:
node ${CLAUDE_PLUGIN_ROOT}/tools/content-scorer.mjs <project-directory> --keyword=<keyword>
Report readability scores (Flesch-Kincaid), keyword density, thin content, and GEO heading optimization.
Phase 4c: Social Preview Validation
Validate Open Graph tags and image accessibility:
node ${CLAUDE_PLUGIN_ROOT}/tools/og-validator.mjs <project-directory>
Fix missing OG tags, broken OG images, and oversized preview images.
Phase 4d: Redirect Audit
If a production URL is available, check for redirect chains:
node ${CLAUDE_PLUGIN_ROOT}/tools/redirect-checker.mjs --sitemap=<sitemap-url>
Fix redirect chains (consolidate to single hop), convert 302s to 301s, and resolve mixed HTTP/HTTPS.
Phase 5: Verify
Re-run the scanner to confirm fixes and report before/after scores.
Save scores for historical comparison:
node ${CLAUDE_PLUGIN_ROOT}/tools/audit-history.mjs save <project-dir> seo <score>
node ${CLAUDE_PLUGIN_ROOT}/tools/audit-history.mjs save <project-dir> geo <score>
node ${CLAUDE_PLUGIN_ROOT}/tools/audit-history.mjs save <project-dir> aeo <score>
Phase 6: AI Search Content Strategy
After technical fixes, advise on content-level optimizations that the scanner cannot automate:
GEO Content Patterns (for AI citation):
- Rewrite key H2 headers as questions: "What is [topic]", "How does [feature] work", "Why use [product]"
- Add 1-2 sentence TL;DR summaries under important H2 sections — AI engines extract these as standalone answers
- Use plain-language definitions before introducing nuance: "[Product] is [clear definition]"
- Write in citation-ready format: concise, factual, quotable — avoid vague marketing copy
- Create comparison tables, statistics pages, and glossaries — these are the most-cited page formats by AI
E-E-A-T Signals (for AI trust):
- Add Author/Person schema with credentials, role, and expertise
- Include first-hand experience statements: "We tested", "In our experience", "Based on [N] customers"
- Add original visuals, screenshots, and data — AI cannot synthesize these, so they prove authenticity
- Ensure author bios establish subject-matter relevance on every content page
AI Bot Access:
- Verify robots.txt explicitly allows GPTBot (ChatGPT), PerplexityBot, and Claude-Web
- Block Google-Extended and CCBot only if you want to prevent AI training (not citation)
Citation-Worthy Page Formats:
- Ultimate guides consolidating a topic into one authoritative resource
- "[Topic] Statistics (2026)" pages centralizing referenceable data
- "Best [Category] Tools Compared" with explicit comparison tables
- FAQ pages with direct, quotable answers (not marketing fluff)
Key test: "If your content can't answer a question clearly in 30 seconds, AI engines won't select it for generated answers."
Phase 7: Content Audit Framework
For SEO specialists working on client sites, provide a content audit after the technical scan:
Content Health Assessment:
- Flag pages with <300 words as thin content — recommend consolidation or expansion
- Identify pages with duplicate titles/descriptions — each page must be unique
- Find orphan pages (0 internal links pointing to them) — add links or consider removing
- Check internal link distribution — important pages should have 3+ internal links
Competitor Gap Analysis Guidance:
After technical fixes, advise the user to:
- Search their top 5 target keywords in ChatGPT, Perplexity, and Google AI Overviews
- Note which competitors are cited — study their content structure
- Identify topics competitors cover that the client site doesn't
- Create "definitive answer" content for each gap — direct, structured, quotable
Content Update/Consolidate/Delete Decision Framework:
For each existing content page, recommend one of:
- Update: Has traffic potential but content is outdated or thin → refresh with current data
- Consolidate: Multiple pages targeting the same keyword → merge into one authoritative page
- Delete/Redirect: Zero traffic, zero backlinks, no strategic value → 301 redirect to relevant page
- Leave: Performing well, no changes needed
Page Speed Budget by Page Type:
- Landing pages / homepage: target Lighthouse 90+
- Blog posts / content pages: target Lighthouse 85+
- Dashboards / app pages: target Lighthouse 70+ (not search-indexed)
- API-only backends: skip Lighthouse entirely
Phase 8: Domain Authority & Backlink Strategy
Ultraship cannot check backlinks (requires paid APIs like Ahrefs/Semrush with massive crawl indexes). Instead, provide strategic guidance that a $10K/month SEO consultant would give:
Internal Link Optimization (we CAN automate):
The scanner already detects orphan pages and pages with zero internal links. After fixing those:
- Ensure every important page has 3+ internal links pointing to it
- Use descriptive anchor text with keywords (not "click here" or "read more")
- Add contextual links within content, not just navigation
- Create hub pages that link to all related content (topic clusters)
Backlink Acquisition Strategy (guidance for user):
High-value link building tactics (ranked by ROI):
- Create link-worthy assets — original research, data studies, industry surveys, free tools, calculators. These attract natural links.
- Guest posting — write for authoritative sites in your niche. One link from a DR60+ site > 100 links from spam sites.
- Broken link building — find broken links on competitor sites, offer your content as replacement.
- HARO/Qwoted/Featured — respond to journalist queries to earn media mentions with backlinks.
- Competitor backlink analysis — use Ahrefs/Semrush free trials to find where competitors get links, then target the same sources.
- Strategic partnerships — co-create content with complementary businesses, cross-link naturally.
What NOT to do:
- Never buy links (Google penalizes this)
- Never use PBNs (private blog networks)
- Never spam forum/comment links
- Never use automated link building tools
Domain Authority Monitoring (guidance for user):
- Check DA/DR monthly via free Ahrefs Webmaster Tools or Moz free tier
- Track referring domains, not just total backlinks (10 links from 10 domains > 100 links from 1 domain)
- Monitor for toxic backlinks quarterly and disavow via GSC if needed
Key Principle
Fix, don't just audit. Every finding should have a concrete fix applied. Every content page should have a strategy to be cited by AI. Every client engagement should include technical fixes + content audit + backlink strategy.