Appearance
AI Search Optimization (GEO)
Overview
This SOP covers the process for optimizing content visibility in AI search platforms (ChatGPT, AI Mode, Perplexity) based on Mark Williams-Cook's "From RAG to Riches" presentation.
Key Insight: GEO is mainly SEO - what we do is similar, but HOW we do it has evolved.
Prerequisites
- [ ] Traditional keyword list
- [ ] ChatGPT API access (for prompt enrichment)
- [ ] Also Asked account (API preferred)
- [ ] Access to Gemini Grounding API or Dan Petravic's models
- [ ] Google Search Console access
The GEO Process
Procedure
Step 1: Start with Traditional Keywords
Begin with your existing keyword list. These become the foundation for AI search optimization.
Important
Traditional keyword lists alone are useless for AI search - people have full conversations, not single queries.
Step 2: Apply Persona Layer
Use ChatGPT API to enrich keywords with persona data:
Prompt template:
"If I was [PERSONA DESCRIPTION] and I was trying to find [KEYWORD], what might I ask you?"Example personas:
- Middle-aged vegan starting running
- Small business owner looking for CRM
- First-time homebuyer in [city]
This reflects how people frame conversations, drawing from training data (forums, subreddits, etc.)
Step 3: Expand with Also Asked Data
Use Also Asked to find "closest intent proximity" - the follow-up questions in a conversation.
Why Also Asked?
- API available for scale
- Captures real user question patterns
- Shows where conversations naturally go
Step 4: Filter for Grounded Queries
Not all queries trigger web searches. LLMs score each query for "grounding probability."
Grounding thresholds (ChatGPT free): ~0.65
How to check:
- Browser DevTools → Network tab
- Find
search_probin conversation response - Score above threshold = grounded
Or use tools:
- Dan Petravic's OpenAI Model
- Gemini Grounding API
In-Model vs Grounded
- In-model answers: Can only influence through training data (slow)
- Grounded answers: Can influence through web ranking (fast, 3-4 days)
Step 5: Extract Background Web Searches
Find what searches LLMs actually perform:
ChatGPT method:
- DevTools → Network tab
- Look for
search_model_queries - Lists actual web searches being performed
Gemini method:
- Use Grounding API directly
- Pass query, get list of triggered searches
Example: Query: "Who won Euro 2024?" Background searches: euro 2024 winner, euro 2024 final score, euro 2024 champion team
Step 6: Traditional SEO for Those Queries
Now you have a list of actual search queries to rank for. Apply traditional SEO:
- Content creation/optimization
- On-page SEO
- Link building
Step 7: Multi-Site Visibility
Key Shift
You don't need to rank your site - you need to be MENTIONED across top 10-50 sites.
Tactics:
- Get reviews on review sites
- Appear in roundups and listicles
- Digital PR for brand mentions
- Forum participation (authentically)
Verification Checklist
- [ ] Personas applied to keyword list
- [ ] Also Asked data collected
- [ ] Grounding probability checked for all queries
- [ ] Background searches extracted
- [ ] Content optimized for grounded queries
- [ ] Brand mentioned across multiple authoritative sites
Tools Reference
| Tool | Purpose | Link |
|---|---|---|
| queryfan.com | Full GEO workflow automation | Coming soon |
| Also Asked | PAA data collection | alsoasked.com |
| Dan Petravic's models | Grounding prediction | Hugging Face |
| Gemini API | Grounding API access | Google AI Studio |
Key Metrics
- Citation frequency in AI answers
- Grounding rate of target queries
- Brand mentions across top-ranking sites
- AI referral traffic (via UTM or logs)
Troubleshooting
Query never gets grounded
The query may be "solved information" - try adding recency signals or focusing on topics that deserve freshness.
Can't find search_prob in DevTools
Make sure you're looking at the correct API response. It may be nested in the conversation object.
Content not appearing in AI answers
Check if you're in the top 10-50 for the background search queries. Consider building mentions on authoritative sites that are appearing.