GEO Optimization
by @capt-marbles
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discoverability and citation.
clawhub install geo-optimizationπ About This Skill
name: geo-optimization description: "Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discoverability and citation." metadata: version: 1.1.0 tags: ["geo", "seo", "llm", "ai-search", "perplexity", "chatgpt", "content"]
GEO: Generative Engine Optimization
Optimize content to appear in AI-powered search engines (ChatGPT, Perplexity, Claude, Google AI Overviews). GEO is about being parseable, quotable, and authoritative β not keyword stuffing.
Quick Reference
| Goal | Tactic | |------|--------| | Get cited in AI answers | Add specific statistics, quotable facts | | Appear in comparisons | Create definitive comparison tables | | Answer user questions | Comprehensive FAQ sections | | Establish entity | Clear first-paragraph definitions | | Build authority | Third-party mentions, backlinks, freshness signals |
GEO vs SEO: Key Differences
| Aspect | Traditional SEO | GEO | |--------|-----------------|-----| | Goal | Rank on SERPs | Get cited in AI responses | | Keywords | Exact match matters | Semantic understanding | | Content style | Can be promotional | Must be factual, neutral | | Structure | Headers for scanning | Headers + parseable data | | Links | Backlinks for authority | Citations + entity mentions | | Freshness | Helpful | Critical (LLMs prefer recent) | | Format | Long-form wins | Quotable chunks win |
The GEO Audit Checklist
Score each page 0-2 points per item (0=missing, 1=partial, 2=excellent):
1. Entity Clarity (Max 10 pts)
2. Quotable Facts (Max 10 pts)
3. FAQ Coverage (Max 10 pts)
4. Comparison Positioning (Max 10 pts)
5. Structural Clarity (Max 10 pts)
6. Authority Signals (Max 10 pts)
7. Freshness (Max 10 pts)
Scoring:
Content Optimization Templates
Template 1: Entity Definition Page
# [Entity Name][Entity Name] is a [category] that [primary function].
Unlike [alternative/competitor], [Entity Name] offers [key differentiator].
[Entity Name] by the Numbers
[Specific stat 1]
[Specific stat 2]
[Specific stat 3]
[Specific stat 4] How [Entity Name] Works
[2-3 paragraphs explaining core functionality]
Who Uses [Entity Name]
[Named customers with context]
Frequently Asked Questions
What is [Entity Name]?
[Direct answer in 2-3 sentences]How is [Entity Name] different from [Competitor]?
[Factual comparison]How much does [Entity Name] cost?
[Pricing info or guidance]*Last updated: [Date]*
Template 2: Comparison Page (Alternative To)
# Best [Competitor] Alternative: [Your Product] (2026)> Summary: [Your Product] is a [category] offering [key differentiators].
> [Customers] report [specific result] compared to [Competitor].
*Last updated: [Date]*
Why [Users] Look for [Competitor] Alternatives
Problem 1: [Specific Pain Point]
[Explanation with specifics]Problem 2: [Specific Pain Point]
[Explanation with specifics][Your Product] vs [Competitor]: Comparison
| Feature | [Competitor] | [Your Product] |
|---------|--------------|----------------|
| [Feature 1] | [Their approach] | [Your approach] |
| [Feature 2] | [Their approach] | [Your approach] |
| [Feature 3] | [Their approach] | [Your approach] |
Key Differences
[Differentiator 1]
[Factual explanation with numbers][Differentiator 2]
[Factual explanation with numbers]Customer Results
> "[Quote with specific result]"
> β [Name], [Title], [Company]
Frequently Asked Questions
Is [Your Product] a good alternative to [Competitor]?
[Direct answer]How does [Your Product] compare to [Competitor] on [key factor]?
[Specific comparison]Can I migrate from [Competitor] to [Your Product]?
[Migration info]Summary
[Your Product] is a [category] offering [key benefits]. [Customers]
using [Your Product] instead of [Competitor] report [specific results].
*[Your Product] has [credibility stat]. Learn more at [link].*
Template 3: FAQ Page (LLM Optimized)
# [Topic] FAQAnswers to common questions about [topic].
*Last updated: [Date]*
General Questions
What is [thing]?
[Thing] is a [category] that [function]. It is used by [who] to [accomplish what].How does [thing] work?
[Thing] works by [process]. [Additional detail].Who uses [thing]?
[Thing] is used by [user types], including [specific examples like Company A, Company B].Comparison Questions
How is [thing] different from [alternative]?
[Thing] differs from [alternative] in [specific ways]:
[Difference 1]
[Difference 2]
[Difference 3] Is [thing] better than [alternative]?
[Thing] is better suited for [use cases] because [reasons].
[Alternative] may be better for [other use cases].Pricing & Access
How much does [thing] cost?
[Pricing information or range]Is there a free trial?
[Trial information]Technical Questions
What are the requirements for [thing]?
[Requirements list]How do I get started with [thing]?
1. [Step 1]
2. [Step 2]
3. [Step 3]
Platform-Specific Optimization
Perplexity AI
How it works: 3-layer reranking system 1. Initial retrieval from web index 2. Relevance scoring 3. Citation selection based on authority + recency
Optimization tactics:
ChatGPT / SearchGPT
How it works: Bing-powered search + LLM synthesis
Optimization tactics:
Google AI Overviews
How it works: Google's index + Gemini synthesis
Optimization tactics:
Claude
How it works: Training data + retrieval (when web-enabled)
Optimization tactics:
Technical Implementation
Schema Markup for GEO
Organization Schema:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Company Name",
"description": "Clear description of what company does",
"url": "https://example.com",
"foundingDate": "2017",
"numberOfEmployees": "50-100",
"sameAs": [
"https://twitter.com/company",
"https://linkedin.com/company/company"
]
}
FAQ Schema:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is [thing]?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Direct answer here."
}
}]
}
Product Schema:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Product Name",
"description": "Product description",
"brand": {"@type": "Brand", "name": "Brand"},
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "99"
}
}
llms.txt Protocol
Create /llms.txt at your site root to help LLMs understand your site:
# Site Name> Brief description of what this site/company is.
Main Sections
Products: Description of products section
Documentation: Technical documentation
Blog: Industry insights and updates Key Facts
Founded: 2017
Customers: 500+ companies
Key metric: [specific number] Contact
Website: https://example.com
Email: hello@example.com
Monitoring GEO Performance
Manual Testing
Regularly search these prompts on each platform:
Perplexity:
ChatGPT:
Google (AI Overview):
Tracking Tools
| Tool | What It Tracks | Price | |------|----------------|-------| | Otterly.AI | Multi-platform AI visibility | Free tier | | Ahrefs Brand Radar | AI search mentions | $129+/mo | | Profound | Enterprise benchmarking | Enterprise | | Manual tracking | DIY spreadsheet | Free |
Key Metrics
GEO Content Principles
DO:
DON'T:
Quick Start Checklist
For any page you want to optimize for GEO:
1. [ ] Add clear entity definition in first paragraph 2. [ ] Include 5+ specific, quotable statistics 3. [ ] Add FAQ section with 5+ questions 4. [ ] Create comparison table (if relevant) 5. [ ] Add "last updated" date 6. [ ] Implement FAQ schema markup 7. [ ] Ensure H1βH2βH3 hierarchy 8. [ ] Test on Perplexity: does your content appear?
Automated GEO Monitoring
Track your citation rate over time with the included monitoring scripts!
Quick Start
Test current visibility:
python3 scripts/geo-monitor.py --test
Single query test:
python3 scripts/geo-monitor.py --query "best game server orchestration platform"
Generate daily report:
python3 scripts/geo-daily-report.py
Setup Automated Monitoring
1. Create your test queries file (scripts/geo-test-queries.json):
{
"queries": [
{
"query": "your target query here",
"category": "brand|product|comparison|problem|competitor"
}
]
}
2. Run daily monitoring:
# Add to cron for daily 9am checks
0 9 * * * cd /path/to/skill && bash scripts/geo-daily-monitor.sh
Understanding the Reports
Citation Rate: Percentage of queries where you appear in AI responses
Categories tracked:
Monitoring Best Practices
1. Start with 15-20 strategic queries across all categories 2. Test daily during optimization period (first 2 weeks) 3. Weekly checks once you hit target citation rate 4. Track changes after content updates (expect 3-7 day lag) 5. Focus on gaps - queries with 0% citation are your opportunities
What to Track
Current state:
Over time:
Files Included
scripts/geo-monitor.py - Main testing script (uses Perplexity API)scripts/geo-daily-report.py - Formatted report generatorscripts/geo-daily-monitor.sh - Cron-friendly wrapperscripts/geo-test-queries.json - Example query fileRequirements: Perplexity API key (configure via web_search in Clawdbot)
Resources
π‘ Examples
Test current visibility:
python3 scripts/geo-monitor.py --test
Single query test:
python3 scripts/geo-monitor.py --query "best game server orchestration platform"
Generate daily report:
python3 scripts/geo-daily-report.py
Setup Automated Monitoring
1. Create your test queries file (scripts/geo-test-queries.json):
{
"queries": [
{
"query": "your target query here",
"category": "brand|product|comparison|problem|competitor"
}
]
}
2. Run daily monitoring:
# Add to cron for daily 9am checks
0 9 * * * cd /path/to/skill && bash scripts/geo-daily-monitor.sh
Understanding the Reports
Citation Rate: Percentage of queries where you appear in AI responses
Categories tracked:
Monitoring Best Practices
1. Start with 15-20 strategic queries across all categories 2. Test daily during optimization period (first 2 weeks) 3. Weekly checks once you hit target citation rate 4. Track changes after content updates (expect 3-7 day lag) 5. Focus on gaps - queries with 0% citation are your opportunities
What to Track
Current state:
Over time:
Files Included
scripts/geo-monitor.py - Main testing script (uses Perplexity API)scripts/geo-daily-report.py - Formatted report generatorscripts/geo-daily-monitor.sh - Cron-friendly wrapperscripts/geo-test-queries.json - Example query fileRequirements: Perplexity API key (configure via web_search in Clawdbot)