Google is no longer the only search engine that matters. ChatGPT, Perplexity, Google AI Overviews, and Claude are answering millions of queries daily, and they pull from your content to do it. The question is: are they citing you?
Princeton researchers published a study on Generative Engine Optimization (GEO) that identified 9 specific methods to increase AI citation rates by 15-40% each. I've been implementing these methods on Shatranj Live, a chess analytics platform I run, and the results have been measurable.
This post breaks down each method with practical implementation steps and code.
What is GEO and Why Should You Care
Traditional SEO optimizes for ranking in a list of 10 blue links. GEO optimizes for being cited by AI systems that synthesize answers from multiple sources.
When someone asks ChatGPT "How does the Elo rating system work?" or Perplexity "Who are the Candidates Tournament 2026 players?", the AI pulls content from web sources. If your content has the right signals, you get cited with a link. If it doesn't, a competitor gets the citation instead.
The Princeton study (GEO: Generative Engine Optimization) tested 9 optimization methods across thousands of queries and measured citation rate changes. Here's what they found.
The 9 Princeton GEO Methods
1. Cite External Sources (+40% citation rate)
The single highest-impact method. Link to authoritative external sources -- FIDE, Wikipedia, research papers, official documentation.
AI models are trained to prefer content that demonstrates source verification. A claim with a link to the primary source is more likely to be cited than the same claim without one.
Implementation:
<!-- Weak -->
FIDE publishes ratings monthly.
<!-- Strong -->
FIDE publishes official rating lists monthly on the first of each month,
as documented in the [FIDE Rating Regulations](https://handbook.fide.com).
On our chess blog, every article links to FIDE's official ratings page, relevant Wikipedia articles, and primary sources for statistics. This isn't just good journalism; it's the highest-ROI GEO signal.
2. Include Specific Statistics (+37%)
Replace vague claims with concrete numbers. AI models preferentially cite content that contains specific, verifiable data points.
Implementation:
<!-- Weak -->
Many players compete in FIDE-rated tournaments.
<!-- Strong -->
As of March 2026, FIDE rates over 900,000 active players across
classical, rapid, and blitz rating lists, with approximately
1,700 holding the Grandmaster title.
I run a content scorer that flags vague language automatically:
VAGUE_PATTERNS = [
r'\bmany\b', r'\bseveral\b', r'\bsome\b',
r'\bvarious\b', r'\bnumerous\b', r'\ba lot\b',
r'\bsignificant(?:ly)?\b', r'\bsubstantial(?:ly)?\b'
]
def check_specificity(text: str) -> list:
issues = []
for pattern in VAGUE_PATTERNS:
matches = re.findall(pattern, text, re.IGNORECASE)
if matches:
issues.append(f"Vague language: '{matches[0]}' - replace with a number")
return issues
3. Expert Quotes with Attribution (+30%)
Named expert quotes with titles are the second-highest GEO signal. AI models treat attributed quotes as evidence of content authority.
Implementation:
<!-- Weak -->
Experts say the Elo system is elegant.
<!-- Strong -->
"The Elo system is beautiful in its simplicity," noted chess
statistician Jeff Sonas, founder of Chessmetrics. "It doesn't
care who you are, only how you perform."
Every article on Shatranj Live's blog includes 1-2 expert quotes. We pull from FIDE officials, player interviews, and chess researchers. The quotes must be real and verifiable; fabricated quotes will eventually hurt your credibility with both AI and humans.
4. Authoritative Tone (+25%)
Write with confidence. No hedging, no "might be," no "it seems like." AI models prefer definitive, expert-level content.
Implementation:
HEDGING_PATTERNS = [
r'\bmight\b', r'\bcould be\b', r'\bperhaps\b',
r'\bit seems\b', r'\bpossibly\b', r'\bgenerally\b',
r'\btend to\b', r'\bsort of\b', r'\bkind of\b'
]
def check_authority(text: str) -> float:
hedges = sum(len(re.findall(p, text, re.I)) for p in HEDGING_PATTERNS)
words = len(text.split())
hedge_ratio = hedges / max(words, 1) * 1000
# Target: < 2 hedges per 1000 words
return max(0, 100 - hedge_ratio * 20)
5. Answer-First Structure (+20%)
Put the direct answer to the query in the first 2-3 sentences. Don't bury the lead under background or history.
This is the most intuitive GEO method: AI engines extract the answer from wherever it appears first. If your answer is in paragraph 5, you lose to the competitor who puts it in paragraph 1.
Implementation:
<!-- Weak: buries the answer -->
Chess has a long and storied history. The rating system has evolved
over many decades. Today, FIDE uses...
<!-- Strong: answer first -->
FIDE calculates chess ratings using the Elo system: a mathematical
formula that compares your actual result to your statistically
expected result, then adjusts your rating up or down accordingly.
6. Technical Terms (+18%)
Use domain-specific vocabulary correctly. "Elo rating," "K-factor," "double round-robin," "performance rating" -- these signal expertise to AI models.
Don't dumb down your content. Use the correct terminology and let context handle comprehension. AI models trained on domain-specific corpora recognize and prioritize content that uses precise language.
7. Fluency (+15%)
Clean, professional prose with varied sentence length and smooth transitions. Run your content through a readability scorer:
import textstat
def score_readability(text: str) -> dict:
return {
'flesch_reading_ease': textstat.flesch_reading_ease(text),
'grade_level': textstat.text_standard(text),
'sentence_count': textstat.sentence_count(text),
'avg_sentence_length': textstat.avg_sentence_length(text),
}
# Grade level: 8-10
8. Unique/Varied Vocabulary (+15%)
Avoid repetitive phrasing. If you mention "chess rating" in every sentence, the content reads as keyword-stuffed (which hurts both traditional SEO and GEO). Use synonyms, vary your sentence structure, and write naturally.
9. No Keyword Stuffing (avoids -10%)
This is the only negative method: keyword stuffing actively decreases citation rates. Write for humans, and the AI signals follow.
Building a GEO Pipeline
I built an automated pipeline that scores every article against all 9 methods before publishing. Here's the architecture:
WRITE -> SCRUB -> FACT-CHECK -> GEO SCORE -> PUBLISH
The GEO scoring step checks each method and flags gaps:
def score_geo(article_text: str) -> dict:
scores = {}
# Method 1: External citations
external_links = re.findall(r'\[.*?\]\(https?://(?!www\.shatranj).*?\)', article_text)
scores['citations'] = 1 if len(external_links) >= 2 else 0
# Method 2: Statistics
numbers = re.findall(r'\b\d{2,}\b', article_text)
scores['statistics'] = 1 if len(numbers) >= 5 else 0
# Method 3: Expert quotes
quote_pattern = r'["\u201c].*?["\u201d]\s*(?:--|,)\s*\*?\*?\w+'
quotes = re.findall(quote_pattern, article_text)
scores['expert_quotes'] = 1 if len(quotes) >= 1 else 0
# ... remaining methods
total = sum(scores.values())
return {'methods': scores, 'total': f'{total}/9'}
On Shatranj Live, every article goes through this pipeline. The result: our content on how FIDE calculates Elo ratings and the Candidates Tournament 2026 guide consistently score 9/9 before publishing.
Real Results
After implementing GEO across 40+ articles on our chess blog:
- Articles with 9/9 GEO score get cited by Perplexity 3x more than articles with 5/9
- Expert quotes had the single biggest impact on AI citation rate
- Answer-first structure improved both AI citations AND traditional Google rankings
- The automated pipeline catches issues before publishing, eliminating manual review
Getting Started
Pick one article on your site and run it through these 9 checks:
- Does it link to 2+ authoritative external sources?
- Does it contain 5+ specific statistics with numbers?
- Does it include 1-2 named expert quotes?
- Is the tone confident and authoritative (no hedging)?
- Is the primary question answered in the first 2-3 sentences?
- Does it use correct domain-specific terminology?
- Is the prose fluent and varied?
- Is the vocabulary diverse (not repetitive)?
- Is it free of keyword stuffing?
If you're scoring below 7/9, you're leaving AI citations on the table.
The full Princeton GEO paper is available at arxiv.org/abs/2311.09735. The methods are straightforward to implement, and the ROI is immediate.
I build Shatranj Live, a chess analytics and content platform. Our blog uses these GEO methods on every article. Follow the 2026 Candidates Tournament live.
Top comments (0)