| name | geo-blog-post |
| description | Use when writing or editing a blog post optimized for AI citations — covers post structure, frontmatter patterns, content rules, schema requirements, and a pre-publish GEO checklist based on Princeton research. Do NOT use for social media posts, landing pages, general content writing, or non-blog formats. |
GEO-Optimized Blog Post
GEO (Generative Engine Optimization) means structuring content so AI engines (ChatGPT, Perplexity, Claude) cite it when answering user questions. These patterns maximize citation rate based on Princeton research on what AI engines prefer to cite.
Constraints
- Always confirm topic, primary keyword, and intended audience before drafting
- Always research and cite 3+ authoritative external sources — no unsourced statistics
- Always draft and confirm an outline (H1, 6–8 H2s, FAQ pairs) before writing the full post
- Always place the pull quote at the midpoint of the post (around the 3rd H2), not at the top or conclusion
- Always run the Pre-Publish GEO Checklist before calling the post done
Recommended Frontmatter
title: "Post Title (And Practical Benefit)"
date: "2026-04-08"
summary: "1–2 sentence TL;DR — shown in header and used as meta description"
image: "/images/YYYY-MM-DD-slug.png"
alt: "Description of hero image"
lastUpdated: "2026-04-10"
author: "Author Name"
faq:
- question: "Short question (5–8 words)?"
answer: "40–65 word plain-text answer. No markdown formatting."
Schema to emit per post: BlogPosting (headline, datePublished, dateModified, author, image) + FAQPage (one Question/Answer per faq entry). Frameworks like Astro can auto-generate from frontmatter; otherwise add JSON-LD manually.
Post Anatomy
Recommended top-to-bottom order:
- Byline — date and author
- H1 — one per post
- TL;DR box —
summary displayed prominently at the top
- Last updated notice (if content was refreshed)
- Hero image with descriptive alt text
- Table of contents (generated from headings)
- Body
- CTA
- FAQ section — rendered as accordion or static; must also appear in schema
- Author bio with credentials (strengthens E-E-A-T signal)
Article Targets
| Target | Value |
|---|
| Body length | 2,000–3,000 words |
| H2 sections | 6–8 |
| H3 subsections per H2 | 0–6 |
| Pull quotes | 1 per post |
| Comparison table | 1 (only for "vs" topics) |
| FAQ pairs | 6–8 |
| External citations | 3+ with source links |
Section Patterns
| Section type | Words | Paragraphs | Pattern |
|---|
| TL;DR | 40–60 | 1 | Single paragraph, standalone thesis |
| H2 intro (narrative) | 100–180 | 3–4 | Bold lead sentence → supporting paragraphs → bullet list |
| H2 intro (transitional) | 20–30 | 1 | One bold sentence bridging to H3s |
| H3 deep-dive | 70–120 | 2–3 | Short intro → bullet list (3–5 items) |
| H3 numbered tip | 40–55 | 1 | One sentence + 4–5 bullet items |
| H3 competitor/profile | 40–65 | 1 | One paragraph, bold key descriptor inline |
| FAQ answer | 40–65 | 1 | Plain text, no formatting |
Structural Rules
-
Bold lead sentences — Every H2 opens with one bold sentence stating the section thesis. H3s may also. Never more than one per section opener.
-
H2 = narrative arc, H3 = detail — H2 intro is either a full narrative block (100–180 words) or a single transitional sentence (20–30 words) setting up its H3s.
-
Lists are the workhorse — Most H3s use bullet lists. Bullet items: 8–15 words each. Numbered lists only for sequences or rankings.
-
One visual break per ~500–700 words — A list, table, blockquote, or image roughly every 500–700 words. No prose block runs more than ~200 words without a break.
-
FAQ = 6–8 pairs — Questions: 5–8 words. Answers: 40–65 words, plain text only. Must appear in schema, not just the markdown body.
-
Numbered H3s for actionable sections — Tips/strategies get numbered H3s (### 1. Do X). Each: one sentence + bullets.
-
Uniform competitor/tool profiles — Exactly one paragraph each (~45–55 words), bold key descriptor inline. No bullets.
Title Pattern
[Topic Explanation] (And [Practical Benefit])
Examples:
- "How ChatGPT Searches Work (And How to Get Your Brand Found)"
- "What is AEO Monitoring (And Why Your Brand Needs It)"
Pull Quote Format
> "Quoted text here."
>
> — Author Name, Role at Company
One per post. Place in the middle of the post — around the 3rd H2 — after a key insight lands. Not at the top, not in the conclusion.
CTA Block
Every post ends with a CTA before the FAQ. For example, the CTA for cite.me.in posts:
- Heading: "Monitor your AI citation visibility"
- Primary button: "Start free trial" →
https://cite.me.in/sign-up
- Secondary button: "Book a demo" →
https://cal.com/assafarkin/cite.me.in-demo
If the post has a specific angle (e.g., focused on Perplexity, or aimed at agencies), customize the heading to match. Keep both buttons — trial for self-serve, demo for enterprise.
Schema Templates
The blog auto-generates these from frontmatter. If adding manually, use these JSON-LD templates:
BlogPosting:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"mainEntityOfPage": { "@type": "WebPage", "@id": "https://cite.me.in/SLUG" },
"headline": "Post Title",
"description": "1–2 sentence summary",
"image": "https://cite.me.in/images/YYYY-MM-DD-slug.png",
"datePublished": "2026-04-13T00:00:00Z",
"dateModified": "2026-04-13T00:00:00Z",
"author": { "@type": "Person", "name": "Author Name", "url": "https://example.com" },
"publisher": {
"@type": "Organization",
"name": "cite.me.in",
"url": "https://cite.me.in",
"logo": { "@type": "ImageObject", "url": "https://cite.me.in/icon.png" }
}
}
FAQPage (one object per faq frontmatter entry):
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Short question (5–8 words)?",
"acceptedAnswer": {
"@type": "Answer",
"text": "40–65 word plain-text answer. No markdown."
}
}
]
}
BreadcrumbList:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Blog", "item": "https://cite.me.in/" },
{ "@type": "ListItem", "position": 2, "name": "Post Title", "item": "https://cite.me.in/SLUG" }
]
}
Emit all three schemas in a single <script type="application/ld+json"> tag as a JSON array.
Pre-Publish GEO Checklist
Based on Princeton GEO research — each item has a measurable citation lift: