How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-seo:ai-seoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
---
Make websites discoverable and citable by AI search engines. Unlike traditional SEO (ranking in search results), AI SEO ensures AI systems recommend, cite, and accurately represent content when answering user questions.
| Aspect | Traditional SEO | AI SEO (AEO/GEO) |
|---|---|---|
| Goal | Rank in search results | Be cited/recommended by AI |
| Audience | Search engine crawlers | LLM training + real-time inference |
| Signal | Backlinks, keywords, PageRank | Structured data, authority, freshness |
| Format | HTML meta tags, anchor text | llms.txt, JSON-LD, public APIs |
| Measurement | SERP position, click-through | AI engine test prompts, citation accuracy |
| Update cycle | Index in hours/days | Training data months + real-time RAG |
Complete these 3 steps to immediately improve AI discoverability. No coding experience required.
llms.txt (2 minutes)Place a plain text file at the site root (e.g., https://example.com/llms.txt).
This file tells AI systems what the site is, what it offers, and where to find key content.
# [Site Name]
> [One-sentence description of what the site does]
## About
[2-3 sentences: purpose, target audience, unique value proposition]
## Key Features
- [Feature 1]: [brief description]
- [Feature 2]: [brief description]
- [Feature 3]: [brief description]
## Main Content
- [Content type 1]: [URL]
- [Content type 2]: [URL]
## Links
- Website: [URL]
- Documentation: [URL] (if applicable)
- API: [URL] (if applicable)
## Contact
- Email: [email]
Why this matters: AI engines like Perplexity and ChatGPT read llms.txt to understand a site's purpose and structure before deciding whether to recommend it.
robots.txt (1 minute)Add explicit permission for AI crawlers. Without this, AI systems may skip the site entirely.
# AI Crawlers — Explicitly Allow
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Bytespider
Allow: /
# Standard crawlers
User-agent: *
Allow: /
Disallow: /private/
Disallow: /api/internal/
Sitemap: https://example.com/sitemap.xml
Why this matters: Many hosting platforms block AI crawlers by default. Explicit Allow ensures the content reaches AI systems.
Add JSON-LD to the homepage <head>. This helps AI engines understand what the site is at a glance.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "[Site Name]",
"url": "https://example.com",
"description": "[Site description with specific numbers and facts]",
"potentialAction": {
"@type": "SearchAction",
"target": "https://example.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
Why this matters: JSON-LD is the format AI systems most reliably parse. It converts unstructured HTML into machine-readable facts.
A systematic approach from foundational to advanced. Complete each layer before moving to the next.
Layer 4: Agentic AI uses the site as a tool (MCP, API)
Layer 3: Authority AI trusts the site (citations, reviews, data exclusivity)
Layer 2: Content AI understands the content (Q&A, statistics, modularity)
Layer 1: Technical AI can access the site (crawlers, structured data, sitemap)
Ensure AI systems can crawl, parse, and understand the site structure.
Checklist:
robots.txt explicitly allows AI crawlers (GPTBot, ClaudeBot, PerplexityBot)llms.txt at site root with structured metadatasitemap.xml with lastmod timestamps<meta> tags: title, description, Open Graph, Twitter Cardhreflang tags for multilingual contentJSON-LD by Page Type:
| Page Type | Schema.org @type | Key Properties |
|---|---|---|
| Homepage | WebSite + Organization | name, url, SearchAction, logo |
| Product | Product | name, price, availability, review, aggregateRating |
| Article | Article | headline, author, datePublished, dateModified |
| FAQ | FAQPage | Question + Answer pairs |
| Local Business | LocalBusiness | address, geo, openingHours, telephone |
| Event | Event | startDate, endDate, location, performer |
| Recipe | Recipe | ingredients, instructions, nutrition |
| How-to | HowTo | step, totalTime, tool, supply |
| Course/Tour | TouristTrip | itinerary, provider, touristType |
| Person/Profile | Person | name, jobTitle, affiliation, knowsAbout |
Structure content for AI citation with answer-first writing, modular sections, specific data, and freshness signals. See references/layers-deep-dive.md for detailed principles, BAD/GOOD content patterns, and multilingual optimization strategies.
Build trust signals so AI systems prioritize your content over competitors. See references/layers-deep-dive.md for the effort-vs-effect strategies table covering author bios, reviews, exclusive data, and community building.
Enable AI systems to use your site as a tool via public APIs, MCP servers, or AI plugins. See references/layers-deep-dive.md for the Level 1-3 progressive approach with code examples.
To audit any site's AI discoverability:
[Step 1] Auto-Detect
- Scan project for existing assets: robots.txt, llms.txt, sitemap.xml, JSON-LD, meta tags
- Identify framework (React, Vue, Next.js, WordPress, static HTML, etc.)
- Check if .ai-seo/config.json exists (returning audit)
[Step 2] Layer-by-Layer Scoring
- Score each of the 4 layers (0-10)
- Identify gaps and quick wins
- Compare with previous audit if history exists
[Step 3] Generate Report
- Overall score (0-40, sum of 4 layers)
- Prioritized action items by effort vs. impact
- Copy-paste ready fixes for each issue
[Step 4] Save Progress
- Write results to .ai-seo/history.json
- Update config with detected project structure
For detailed scoring rubric and measurement methodology, see references/layers-deep-dive.md.
This skill builds project context over time.
.ai-seo/ directory with:
config.json: project URL, framework, detected assets, language listhistory.json: baseline audit scores with timestampstest-prompts.md: AI engine test prompts customized for the site's domain.ai-seo/config.json for project context (skip detection)history.jsonscripts/check-ai-readiness.sh: Quick readiness check — scans project for robots.txt, llms.txt, sitemap, JSON-LD, meta tags. Run with bash scripts/check-ai-readiness.sh [project-root]. Returns a scored checklist. Exit code 0 = all pass, 1 = issues found.references/structured-data-patterns.md: Copy-paste JSON-LD templates for 8 page types (Homepage, Product, Article, FAQ, LocalBusiness, TouristAttraction, HowTo, Event). Use when implementing Layer 1 structured data.references/layers-deep-dive.md: Detailed Layer 2-4 patterns, BAD/GOOD content examples, authority strategies table, agentic integration code, scoring rubric, and measurement methodology with AI engine test prompts.seo-audit: Traditional SEO auditing with seomator CLI (complements ai-seo)schema-markup: Detailed schema.org implementation patternsmcp-builder: Building MCP servers (for Layer 4 agentic integration)npx claudepluginhub jhyeok5/claude-plugin-marketplace --plugin ai-seoOptimizes content for citation by AI search engines (ChatGPT, Perplexity, Google AI Overview, Claude) — checks crawler access, content structure, llms.txt, and AI-friendly patterns.
Optimizes content and site structure for AI-driven search including AI overviews, LLM citations, generative answer engines, and AI assistants. Builds llms.txt, structures content for extraction, and future-proofs SEO for AI answers.
Optimizes content for AI search (AI Overviews, Perplexity, ChatGPT) via GEO analysis: citability scoring, llms.txt compliance, brand mentions, crawler accessibility, structural signals.