Help us improve
Share bugs, ideas, or general feedback.
From seo-aeo-pro
Optimizes content for AI search engines (Google AI Overviews, Perplexity, ChatGPT) using structured data, entity optimization, and question mining. Runs AI visibility audits and citation tests.
npx claudepluginhub mangollc/claude-seo-skill --plugin seo-aeo-proHow this skill is triggered — by the user, by Claude, or both
Slash command
/seo-aeo-pro:seo-aeoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Load client context first. See seo-keywords [rules/client-setup.md](../seo-keywords/rules/client-setup.md).
Optimizes content to be cited by AI search systems (Google AI Overviews, ChatGPT, Perplexity, Claude, Gemini, Copilot). Use when improving AI visibility, answer engine optimization, or citation readiness.
Optimizes content to get cited by AI search engines (Google AI Overviews, ChatGPT, Perplexity, Claude, Gemini, Copilot). Assesses current AI visibility and provides platform-specific strategies.
Optimizes content to be cited by AI search engines and LLMs including Google AI Overviews, ChatGPT, Perplexity, Claude, and Gemini.
Share bugs, ideas, or general feedback.
Load client context first. See seo-keywords rules/client-setup.md.
aeo/
├── ai-overview-audit-{date}.json # Google AI Overview analysis
├── perplexity-audit-{date}.json # Perplexity citation analysis
├── entity-optimization.json # Entity and authority audit
├── brand-serp-{date}.json # Brand SERP analysis
├── structured-data-audit.json # AI-focused schema audit
├── enhance-aeo-{date}.json # Enhanced AEO discovery results
├── question-master-list.json # All discovered questions (deduplicated)
├── ai-visibility-scorecard.json # Keyword-by-keyword AI test results
├── aeo-checklist-results/
│ └── {url-slug}-aeo.json # Per-page AEO scores
└── .firecrawl/
├── paa-*.json # People Also Ask results
├── auto-*.json # Autocomplete mining results
├── reddit-*.json # Reddit question mining results
├── quora-*.json # Quora question mining results
├── atp-*.json # AnswerThePublic-style question map
└── ai-test-*.json # AI visibility test results
# Search target keywords and check for AI Overview presence
firecrawl search "{target-keyword}" --scrape --limit 5 -o .seo/clients/{slug}/aeo/.firecrawl/aio-{slug}.json --json
Check search results for AI Overview indicators. Not all queries trigger AI Overviews — focus on those that do.
For queries where AI Overviews appear, identify which sources get cited:
Common traits of AI Overview sources:
For each target page:
Bing weighs some factors differently than Google:
ChatGPT's knowledge includes entities from:
Action items:
Beyond standard SEO schema, these types specifically help AI extraction:
Most impactful for AEO — provides direct Q&A pairs AI can quote:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is {topic}?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Concise, direct answer here. {topic} is..."
}
}
]
}
Step-by-step instructions AI can present directly:
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to {do thing}",
"step": [
{ "@type": "HowToStep", "name": "Step title", "text": "Step description" }
]
}
For glossary/definition content AI frequently references:
{
"@context": "https://schema.org",
"@type": "DefinedTerm",
"name": "Term Name",
"description": "Clear definition of the term"
}
Mark content suitable for voice assistants:
{
"@context": "https://schema.org",
"@type": "Article",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-summary", ".key-takeaway"]
}
}
Link all brand profiles for entity recognition:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "{brand}",
"url": "{domain}",
"sameAs": [
"https://www.linkedin.com/company/{brand}",
"https://twitter.com/{brand}",
"https://www.facebook.com/{brand}",
"https://www.youtube.com/{brand}",
"https://en.wikipedia.org/wiki/{brand}",
"https://www.wikidata.org/wiki/{entity_id}",
"https://www.crunchbase.com/organization/{brand}"
]
}
# Search target queries to find PAA questions
firecrawl search "{topic} FAQ" --scrape --limit 10 -o .seo/clients/{slug}/aeo/.firecrawl/paa-{slug}.json --json
firecrawl search "what is {topic}" --scrape --limit 5 -o .seo/clients/{slug}/aeo/.firecrawl/whatis-{slug}.json --json
firecrawl search "how does {topic} work" --scrape --limit 5 -o .seo/clients/{slug}/aeo/.firecrawl/howdoes-{slug}.json --json
Collect PAA questions and create content that:
Check these authority indicators:
| Signal | How to Check | Status |
|---|---|---|
| Wikipedia page | firecrawl search "{brand} wikipedia" --limit 3 | Present / Absent / Stub |
| Wikidata entry | firecrawl search "wikidata {brand}" --limit 3 | Present / Absent |
| Knowledge Panel | firecrawl search "{brand}" --limit 5 — check for KP in results | Triggered / Not triggered |
| Social profiles verified | Check LinkedIn, Twitter/X, Facebook, YouTube | All present / Gaps |
| News coverage | firecrawl search "{brand}" --sources news --limit 10 | Recent / Stale / None |
| Industry mentions | firecrawl search "{brand} {industry}" --limit 10 | Strong / Moderate / Weak |
| Schema Organization | Scrape homepage for Organization schema | Present / Incomplete / Missing |
| sameAs links | Check if Organization schema links to all profiles | Complete / Incomplete |
Analyze what appears when someone searches the brand name:
firecrawl search "{brand_name}" --scrape --limit 20 -o .seo/clients/{slug}/aeo/.firecrawl/brand-serp.json --json
For each result on page 1 of brand search:
| Position | URL | Type | Sentiment | Owned? |
|---|---|---|---|---|
| 1 | example.com | Homepage | Positive | Yes |
| 2 | linkedin.com/company/... | Social | Positive | Yes |
| 3 | yelp.com/biz/... | Review | Mixed | No (but manageable) |
| ... | ... | ... | ... | ... |
Goals:
For each important page, score against these AI-readiness factors:
| Factor | Check | Points |
|---|---|---|
| Direct answer in first 50 words | Does the opening directly answer the target query? | 15 |
| FAQ section present | Are there Q&A pairs on the page? | 10 |
| FAQPage schema | Is FAQ content wrapped in JSON-LD? | 10 |
| Clear entity markup | Organization/Person/Product schema present? | 10 |
| Structured data (lists/tables) | Does the page use lists and tables for key data? | 10 |
| Concise definitions | Are key terms defined clearly? | 10 |
| Authoritative sources cited | Does content link to studies, official sources? | 10 |
| Author byline with credentials | Is there a named, credible author? | 10 |
| Updated date visible | Does the page show a recent update date? | 5 |
| speakable content marked | Is key content marked for voice assistants? | 5 |
| sameAs links on entity pages | Do brand/person pages link to all profiles? | 5 |
Total: 100 points
Grade: A (85-100), B (70-84), C (55-69), D (40-54), F (< 40)
The /enhance-aeo command runs 5 deep-discovery modules to find what real people are asking AI engines about your topic, and tests how visible you are in AI-generated answers. No API keys needed — uses Firecrawl search to mine publicly available data.
LLMs learn from and cite the same content that appears in:
By mining these sources, you discover the exact questions people ask AI chatbots — and can create content that AI engines will cite.
PAA questions are the strongest proxy for LLM queries. Google shows these because people commonly ask them — the same people then ask ChatGPT, Perplexity, etc.
Search patterns:
{keyword} — direct PAA boxeswhat is {keyword} — definitional questionshow to {keyword} — procedural questionswhy {keyword} — reasoning questions{keyword} vs — comparison questionsExtract and deduplicate all PAA questions, group by intent.
Autocomplete reflects real-time search behavior. Patterns:
{keyword} + [a, how, best, for, can, should, is]Cross-reference with PAA results — overlapping questions are highest priority.
These platforms are where real people ask real questions in natural language — the same format they use with AI chatbots. LLMs are also trained on this data.
Search patterns:
site:reddit.com {keyword} — Reddit threadssite:quora.com {keyword} — Quora questionsreddit {keyword} recommendations — Purchase intentreddit best {keyword} — Comparison intentExtract: thread titles (= questions), top-voted answers (= what AI learns from), brand mentions, pain points, decision criteria.
Build a complete question tree using all question word variations:
Creates a visual question map showing all angles people approach the topic from.
Systematically test each of the client's top keywords (up to 20):
For each keyword:
Output an AI Visibility Scorecard:
| Keyword | AI Overview? | You Cited? | Top Cited | Gap |
|---|---|---|---|---|
| kw1 | Yes/No | Yes/No | competitor | High/Med/Low |
After all 5 modules complete, compile a deduplicated master list: