10-Step Blog Optimization
Checklist for AI Search
The minimum viable configuration for a blog post that gets cited by Google AI Overviews, Perplexity, ChatGPT Search, Claude, and Gemini.
-
01Lead with a direct answer (150–300 words)The first paragraph after your H1 answers the primary question completely. No preamble, no "in this article we'll cover." AI models extract at the paragraph level — give them something extractable from line one.Writing
-
02Use entity-rich language throughoutName every tool, company, person, and concept on first mention in each section. Write "Perplexity AI" not "the platform," "GPTBot" not "OpenAI's crawler." Don't abbreviate until you've used the full entity name at least once in that section.Writing
-
03Implement FAQPage + HowTo + Article schemaAdd the JSON-LD block (see Schema tab) to your post's <head>. Validate at search.google.com/test/rich-results before publishing. Gemini in particular responds strongly to complete structured data.Technical
-
04Format every statistic with full attributionUse the template: [Value] [context], according to [named source], [year]. No vague attributions ("experts say"), no rounded numbers ("about half"), no missing year. See the Stat Template tab for a copy-paste example.Writing
-
05Allow AI crawlers in robots.txtConfirm GPTBot, PerplexityBot, ClaudeBot, OAI-SearchBot, and Google-Extended are not blocked. Open yourdomain.com/robots.txt and search for Disallow rules targeting these bots. See the Crawlers tab for the exact robots.txt syntax.Technical
-
06Add 3–5 internal links with entity-rich anchor textLink to related posts using anchor text that names the concept — "long-tail keyword strategy for AI search," not "read more" or "click here." Entity-rich anchors help AI models map the relationship between your content pieces.Structure
-
07Phrase H2s as natural-language questionsMatch the exact way a user would type the question into ChatGPT or Perplexity. "How do I optimize my blog for Google AI Overviews?" outperforms "AI Search Optimization Techniques" because it matches the natural language query the AI received.Writing
-
08Set your next revision date before you publishHigh-value pages get updated every 90 days. Add the revision date to your publishing calendar now — not when you happen to remember. Content recency is a significant signal for ChatGPT Search and Perplexity.Process
-
09Build topic cluster architectureThis post should link to at least one pillar page and two supporting articles. Isolated content gets cited less than content embedded in a clear topical structure — AI models use your internal link graph to assess authority on a topic.Structure
-
10Track citation frequency weeklyQuery your topic in Perplexity, ChatGPT, Claude, and Gemini. Document which posts appear and which don't. This is your actual performance data — not rankings, not impressions. See the GA4 Setup tab for the AI referrer tracking segment.Measurement
| Optimization Signal | Perplexity | ChatGPT Search | Claude | Gemini |
|---|---|---|---|---|
| Query-phrased headings | High | Very High | High | Very High |
| Sourced statistics format | Very High | High | High | Medium |
| External link placement | High (contextual) | Low | Medium | Medium |
| Structured data completeness | Medium | Low | Low | Very High |
| Content recency signals | High | Very High | Medium | High |
| Entity relationship clarity | Very High | High | Very High | High |
| Best content type | Technical / research | Step-by-step guides | Entity-heavy content | Multi-modal + structured |
Perplexity AI — Rewards contextual external links. Citing your sources in the body text (not just a references section) consistently increases citation frequency. Strongest for technical and research-heavy content.
ChatGPT Search — Favors step-by-step content with numbered lists and a visible dateModified tag in schema. Posts updated after the OAI-SearchBot's last crawl get re-indexed as fresher.
Claude — Prioritizes entity clarity above most other signals. Named tools, companies, and concepts used consistently throughout the text outperform vague descriptions of the same things.
Gemini — The most schema-sensitive of the four. Complete structured data — Article + FAQPage + HowTo in one block — noticeably improves extraction frequency compared to partial or missing schema.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"headline": "[YOUR POST TITLE]",
"author": {
"@type": "Organization",
"name": "[YOUR BRAND NAME]",
"url": "https://[YOUR DOMAIN]"
},
"publisher": {
"@type": "Organization",
"name": "[YOUR BRAND NAME]",
"url": "https://[YOUR DOMAIN]"
},
"datePublished": "[YYYY-MM-DD]",
"dateModified": "[YYYY-MM-DD]"
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "[QUESTION 1 — match your H2 exactly]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[150-word direct answer — no HTML tags]"
}
},
{
"@type": "Question",
"name": "[QUESTION 2]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Answer text]"
}
},
{
"@type": "Question",
"name": "[QUESTION 3]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Answer text]"
}
}
]
},
{
"@type": "HowTo",
"name": "[POST TITLE OR MAIN HOW-TO QUESTION]",
"step": [
{
"@type": "HowToStep",
"name": "[STEP 1 TITLE]",
"text": "[Step 1 description — 1-2 sentences]"
},
{
"@type": "HowToStep",
"name": "[STEP 2 TITLE]",
"text": "[Step 2 description]"
},
{
"@type": "HowToStep",
"name": "[STEP 3 TITLE]",
"text": "[Step 3 description]"
}
]
}
]
}
</script>
dateModified every time you revise the
post.
| Bot Name | Company | Allow? | What It Feeds |
|---|---|---|---|
GPTBot
|
OpenAI | ✅ Allow | ChatGPT Search citations |
PerplexityBot
|
Perplexity AI | ✅ Allow | Perplexity AI citations |
OAI-SearchBot
|
OpenAI | ✅ Allow | OpenAI Search index |
ClaudeBot
|
Anthropic | ✅ Allow | Claude citations |
Google-Extended
|
✅ Allow | Google AI Overviews | |
CCBot
|
Common Crawl | ✅ Allow | LLM training data |
Bingbot
|
Microsoft | ✅ Allow | Traditional SEO + Copilot |
Allow: /, OAI-SearchBot
with Allow: /) and check each company's documentation for
training-vs-search crawler distinctions. The distinction is not always
clean.
For blogs that don't need automated citation tracking (Scrunch, BrightEdge AI), this 20-minute weekly protocol gives you reliable enough data:
- Pick your 5 highest-priority posts.
- Run each post's primary query in Perplexity, ChatGPT, Claude, and Gemini.
- Record: Post | Platform | Cited (yes/no) | Citation position | Date.
- After 4 weeks, identify which posts are consistently uncited and run them through the 10-step checklist first.
- Cross-reference with your GA4 AI Referrers segment to see which citations are actually driving traffic.