GEO AEO optimization
Quick answer
- 01What is it?
- Professional methodology for visibility in AI-powered search engines and generative AI responses. The value is a focused slice of search and SEO workflows judgment, useful when several similar skills cover the same ground.
- 02Inputs
- Context for search and SEO workflows: your goals, audience, constraints, and any source material the skill asks for.
- 03Output
- A ready-to-use result for search and SEO workflows: the analysis, copy, or recommendations the agent produces.
Add this skill
Install as a package
Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.
$ npx skills add schwepps/skills --skill geo-aeo-optimizationSkill instructions
The instruction file for this skill. The skill also includes other files you need to install to use it.
GEO & AEO Optimization Framework
Professional methodology for visibility in AI-powered search engines and generative AI responses.
Understanding GEO vs AEO vs SEO
SEO → Rank in traditional search results (blue links)
AEO → Appear in featured snippets, AI Overviews, voice answers
GEO → Get cited in generative AI responses (ChatGPT, Claude, Perplexity)
2025 Reality:
- 58% of queries are conversational
- AI Overviews appear in ~47% of Google searches
- Traditional CTR dropped 34.5% for top results due to AI answers
- These strategies are complementary, not competing
When to Use This Skill
- Optimizing content for AI search engines
- Improving featured snippet capture rate
- Auditing AI citation readiness
- Restructuring content for AI extractability
- Implementing E-E-A-T signals
- Preparing for voice search
The Triple-Threat Framework
1. E-E-A-T Foundation (Required for All)
AI systems prioritize trusted, authoritative sources:
Experience → First-hand knowledge, case studies, original research
Expertise → Credentials, depth of knowledge, technical accuracy
Authority → Citations, backlinks, mentions, brand recognition
Trustworthiness → Accuracy, transparency, clear sourcing
Implementation Checklist:
□ Author bio with credentials on every article
□ Link to authoritative sources
□ Include original data/research
□ Show methodology and sources
□ Update content regularly with visible dates
□ Display contact information
□ Include editorial guidelines
2. AEO: Featured Snippets & AI Overviews
Lead with the Answer:
- First 40-60 words should directly answer the query
- Use question-format H2 headers
- Provide concise, extractable definitions
Content Structure for AEO:
## What is [Topic]?
[Direct answer in 1-2 sentences that can be extracted as a snippet]
[Supporting details and context follow]
Snippet-Optimized Formats:
| Query Type | Best Format |
|---|---|
| "What is X?" | Definition paragraph (40-60 words) |
| "How to X" | Numbered steps (5-8 steps) |
| "Best X" | Bulleted list with brief descriptions |
| "X vs Y" | Comparison table |
| "Why X?" | Direct answer + explanation |
3. GEO: AI Citation Optimization
The CRASP Framework:
C - Clarity → Unambiguous statements AI can quote
R - Relevance → Match conversational query intent
A - Authority → Cited sources, expert credentials
S - Structure → Scannable, extractable format
P - Precision → Specific facts, numbers, dates
High-Citation Content Elements:
- TL;DR blocks at the top
- Statistics with sources ("According to [Source], X increased by Y%")
- Expert quotes with attribution
- Definition lists for key terms
- Comparison tables with clear data
- FAQ sections with complete answers
Content Structure Template
# [H1: Primary Question or Topic]
**TL;DR:** [2-3 sentence summary with key facts]
## What is [Topic]? {#definition}
[Direct definition in 40-60 words - optimized for extraction]
[Expanded explanation with context]
## How [Topic] Works {#how-it-works}
[Step-by-step explanation]
1. **Step One**: [Description]
2. **Step Two**: [Description]
3. **Step Three**: [Description]
## Key Statistics
| Metric | Value | Source |
|--------|-------|--------|
| [Stat 1] | [Value] | [Source, Year] |
| [Stat 2] | [Value] | [Source, Year] |
## [Topic] vs [Alternative]
| Factor | [Topic] | [Alternative] |
|--------|---------|---------------|
| [Factor 1] | [Value] | [Value] |
| [Factor 2] | [Value] | [Value] |
## Frequently Asked Questions
### [Question 1]?
[Complete, standalone answer - 50-100 words]
### [Question 2]?
[Complete, standalone answer - 50-100 words]
## Expert Insights
> "[Quotable statement with specific insight]"
> — [Expert Name], [Title], [Organization]
---
*Last updated: [Date] | Author: [Name], [Credentials]*
Fact-Density Checklist
Extractability:
□ TL;DR or summary present at top
□ Paragraphs <120 words each
□ Clear topic sentences (first sentence = main point)
□ Bullet lists for features/benefits
□ Tables for comparisons
□ FAQ section with schema
Fact-Density:
□ Statistics with sources cited
□ Specific numbers and dates
□ Verifiable data points
□ Expert quotes with attribution
□ Original research/data
□ Named entities (people, companies, places)
Structure for AI:
□ Question-based H2 headers
□ Direct answers in first 40-60 words
□ Logical information hierarchy
□ Schema markup (FAQPage, HowTo, Article)
AI Crawler Configuration
robots.txt for AI Search Visibility:
# ALLOW search/chat features
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
# OPTIONAL: Block training (keeps search)
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
Critical: Ensure server-side rendering. AI crawlers often don't execute JavaScript well.
Schema Markup for AI
Priority Schema Types:
- FAQPage - Highest AI citation impact
- HowTo - Step-by-step visibility
- Article + Author - E-E-A-T signals
- Organization - Brand authority
FAQPage Example:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is [topic]?",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Complete answer that can be extracted]"
}
}]
}
Output Format
# GEO/AEO Audit Report
**Page:** [URL]
**Date:** [Date]
**Overall Score:** X/100
## Executive Summary
[2-3 sentence AI search readiness assessment]
## Scores by Category
| Category | Score | Status |
|----------|-------|--------|
| E-E-A-T Signals | X/25 | [Good/Needs Work/Critical] |
| Content Structure | X/20 | [Good/Needs Work/Critical] |
| Fact-Density | X/20 | [Good/Needs Work/Critical] |
| Extractability | X/20 | [Good/Needs Work/Critical] |
| AI Technical Readiness | X/15 | [Good/Needs Work/Critical] |
## Priority Issues
1. **[Issue]** - [Impact] - [Fix]
2. **[Issue]** - [Impact] - [Fix]
3. **[Issue]** - [Impact] - [Fix]
## AI Visibility Assessment
[Current citation probability and gaps]
## Action Plan
**Immediate:**
- [ ] Add TL;DR to top articles
- [ ] Implement FAQ schema
**Short-term:**
- [ ] Restructure headers as questions
- [ ] Add author credentials
**Ongoing:**
- [ ] Monitor AI platform citations
- [ ] Update content freshness
Quick Audit (5-Point Check)
- TL;DR - Summary present at top?
- Structure - Question-based headers?
- Facts - Statistics with sources?
- E-E-A-T - Author credentials visible?
- Schema - FAQPage/HowTo markup?
Scoring Guide
- 90-100: Excellent - High AI citation probability
- 70-89: Good - Likely cited with minor improvements
- 50-69: Needs Work - Significant optimization needed
- Below 50: Critical - Major restructuring required
Supporting file: references/ai-crawlers.md
AI Crawlers & Bot Management Guide
Table of Contents
- AI Crawler Overview (#ai-crawler-overview)
- robots.txt Configuration (#robotstxt-configuration)
- Crawler Characteristics (#crawler-characteristics)
- Strategic Decisions (#strategic-decisions)
- Implementation Guide (#implementation-guide)
AI Crawler Overview
Major AI Crawlers (2025)
| Crawler | Company | Purpose | Recommendation |
|---|---|---|---|
| GPTBot | OpenAI | Training data | Block if concerned about training |
| OAI-SearchBot | OpenAI | ChatGPT Search | Allow for AI search visibility |
| ChatGPT-User | OpenAI | User-requested fetching | Allow for user experience |
| Google-Extended | Gemini training | Block if concerned, Allow for AI Search | |
| Googlebot | Search indexing | Always Allow | |
| PerplexityBot | Perplexity | Search & answers | Allow for visibility |
| ClaudeBot | Anthropic | Claude features | Allow for visibility |
| Bytespider | ByteDance | TikTok/Training | Consider blocking |
| CCBot | Common Crawl | Dataset collection | Consider blocking |
| FacebookBot | Meta | AI training | Consider blocking |
Key Distinction: Search vs Training
SEARCH CRAWLERS (Allow for visibility):
├── Googlebot → Traditional search
├── OAI-SearchBot → ChatGPT Search results
├── ChatGPT-User → User asks ChatGPT to read a page
├── PerplexityBot → Perplexity answers
└── ClaudeBot → Claude features
TRAINING CRAWLERS (Block if data protection matters):
├── GPTBot → OpenAI model training
├── Google-Extended → Gemini training
├── CCBot → Common Crawl datasets
├── Bytespider → ByteDance training
└── FacebookBot → Meta AI training
robots.txt Configuration
Recommended Configuration (Balanced)
# ===========================================
# AI SEARCH CRAWLERS - ALLOW
# ===========================================
# OpenAI Search (ChatGPT Search feature)
User-agent: OAI-SearchBot
Allow: /
# ChatGPT when users ask it to read a page
User-agent: ChatGPT-User
Allow: /
# Perplexity AI search
User-agent: PerplexityBot
Allow: /
# Claude AI
User-agent: ClaudeBot
Allow: /
# ===========================================
# AI TRAINING CRAWLERS - BLOCK
# ===========================================
# OpenAI training (not search)
User-agent: GPTBot
Disallow: /
# Google Gemini training
User-agent: Google-Extended
Disallow: /
# Common Crawl
User-agent: CCBot
Disallow: /
# ByteDance
User-agent: Bytespider
Disallow: /
# Meta AI training
User-agent: FacebookBot
Disallow: /
# ===========================================
# TRADITIONAL SEARCH - ALLOW
# ===========================================
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
Maximum Visibility Configuration
# Allow all AI crawlers for maximum reach
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
Maximum Protection Configuration
# Block all AI crawlers except traditional search
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: *
Disallow: /
Crawler Characteristics
Crawl Behavior Comparison
| Crawler | Respects robots.txt | Crawl Rate | JavaScript Rendering |
|---|---|---|---|
| Googlebot | Yes | Adaptive | Yes (2nd wave) |
| GPTBot | Yes | Unknown | Limited |
| OAI-SearchBot | Yes | Unknown | Limited |
| PerplexityBot | Yes | Moderate | Limited |
| ClaudeBot | Yes | Unknown | Limited |
| CCBot | Generally yes | Heavy | No |
What AI Crawlers Index
Typically Indexed:
├── Main body content
├── Headers (H1-H6)
├── Meta descriptions
├── Alt text
├── Structured data (JSON-LD)
├── Tables
└── Lists
Often Missed:
├── JavaScript-rendered content
├── Content behind tabs/accordions
├── Lazy-loaded images
├── PDF content
├── Video transcripts (unless in HTML)
└── Content in iframes
Strategic Decisions
Decision Matrix
| Business Type | Strategy | Reasoning |
|---|---|---|
| Publisher/Blog | Allow search, Block training | Maintain traffic, protect content |
| E-commerce | Allow all | Maximum product visibility |
| SaaS | Allow search, Consider training | Brand visibility, protect docs |
| Enterprise B2B | Selective allow | Control information flow |
| Personal brand | Allow all | Maximum reach |
| Research/Academic | Allow all | Citation and reach |
Questions to Ask
-
Is being cited by AI chatbots valuable to you?
- Yes → Allow search crawlers
- No → Block all AI crawlers
-
Are you concerned about AI training on your content?
- Yes → Block training crawlers (GPTBot, Google-Extended)
- No → Allow all
-
Do users ask AI to read your pages?
- Yes → Allow ChatGPT-User
- No → Can block
-
Is your content time-sensitive or frequently updated?
- Yes → Allow all search crawlers for freshness
- No → Selective blocking okay
Implementation Guide
Step 1: Audit Current Configuration
# Check current robots.txt
curl -s https://yoursite.com/robots.txt
# Test specific bot access
curl -A "GPTBot" -I https://yoursite.com/
curl -A "OAI-SearchBot" -I https://yoursite.com/
Step 2: Monitor Crawler Activity
In server logs, look for:
User-Agent patterns:
- "GPTBot/1.0"
- "OAI-SearchBot"
- "ChatGPT-User"
- "PerplexityBot"
- "ClaudeBot"
Log analysis command:
grep -E "GPTBot|OAI-SearchBot|ChatGPT-User|PerplexityBot|ClaudeBot" access.log | \
awk '{print $1, $7}' | sort | uniq -c | sort -rn
Step 3: Implement WAF Rules (if needed)
Cloudflare example:
# Block specific bots at WAF level
(cf.client.bot and http.user_agent contains "GPTBot")
Step 4: Verify Implementation
# Test that robots.txt is being served correctly
curl -s https://yoursite.com/robots.txt | grep -A2 "GPTBot"
# Verify bot can/cannot access
curl -A "GPTBot" -s -o /dev/null -w "%{http_code}" https://yoursite.com/
Step 5: Monitor Impact
Track these metrics after changes:
- AI referral traffic (from Perplexity, ChatGPT, etc.)
- Brand mentions in AI responses (manual testing)
- Overall organic traffic (ensure no negative impact)
Emerging Crawlers to Watch
| Bot | Company | Status | Notes |
|---|---|---|---|
| MistralBot | Mistral AI | Emerging | European AI |
| DeepSeekBot | DeepSeek | Emerging | Chinese AI |
| GrokBot | xAI | Expected | Elon Musk's AI |
| MetaAI-SearchBot | Meta | Expected | Meta AI search |
Recommendation: Monitor industry news and update robots.txt quarterly.
Supporting file: references/content-templates.md
GEO/AEO Content Templates
Table of Contents
- Definitional Content Template (#definitional-content-template)
- How-To Content Template (#how-to-content-template)
- Comparison Content Template (#comparison-content-template)
- FAQ-Optimized Template (#faq-optimized-template)
- Product/Service Template (#productservice-template)
- Writing Guidelines (#writing-guidelines)
Definitional Content Template
Best for: "What is X?" queries, concept explanations
# What is [Topic]? [Subtitle with Context]
**TL;DR:** [Topic] is [concise 1-sentence definition]. [1-2 sentences on why it matters or key application].
## Definition
[Topic] is [expanded definition in 2-3 sentences]. [Include key characteristics].
> **Quick Definition:** [15-word definition suitable for snippet extraction]
## How [Topic] Works
[Explanation paragraph - use simple, clear language]
### Key Components
| Component | Purpose | Example |
|-----------|---------|---------|
| [Item 1] | [What it does] | [Concrete example] |
| [Item 2] | [What it does] | [Concrete example] |
| [Item 3] | [What it does] | [Concrete example] |
## Benefits of [Topic]
1. **[Benefit 1]**: [Explanation in 1-2 sentences]
2. **[Benefit 2]**: [Explanation in 1-2 sentences]
3. **[Benefit 3]**: [Explanation in 1-2 sentences]
## Common Use Cases
- **[Use case 1]**: [Brief description]
- **[Use case 2]**: [Brief description]
- **[Use case 3]**: [Brief description]
## FAQ
### What is the difference between [Topic] and [Related Topic]?
[Clear answer in 2-3 sentences]
### Who should use [Topic]?
[Clear answer identifying target audience]
### How do I get started with [Topic]?
[Actionable first steps]
## Summary
[2-3 sentence recap of key points - this is another extraction opportunity]
---
*Last updated: [Date] | Author: [Name, Credentials]*
*Sources: [List key sources for credibility]*
How-To Content Template
Best for: Process queries, tutorials, step-by-step guides
# How to [Action]: [Subtitle with Benefit]
**TL;DR:** To [action], you need to [high-level steps in 1 sentence]. This process takes approximately [time estimate] and requires [key requirements].
## Quick Overview
| | |
|---|---|
| **Time Required** | [X minutes/hours] |
| **Difficulty** | [Beginner/Intermediate/Advanced] |
| **What You'll Need** | [Key requirements] |
| **Expected Result** | [What user will achieve] |
## Before You Start
### Prerequisites
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
### Tools/Materials Needed
- [Tool 1] - [why needed]
- [Tool 2] - [why needed]
## Step-by-Step Instructions
### Step 1: [Action Verb + What]
[1-2 sentences explaining this step]
**How to do it:**
1. [Sub-step a]
2. [Sub-step b]
3. [Sub-step c]
> **Pro Tip:** [Helpful insight for this step]
### Step 2: [Action Verb + What]
[1-2 sentences explaining this step]
**How to do it:**
1. [Sub-step a]
2. [Sub-step b]
⚠️ **Warning:** [Common mistake to avoid]
### Step 3: [Action Verb + What]
[Continue pattern...]
## Troubleshooting
### [Common Problem 1]
**Cause:** [Why this happens]
**Solution:** [How to fix]
### [Common Problem 2]
**Cause:** [Why this happens]
**Solution:** [How to fix]
## FAQ
### How long does it take to [action]?
[Direct answer with context]
### What if [common concern]?
[Reassuring answer with solution]
### Can I [related question]?
[Clear yes/no with explanation]
## Summary
You've learned how to [action]. The key steps are:
1. [Step 1 summary]
2. [Step 2 summary]
3. [Step 3 summary]
---
*Last updated: [Date] | Author: [Name, Credentials]*
Comparison Content Template
Best for: "X vs Y" queries, decision-making content
# [Option A] vs [Option B]: [What You Need to Know in 2025]
**TL;DR:** [Option A] is best for [use case], while [Option B] excels at [different use case]. Choose [A] if [criteria]; choose [B] if [other criteria].
## Quick Comparison
| Feature | [Option A] | [Option B] |
|---------|------------|------------|
| **Best For** | [Primary use case] | [Primary use case] |
| **Price** | [Range] | [Range] |
| **Ease of Use** | [Rating/description] | [Rating/description] |
| **Key Strength** | [Main advantage] | [Main advantage] |
| **Key Weakness** | [Main drawback] | [Main drawback] |
## [Option A] Overview
### What is [Option A]?
[2-3 sentence definition]
### Pros
- ✅ [Advantage 1]
- ✅ [Advantage 2]
- ✅ [Advantage 3]
### Cons
- ❌ [Disadvantage 1]
- ❌ [Disadvantage 2]
### Best For
[Option A] is ideal for [specific users/situations] because [reason].
## [Option B] Overview
### What is [Option B]?
[2-3 sentence definition]
### Pros
- ✅ [Advantage 1]
- ✅ [Advantage 2]
- ✅ [Advantage 3]
### Cons
- ❌ [Disadvantage 1]
- ❌ [Disadvantage 2]
### Best For
[Option B] is ideal for [specific users/situations] because [reason].
## Detailed Comparison
### [Criteria 1]: [Option A] vs [Option B]
[Detailed comparison - 2-3 paragraphs]
**Winner:** [Option X] - [1 sentence reason]
### [Criteria 2]: [Option A] vs [Option B]
[Detailed comparison - 2-3 paragraphs]
**Winner:** [Option X] - [1 sentence reason]
### [Criteria 3]: [Option A] vs [Option B]
[Detailed comparison - 2-3 paragraphs]
**Winner:** [Option X] - [1 sentence reason]
## Which Should You Choose?
### Choose [Option A] if:
- [Condition 1]
- [Condition 2]
- [Condition 3]
### Choose [Option B] if:
- [Condition 1]
- [Condition 2]
- [Condition 3]
## FAQ
### Is [Option A] better than [Option B]?
[Nuanced answer - "it depends on..."]
### Can I use both [Option A] and [Option B]?
[Clear answer]
### What's the main difference between [A] and [B]?
[1-2 sentence core difference]
## Conclusion
**Our Recommendation:** For [most common use case], we recommend [Option X] because [key reason]. However, if [alternative scenario], [Option Y] is the better choice.
---
*Last updated: [Date] | Author: [Name, Credentials]*
*Methodology: [How comparison was conducted]*
FAQ-Optimized Template
Best for: Question clusters, comprehensive topic coverage
# [Topic]: Frequently Asked Questions
**TL;DR:** This guide answers the most common questions about [topic], including [key question areas]. Last updated [Date].
## Quick Answers
| Question | Short Answer |
|----------|--------------|
| [Question 1]? | [10-word answer] |
| [Question 2]? | [10-word answer] |
| [Question 3]? | [10-word answer] |
## Detailed FAQ
### Basic Questions
#### What is [topic]?
[2-3 sentence complete answer that can stand alone]
#### Why is [topic] important?
[Complete answer with specific benefits/reasons]
#### Who needs [topic]?
[Clear description of target audience with examples]
### How-To Questions
#### How do I [common action]?
[Step-by-step answer, can be brief list]
#### How long does [process] take?
[Specific timeframe with context]
#### How much does [topic] cost?
[Price range with factors that affect cost]
### Comparison Questions
#### What's the difference between [X] and [Y]?
[Clear distinction in 2-3 sentences]
#### Is [topic] better than [alternative]?
[Balanced answer with "it depends" context]
### Troubleshooting Questions
#### What if [common problem]?
[Solution-focused answer]
#### Why isn't [expected outcome] happening?
[Diagnostic approach with solutions]
### Advanced Questions
#### Can I [advanced use case]?
[Yes/no with explanation and how-to if applicable]
#### What are the limitations of [topic]?
[Honest assessment of boundaries]
## Still Have Questions?
[Call to action - contact, comment, related resources]
---
*Last updated: [Date] | Expert: [Name, Credentials]*
Writing Guidelines
For AI Extraction Optimization
Lead with the Answer
❌ "In this article, we'll explore what SEO means..."
✅ "SEO (Search Engine Optimization) is the practice of improving website visibility in search results."
Use Complete Sentences
❌ "Benefits: faster, cheaper, better"
✅ "The main benefits include faster processing times, lower costs, and improved quality."
Be Specific with Numbers
❌ "This can significantly improve results"
✅ "This typically improves results by 25-40% within 3 months"
Attribute Claims
❌ "Studies show that..."
✅ "According to a 2024 HubSpot study of 5,000 websites..."
Format for Scanning
- Use bullet points for 3+ items
- Bold key terms on first use
- Keep paragraphs under 4 sentences
- Use tables for comparisons
- Include clear section headers
Word Count Guidelines
| Content Type | Optimal Length | Snippet Target |
|---|---|---|
| Definition | 1,500-2,500 words | 40-60 words |
| How-To | 1,500-3,000 words | 45-50 words |
| Comparison | 2,000-3,500 words | 40-50 words |
| FAQ | 1,500-2,500 words | 40-50 words per answer |
Supporting file: references/query-research.md
Query Research Methods for GEO/AEO
Table of Contents
- Conversational Query Discovery (#conversational-query-discovery)
- Question Clustering (#question-clustering)
- Intent Classification (#intent-classification)
- AI Platform Testing (#ai-platform-testing)
- Competitive Intelligence (#competitive-intelligence)
Conversational Query Discovery
Tools & Methods
| Tool | Best For | Output |
|---|---|---|
| AnswerThePublic | Question discovery | Visual question maps |
| AlsoAsked | PAA question chains | Hierarchical questions |
| Semrush Keyword Magic | Volume + questions | Data-rich queries |
| Ahrefs Questions | Question filter | Search volume data |
| Google Autocomplete | Real-time trends | Suggested queries |
| Reddit/Quora | Authentic questions | User language patterns |
Process: Building Question Maps
1. Start with seed topic
└── Example: "email marketing"
2. Generate question variations
├── What questions: "what is email marketing"
├── How questions: "how to do email marketing"
├── Why questions: "why email marketing works"
├── When questions: "when to send marketing emails"
├── Where questions: "where to learn email marketing"
├── Who questions: "who needs email marketing"
└── Which questions: "which email marketing tool"
3. Expand with modifiers
├── For beginners
├── In 2025
├── vs [alternative]
├── examples
├── best practices
└── mistakes to avoid
4. Mine "People Also Ask"
└── Click through 3+ levels to discover chains
Conversational Query Patterns
AI chatbots receive queries like:
Traditional Search:
"best email marketing software"
Conversational Equivalent:
"What's the best email marketing software for a small
e-commerce business with less than 10,000 subscribers
that integrates with Shopify?"
Optimize for:
- Long-tail, specific queries
- Context-rich questions
- Multi-part queries
- Scenario-based questions
Question Clustering
Cluster Framework
Topic: [Main Topic]
│
├── Cluster 1: Definitions & Basics
│ ├── What is [topic]?
│ ├── What does [topic] mean?
│ ├── [Topic] definition
│ └── [Topic] explained simply
│
├── Cluster 2: How-To & Process
│ ├── How to [action] with [topic]
│ ├── How does [topic] work?
│ ├── Steps to [achieve outcome]
│ └── [Topic] tutorial
│
├── Cluster 3: Comparisons
│ ├── [Topic] vs [Alternative]
│ ├── Difference between [A] and [B]
│ ├── [Topic] alternatives
│ └── Best [topic] options
│
├── Cluster 4: Problems & Solutions
│ ├── [Topic] not working
│ ├── Common [topic] mistakes
│ ├── How to fix [problem]
│ └── [Topic] troubleshooting
│
├── Cluster 5: Cost & Value
│ ├── How much does [topic] cost?
│ ├── Is [topic] worth it?
│ ├── [Topic] pricing
│ └── Free vs paid [topic]
│
└── Cluster 6: Advanced & Specific
├── [Topic] for [specific audience]
├── Advanced [topic] techniques
├── [Topic] best practices
└── [Topic] examples
Prioritization Matrix
| Cluster | Search Volume | AI Citation Potential | Priority |
|---|---|---|---|
| Definitions | High | Very High | 1 |
| How-To | High | High | 2 |
| Comparisons | Medium | High | 3 |
| Problems | Medium | Medium | 4 |
| Cost/Value | Medium | Medium | 5 |
| Advanced | Low | Low | 6 |
Intent Classification
The 4 Intent Types
1. INFORMATIONAL (Know)
Signal words: what, why, how, guide, tutorial, learn
AI behavior: Synthesizes answers from multiple sources
Optimization: Comprehensive, authoritative content
2. NAVIGATIONAL (Go)
Signal words: [brand name], login, official, website
AI behavior: Directs to specific destinations
Optimization: Brand presence, clear site structure
3. COMMERCIAL (Compare)
Signal words: best, top, vs, review, comparison
AI behavior: Provides options with analysis
Optimization: Comparison content, honest reviews
4. TRANSACTIONAL (Do)
Signal words: buy, price, discount, download, sign up
AI behavior: Often defers to websites
Optimization: Clear CTAs, product pages
Intent-to-Content Mapping
| Intent | Content Type | Schema | Snippet Format |
|---|---|---|---|
| Informational | Guide, Explainer | Article, FAQPage | Paragraph, List |
| Navigational | Landing page | Organization, WebSite | Sitelinks |
| Commercial | Comparison, Review | Product, Review | Table |
| Transactional | Product page | Product, Offer | Rich product |
AI Platform Testing
Manual Testing Protocol
For each target query, test across:
□ ChatGPT (free and Plus)
□ Perplexity
□ Google (AI Overview)
□ Claude
□ Bing Copilot
□ Google Gemini
Document:
1. Is your brand/site mentioned?
2. Is your content cited?
3. What sources are cited?
4. How is the answer structured?
5. What's missing from the answer?
Testing Queries Template
Base query: "[Your topic]"
Test variations:
1. "What is [topic]?"
2. "How do I [action related to topic]?"
3. "Best [topic] for [use case]"
4. "[Your brand] vs [competitor]"
5. "[Topic] in [current year]"
6. "Explain [topic] simply"
7. "[Topic] examples"
8. "Is [topic] worth it?"
Competitor Citation Analysis
# Pseudocode for tracking citations
queries = load_target_queries()
for query in queries:
for platform in [ChatGPT, Perplexity, Google]:
response = query_platform(platform, query)
citations = extract_citations(response)
record({
'query': query,
'platform': platform,
'our_site_cited': our_domain in citations,
'competitors_cited': [c for c in citations if c in competitor_domains],
'citation_position': get_position(our_domain, citations)
})
Competitive Intelligence
Citation Gap Analysis
Step 1: Identify who's being cited
Query your target topics across AI platforms
Record all cited domains
Tally citation frequency by domain
Step 2: Analyze cited content
For top-cited competitors:
├── Content structure (headers, formatting)
├── Content depth (word count, comprehensiveness)
├── Authority signals (author, sources, data)
├── Freshness (last updated date)
└── Technical factors (speed, schema, crawlability)
Step 3: Gap identification
Questions to answer:
├── What topics do they cover that we don't?
├── What formats are they using?
├── What unique data/research do they have?
├── How recent is their content?
└── What E-E-A-T signals are present?
Competitive Content Audit Template
| Factor | Competitor A | Competitor B | Your Site | Gap |
|---|---|---|---|---|
| Topic coverage | ||||
| Content depth | ||||
| Freshness | ||||
| Author authority | ||||
| Source citations | ||||
| Schema markup | ||||
| FAQ sections | ||||
| Original research |
Action Planning
Priority actions based on gaps:
1. QUICK WINS: Easy to implement, high impact
- Add FAQ sections
- Update publish dates
- Add author bios
2. MEDIUM EFFORT: Moderate effort, solid impact
- Expand thin content
- Add original data/statistics
- Implement schema markup
3. LONG-TERM: High effort, transformative impact
- Original research
- Thought leadership content
- Building topical authority
Supporting file: references/schema-for-ai.md
Schema Markup for AI Optimization
Table of Contents
- Schema Priority for AI (#schema-priority-for-ai)
- High-Impact Schema Types (#high-impact-schema-types)
- Implementation Patterns (#implementation-patterns)
- AI-Specific Considerations (#ai-specific-considerations)
Schema Priority for AI
Why Schema Matters for AI
AI systems use structured data to:
- Understand content type and context
- Extract specific facts and attributes
- Validate information accuracy
- Determine content authority
Priority Schema Types for GEO/AEO
| Priority | Schema Type | AI Use Case |
|---|---|---|
| 1 | FAQPage | Direct answer extraction |
| 2 | HowTo | Step-by-step instruction |
| 3 | Article/BlogPosting | Content attribution |
| 4 | Product + Review | E-commerce answers |
| 5 | Organization | Brand knowledge |
| 6 | Person | Author authority |
| 7 | LocalBusiness | Location queries |
| 8 | BreadcrumbList | Site structure |
High-Impact Schema Types
FAQPage (Highest AI Impact)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is [topic]?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Complete answer that can stand alone. Include key facts, figures, and context. This entire text may be extracted by AI systems."
}
},
{
"@type": "Question",
"name": "How does [topic] work?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Step-by-step or explanatory answer. Be comprehensive but concise."
}
}
]
}
Best practices for AI:
- Questions should match real user queries
- Answers must be complete and standalone
- Include specific facts, not just fluff
- Keep answers 50-300 words each
HowTo (High AI Impact)
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to [Action]",
"description": "Brief overview of what this guide teaches",
"totalTime": "PT30M",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Step name (action verb)",
"text": "Detailed instructions for this step. Be specific and actionable.",
"image": "https://example.com/step1.jpg"
},
{
"@type": "HowToStep",
"position": 2,
"name": "Next step name",
"text": "Detailed instructions for this step."
}
]
}
Best practices for AI:
- Step names should be scannable actions
- Step text should be complete instructions
- Include time estimates when possible
- Each step should be independently understandable
Article + Author (Authority Signal)
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Article Title (max 110 chars)",
"description": "Meta description - comprehensive summary",
"image": "https://example.com/image.jpg",
"datePublished": "2025-01-08T08:00:00Z",
"dateModified": "2025-01-08T10:00:00Z",
"author": {
"@type": "Person",
"name": "Author Name",
"url": "https://example.com/author/name",
"jobTitle": "Subject Matter Expert",
"description": "Brief bio establishing expertise",
"sameAs": [
"https://linkedin.com/in/authorname",
"https://twitter.com/authorname"
]
},
"publisher": {
"@type": "Organization",
"name": "Publisher Name",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/article-url"
}
}
AI authority signals:
- Author with credentials and bio
- Publisher organization details
- dateModified shows freshness
- sameAs links validate identity
Speakable (Voice/AI Extraction)
{
"@context": "https://schema.org",
"@type": "WebPage",
"name": "Page Title",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".tldr", ".key-takeaway", "#summary"]
}
}
Marks content sections optimized for:
- Voice assistant reading
- AI summary extraction
- Audio content generation
Implementation Patterns
Combined Schema for Content Pages
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"@id": "https://example.com/page#article",
"headline": "Complete Guide to [Topic]",
"author": {"@id": "https://example.com/#author"},
"publisher": {"@id": "https://example.com/#org"},
"datePublished": "2025-01-08",
"dateModified": "2025-01-08"
},
{
"@type": "FAQPage",
"@id": "https://example.com/page#faq",
"mainEntity": [...]
},
{
"@type": "BreadcrumbList",
"@id": "https://example.com/page#breadcrumb",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/"},
{"@type": "ListItem", "position": 2, "name": "Category", "item": "https://example.com/category/"},
{"@type": "ListItem", "position": 3, "name": "Page Title"}
]
},
{
"@type": "Organization",
"@id": "https://example.com/#org",
"name": "Company Name",
"url": "https://example.com",
"logo": "https://example.com/logo.png"
},
{
"@type": "Person",
"@id": "https://example.com/#author",
"name": "Author Name",
"jobTitle": "Expert Title"
}
]
}
E-commerce Product Page
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Product",
"name": "Product Name",
"description": "Detailed product description",
"image": ["image1.jpg", "image2.jpg"],
"brand": {"@type": "Brand", "name": "Brand"},
"offers": {
"@type": "Offer",
"price": "99.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "127"
}
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is included with [Product]?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Complete list of what's included..."
}
}
]
}
]
}
AI-Specific Considerations
Schema That AI Systems Prioritize
-
Factual extraction
- FAQPage → Direct Q&A extraction
- HowTo → Step extraction
- Product → Spec extraction
-
Authority signals
- Person (author) → Expertise validation
- Organization → Publisher trust
- sameAs → Identity verification
-
Content structure
- Article → Content type identification
- BreadcrumbList → Topic hierarchy
- WebPage → Page purpose
Schema That Has Less AI Impact
- Event (unless for event queries)
- Recipe (unless for recipe queries)
- Video (unless for video queries)
- Music (domain-specific)
Validation for AI Optimization
Checklist before publishing:
□ Rich Results Test passes
□ Schema matches visible content exactly
□ No exaggerated claims
□ dateModified is accurate
□ Author has real credentials
□ FAQ questions match real search queries
□ All URLs are absolute and HTTPS
□ Images are accessible and properly sized
Common Mistakes to Avoid
| Mistake | Why It Hurts AI Visibility |
|---|---|
| FAQ questions no one searches | AI won't surface irrelevant Q&A |
| Exaggerated ratings | Damages trust signals |
| Missing author info | Reduces E-E-A-T signals |
| Outdated dateModified | AI prefers fresh content |
| Schema not matching content | Validation failures |
| Overly complex nesting | Harder to parse |
Common questions
How do I install GEO AEO optimization in Cursor, Claude Code, or Codex?
Run npx skills add schwepps/skills --skill geo-aeo-optimization in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only GEO AEO optimization, not every skill in the repository.
Where does GEO AEO optimization come from and what license is it under?
GEO AEO optimization comes from the schwepps/skills repository on GitHub. That repository has 14 GitHub stars. The skill is published under the MIT license.
Prefer plain text? Read the GEO AEO optimization guide as markdown.
Related skills
More from schwepps