Answer Engine Optimization (AEO)
Get your content cited by ChatGPT, Perplexity, Claude, Gemini, and Mistral as the authoritative source.
AEO is the practice of optimizing content for citation in LLM-generated responses — distinct from SEO, which optimizes for search rankings. This skill audits, optimizes, and tracks AEO performance.
Distinct From SEO
|
SEO |
AEO |
| Optimizes for |
Click-through rankings |
Being cited as authoritative source |
| Audience |
Humans browsing search results |
LLMs answering questions |
| Success metric |
Position 1-10, organic traffic |
Citation count across LLMs |
| Key signals |
Backlinks, keywords, page speed |
E-E-A-T, structured data, factual density |
| Update cadence |
Weeks-to-months |
Days-to-weeks (LLM training cycles) |
Both can coexist — the same content can rank #1 on Google AND get cited by Perplexity. But the techniques differ: SEO rewards keyword density + backlinks; AEO rewards primary-source signals + structured facts.
When To Use
- Planning a new content piece for an AI-first audience
- Auditing existing content for E-E-A-T gaps before AI Overview rollout
- Tracking which pages get cited by which LLM (citation ledger)
- Researching what queries LLMs cite sources for (vs. what they answer from training)
- Benchmarking against competitors' citation rates
- Building a long-term AEO strategy aligned with traditional SEO
When NOT To Use
- Pure click-through SEO without LLM-citation intent — use
marketing-skill/skills/seo-audit instead
- Brand-voice content with no factual claims — citations require facts to cite
- Content for a topic where LLMs already have strong training signal (e.g., elementary math) — citation upside is minimal
- Time-sensitive content (breaking news) — LLM training lag means citations come months later
Core Capabilities
1. Content audit + E-E-A-T scoring
The auditor (aeo_audit.py) scores content across 4 dimensions:
- Experience: First-person evidence, dated examples, case studies, "We ran X in 2026" claims
- Expertise: Author bio, credentials, citations to peer-reviewed sources, technical depth
- Authoritativeness: External backlinks from authority domains, schema.org markup, structured data
- Trustworthiness: HTTPS, contact info, transparent corrections, factual density (number of verifiable claims per 1000 words)
Composite score 0-100 with per-dimension breakdown. Output: markdown report with specific fix recommendations.
2. Content optimization
The optimizer (aeo_optimizer.py) generates AEO-improved variants:
- Structure rewrite — H2/H3 hierarchy optimized for LLM parsing
- Citation density boost — adds
[1]-style references with sources
- Schema injection — generates JSON-LD for FAQ, HowTo, Article schemas
- Fact-first lede — moves verifiable claims into the first 200 words
Three modes: conservative (touch <10% of words), balanced (touch <30%), aggressive (rewrite for maximum AEO).
3. Citation tracking
The tracker (citation_tracker.py) maintains a local ledger of citations:
- Manual entry: paste a citation found in ChatGPT/Perplexity/Claude/Gemini output
- Track which URL, which LLM, which query, what date
- Compute per-page citation count, citation velocity, LLM coverage
- Export to CSV for reporting
Stores in ~/.aeo-data/citations.json (local, no telemetry).
References
references/aeo_eeat_canon.md — E-E-A-T methodology, industry thresholds, anti-patterns
references/llm_citation_patterns.md — per-LLM citation selection heuristics (Perplexity, ChatGPT, Claude, Gemini, Mistral)
references/aeo_vs_seo.md — when to invest in AEO vs SEO vs both
references/bot_access_and_monitoring.md — AI crawler robots.txt matrix (the prerequisite check: a blocked bot zeroes that platform), Google Search Console AI Overviews monitoring, manual testing protocols, citation-drop diagnostic (merged from the former ai-seo skill)
references/extractable_content_patterns.md — 7 copy-ready block templates (definition, steps, table, FAQ, attributed stat, expert quote, summary box) that answer engines reliably extract (merged from the former ai-seo skill)
Workflow
0. Pre-flight: bot access
Check robots.txt against the crawler matrix in references/bot_access_and_monitoring.md
→ a blocked GPTBot/PerplexityBot/ClaudeBot/Google-Extended is the first fix, always
1. Audit existing content
$ python3 scripts/aeo_audit.py --url https://example.com/blog/post
→ markdown report with composite score + 4-dimension breakdown
2. Apply optimization recommendations
$ python3 scripts/aeo_optimizer.py --input post.md --mode balanced --output post-aeo.md
→ optimized variant with citations + schema + structural fixes
3. Publish + monitor
$ python3 scripts/citation_tracker.py --action add --url https://example.com/blog/post \
--llm perplexity --query "what is AEO" --date 2026-05-17
→ adds entry to local citations.json ledger
4. Report
$ python3 scripts/citation_tracker.py --action report --url https://example.com/blog/post
→ per-page citation stats: count, LLMs, queries, velocity
Configuration
The skill is industry-aware via per-run --industry flag. Supported: saas, healthcare, finance, legal, ecommerce, b2b, media, education.
Industry affects:
- Authority signal requirements — healthcare/finance need stricter source citations
- Fact-checking rigor — legal/healthcare flag unverifiable claims as critical
- Citation style — academic vs. trade-journal vs. blog conventions
Example:
python3 scripts/aeo_audit.py --url <url> --industry healthcare
# → stricter E-E-A-T thresholds; flags any health claim without primary citation
Output Format
Markdown audit report (default)
# AEO Audit Report — [Page Title]
**URL:** https://example.com/blog/post
**Date:** 2026-05-17
**Industry:** saas
**Composite Score:** 72/100 (B+)
## Dimension Breakdown
| Dimension | Score | Verdict |
|---|---|---|
| Experience | 80/100 | Strong — first-person case study present |
| Expertise | 65/100 | Author bio missing credentials |
| Authoritativeness | 75/100 | 4 backlinks from authority domains |
| Trustworthiness | 68/100 | No corrections policy linked |
## Top 3 Fixes
1. Add author bio with credentials (Expertise +15)
2. Link to corrections policy from footer (Trustworthiness +12)
3. Inject FAQ schema for the 5 questions implicit in H2s (Authoritativeness +8)
## All Recommendations
[...]
## Audit Trail
[3-count of analysis steps, sources cited, time taken]
JSON for pipelines
python3 scripts/aeo_audit.py --url <url> --output json
Returns full structured data for integration with content management workflows.
Industry-Specific E-E-A-T Thresholds
| Industry |
Min Composite |
Critical Signals |
| Healthcare |
85 |
Medical reviewer byline, peer-reviewed citations, FDA disclosure |
| Finance |
85 |
Author CFA/CPA credentials, "not investment advice" disclaimer, dated examples |
| Legal |
85 |
Jurisdiction disclosed, attorney bio, "not legal advice" disclaimer |
| SaaS |
70 |
Product manager byline, case study with metrics, ROI calculator |
| E-commerce |
65 |
Product reviews aggregated, return policy, schema.org Product |
| B2B |
70 |
Industry analyst quotes, customer logos, ROI data |
| Media |
70 |
Editorial policy, fact-check link, original reporting |
| Education |
75 |
Instructor bio, learning outcomes, accreditation if applicable |
Anti-Patterns Rejected
- Keyword stuffing for AI — LLMs already extract topic from semantics; keyword density doesn't boost citation likelihood
- Pure AI-generated content with no human review — generic LLM output gets de-prioritized by RAG retrieval algorithms looking for distinctive signal
- Citation farms / link wheels — modern LLM RAG penalizes low-authority linked networks
- Schema spam — false or unverifiable schema.org claims get filtered; only mark up real, verifiable claims
- Optimizing for one LLM at expense of others — citation distributions are highly correlated across major LLMs because they share training data sources; optimize for the shared signals (E-E-A-T) not per-LLM hacks
- Ignoring SEO entirely — AEO citations often originate from sources that already rank well organically; AEO and SEO are complements, not substitutes
Dependencies
- stdlib-only for all 3 scripts — no
pip install required
- Optional:
requests + beautifulsoup4 if --url mode used (otherwise pass markdown via --input for file-based audits)
- Optional: any LLM API key for
query_research mode (currently scaffold-only — full LLM-driven query research is roadmap)
Storage
All data is local-first:
~/.aeo-data/citations.json — citation ledger
~/.aeo-data/patterns.json — success patterns library
~/.aeo-data/audits/<hash>.md — saved audit reports
No telemetry. No cloud sync. Export to CSV anytime via citation_tracker.py --action export.
Trigger Phrases
- "AEO audit", "AEO check"
- "optimize for ChatGPT / Perplexity / Claude / Gemini"
- "get cited by [LLM]"
- "LLM citation strategy"
- "answer engine optimization"
- "content for AI search"
- "E-E-A-T audit"
- "track AI citations"
- "schema for AI"
Related Skills
marketing-skill/skills/seo-audit — traditional click-through SEO
marketing-skill/skills/programmatic-seo — template-driven SEO at scale
marketing-skill/skills/content-strategy — broader content planning
marketing-skill/skills/copywriting — voice + tone
marketing-skill/skills/schema-markup — structured data implementation
Version: 2.7.3
Source: Ported from alirezarezvani/aeo-box (answer-engine-optimization/ skill, 2,464 LOC across 9 modules). This port distills the 9-module Python toolkit into 3 stdlib CLI tools per the claude-skills convention; preserves the E-E-A-T scoring methodology, citation-tracking schema, and industry-aware thresholds verbatim.
License: MIT (matches upstream + this repo).
Source: alirezarezvani/claude-skills → marketing-skill/skills/aeo/SKILL.md
1---2name: aeo3description: Answer Engine Optimization (AEO) skill — optimize content to be cited by AI language models (ChatGPT, Perplexity, Claude, Gemini, Mistral) as authoritative sources. Distinct from SEO — AEO optimizes for citation in LLM-generated responses, not search rankings. Use when planning content for AI-first search audiences, auditing existing content for E-E-A-T signals, tracking which pages get cited by which LLMs, or building a citation-friendly content strategy. Triggers — 'AEO audit', 'optimize for ChatGPT', 'get cited by Perplexity', 'LLM citation strategy', 'answer engine optimization', 'content for AI search', 'E-E-A-T audit'. Output is a markdown audit report (default) or JSON for pipeline integration. Stdlib-only Python tools.4---567# Answer Engine Optimization (AEO)89**Get your content cited by ChatGPT, Perplexity, Claude, Gemini, and Mistral as the authoritative source.**1011AEO is the practice of optimizing content for **citation** in LLM-generated responses — distinct from SEO, which optimizes for search rankings. This skill audits, optimizes, and tracks AEO performance.1213## Distinct From SEO1415| | SEO | AEO |16|---|---|---|17| **Optimizes for** | Click-through rankings | Being cited as authoritative source |18| **Audience** | Humans browsing search results | LLMs answering questions |19| **Success metric** | Position 1-10, organic traffic | Citation count across LLMs |20| **Key signals** | Backlinks, keywords, page speed | E-E-A-T, structured data, factual density |21| **Update cadence** | Weeks-to-months | Days-to-weeks (LLM training cycles) |2223Both can coexist — the same content can rank #1 on Google AND get cited by Perplexity. But the techniques differ: SEO rewards keyword density + backlinks; AEO rewards primary-source signals + structured facts.2425## When To Use2627- Planning a new content piece for an AI-first audience28- Auditing existing content for E-E-A-T gaps before AI Overview rollout29- Tracking which pages get cited by which LLM (citation ledger)30- Researching what queries LLMs cite sources for (vs. what they answer from training)31- Benchmarking against competitors' citation rates32- Building a long-term AEO strategy aligned with traditional SEO3334## When NOT To Use3536- Pure click-through SEO without LLM-citation intent — use `marketing-skill/skills/seo-audit` instead37- Brand-voice content with no factual claims — citations require facts to cite38- Content for a topic where LLMs already have strong training signal (e.g., elementary math) — citation upside is minimal39- Time-sensitive content (breaking news) — LLM training lag means citations come months later4041## Core Capabilities4243### 1. Content audit + E-E-A-T scoring4445The auditor (`aeo_audit.py`) scores content across 4 dimensions:4647- **Experience**: First-person evidence, dated examples, case studies, "We ran X in 2026" claims48- **Expertise**: Author bio, credentials, citations to peer-reviewed sources, technical depth49- **Authoritativeness**: External backlinks from authority domains, schema.org markup, structured data50- **Trustworthiness**: HTTPS, contact info, transparent corrections, factual density (number of verifiable claims per 1000 words)5152Composite score 0-100 with per-dimension breakdown. Output: markdown report with specific fix recommendations.5354### 2. Content optimization5556The optimizer (`aeo_optimizer.py`) generates AEO-improved variants:5758- **Structure rewrite** — H2/H3 hierarchy optimized for LLM parsing59- **Citation density boost** — adds `[1]`-style references with sources60- **Schema injection** — generates JSON-LD for FAQ, HowTo, Article schemas61- **Fact-first lede** — moves verifiable claims into the first 200 words6263Three modes: `conservative` (touch <10% of words), `balanced` (touch <30%), `aggressive` (rewrite for maximum AEO).6465### 3. Citation tracking6667The tracker (`citation_tracker.py`) maintains a local ledger of citations:6869- Manual entry: paste a citation found in ChatGPT/Perplexity/Claude/Gemini output70- Track which URL, which LLM, which query, what date71- Compute per-page citation count, citation velocity, LLM coverage72- Export to CSV for reporting7374Stores in `~/.aeo-data/citations.json` (local, no telemetry).7576## References7778- `references/aeo_eeat_canon.md` — E-E-A-T methodology, industry thresholds, anti-patterns79- `references/llm_citation_patterns.md` — per-LLM citation selection heuristics (Perplexity, ChatGPT, Claude, Gemini, Mistral)80- `references/aeo_vs_seo.md` — when to invest in AEO vs SEO vs both81- `references/bot_access_and_monitoring.md` — AI crawler robots.txt matrix (the prerequisite check: a blocked bot zeroes that platform), Google Search Console AI Overviews monitoring, manual testing protocols, citation-drop diagnostic (merged from the former `ai-seo` skill)82- `references/extractable_content_patterns.md` — 7 copy-ready block templates (definition, steps, table, FAQ, attributed stat, expert quote, summary box) that answer engines reliably extract (merged from the former `ai-seo` skill)8384## Workflow8586```870. Pre-flight: bot access88 Check robots.txt against the crawler matrix in references/bot_access_and_monitoring.md89 → a blocked GPTBot/PerplexityBot/ClaudeBot/Google-Extended is the first fix, always90911. Audit existing content92 $ python3 scripts/aeo_audit.py --url https://example.com/blog/post93 → markdown report with composite score + 4-dimension breakdown94952. Apply optimization recommendations96 $ python3 scripts/aeo_optimizer.py --input post.md --mode balanced --output post-aeo.md97 → optimized variant with citations + schema + structural fixes98993. Publish + monitor100 $ python3 scripts/citation_tracker.py --action add --url https://example.com/blog/post \101 --llm perplexity --query "what is AEO" --date 2026-05-17102 → adds entry to local citations.json ledger1031044. Report105 $ python3 scripts/citation_tracker.py --action report --url https://example.com/blog/post106 → per-page citation stats: count, LLMs, queries, velocity107```108109## Configuration110111The skill is industry-aware via per-run `--industry` flag. Supported: `saas`, `healthcare`, `finance`, `legal`, `ecommerce`, `b2b`, `media`, `education`.112113Industry affects:114- **Authority signal requirements** — healthcare/finance need stricter source citations115- **Fact-checking rigor** — legal/healthcare flag unverifiable claims as critical116- **Citation style** — academic vs. trade-journal vs. blog conventions117118Example:119```bash120python3 scripts/aeo_audit.py --url <url> --industry healthcare121# → stricter E-E-A-T thresholds; flags any health claim without primary citation122```123124## Output Format125126### Markdown audit report (default)127128```markdown129# AEO Audit Report — [Page Title]130131**URL:** https://example.com/blog/post132**Date:** 2026-05-17133**Industry:** saas134**Composite Score:** 72/100 (B+)135136## Dimension Breakdown137138| Dimension | Score | Verdict |139|---|---|---|140| Experience | 80/100 | Strong — first-person case study present |141| Expertise | 65/100 | Author bio missing credentials |142| Authoritativeness | 75/100 | 4 backlinks from authority domains |143| Trustworthiness | 68/100 | No corrections policy linked |144145## Top 3 Fixes1461471. Add author bio with credentials (Expertise +15)1482. Link to corrections policy from footer (Trustworthiness +12)1493. Inject FAQ schema for the 5 questions implicit in H2s (Authoritativeness +8)150151## All Recommendations152[...]153154## Audit Trail155[3-count of analysis steps, sources cited, time taken]156```157158### JSON for pipelines159160```bash161python3 scripts/aeo_audit.py --url <url> --output json162```163164Returns full structured data for integration with content management workflows.165166## Industry-Specific E-E-A-T Thresholds167168| Industry | Min Composite | Critical Signals |169|---|---|---|170| Healthcare | 85 | Medical reviewer byline, peer-reviewed citations, FDA disclosure |171| Finance | 85 | Author CFA/CPA credentials, "not investment advice" disclaimer, dated examples |172| Legal | 85 | Jurisdiction disclosed, attorney bio, "not legal advice" disclaimer |173| SaaS | 70 | Product manager byline, case study with metrics, ROI calculator |174| E-commerce | 65 | Product reviews aggregated, return policy, schema.org Product |175| B2B | 70 | Industry analyst quotes, customer logos, ROI data |176| Media | 70 | Editorial policy, fact-check link, original reporting |177| Education | 75 | Instructor bio, learning outcomes, accreditation if applicable |178179## Anti-Patterns Rejected180181- **Keyword stuffing for AI** — LLMs already extract topic from semantics; keyword density doesn't boost citation likelihood182- **Pure AI-generated content with no human review** — generic LLM output gets de-prioritized by RAG retrieval algorithms looking for distinctive signal183- **Citation farms / link wheels** — modern LLM RAG penalizes low-authority linked networks184- **Schema spam** — false or unverifiable schema.org claims get filtered; only mark up real, verifiable claims185- **Optimizing for one LLM at expense of others** — citation distributions are highly correlated across major LLMs because they share training data sources; optimize for the shared signals (E-E-A-T) not per-LLM hacks186- **Ignoring SEO entirely** — AEO citations often originate from sources that already rank well organically; AEO and SEO are complements, not substitutes187188## Dependencies189190- **stdlib-only** for all 3 scripts — no `pip install` required191- **Optional**: `requests` + `beautifulsoup4` if `--url` mode used (otherwise pass markdown via `--input` for file-based audits)192- **Optional**: any LLM API key for `query_research` mode (currently scaffold-only — full LLM-driven query research is roadmap)193194## Storage195196All data is local-first:197- `~/.aeo-data/citations.json` — citation ledger198- `~/.aeo-data/patterns.json` — success patterns library199- `~/.aeo-data/audits/<hash>.md` — saved audit reports200201No telemetry. No cloud sync. Export to CSV anytime via `citation_tracker.py --action export`.202203## Trigger Phrases204205- "AEO audit", "AEO check"206- "optimize for ChatGPT / Perplexity / Claude / Gemini"207- "get cited by [LLM]"208- "LLM citation strategy"209- "answer engine optimization"210- "content for AI search"211- "E-E-A-T audit"212- "track AI citations"213- "schema for AI"214215## Related Skills216217- `marketing-skill/skills/seo-audit` — traditional click-through SEO218- `marketing-skill/skills/programmatic-seo` — template-driven SEO at scale219- `marketing-skill/skills/content-strategy` — broader content planning220- `marketing-skill/skills/copywriting` — voice + tone221- `marketing-skill/skills/schema-markup` — structured data implementation222223---224225**Version:** 2.7.3226**Source:** Ported from [`alirezarezvani/aeo-box`](https://github.com/alirezarezvani/aeo-box) (`answer-engine-optimization/` skill, 2,464 LOC across 9 modules). This port distills the 9-module Python toolkit into 3 stdlib CLI tools per the claude-skills convention; preserves the E-E-A-T scoring methodology, citation-tracking schema, and industry-aware thresholds verbatim.227**License:** MIT (matches upstream + this repo).228229---230231**Source:** [`alirezarezvani/claude-skills`](https://github.com/alirezarezvani/claude-skills) → `marketing-skill/skills/aeo/SKILL.md`