Generative Engine Optimization (GEO)
Generative Engine Optimization (GEO) shapes content so AI search engines retrieve, quote, and cite it in generated answers. Methods, evidence, and metrics.
Generative Engine Optimization (GEO) is the practice of shaping web content so that generative engines, generative AI systems that answer a query by writing a response from retrieved sources, select it, quote it accurately, and cite it. Pranjal Aggarwal and colleagues at Princeton University and partner institutions introduced the term in their November 2023 paper GEO: Generative Engine Optimization, published at KDD 2024, after Bing Chat, Google's Search Generative Experience, and Perplexity began answering searches directly. ChatGPT search (October 2024) and Google's AI Overviews (May 2024) have since put generated answers in front of hundreds of millions of searchers, and deep research tools read and cite dozens of pages for a single report. In a generated answer there is no ranked list to climb, so visibility means how much of the answer comes from a source and how prominently it is cited.
How Generative Engines Choose Sources#
A generative engine is an open-domain question answering system built on retrieval-augmented generation (RAG) at web scale. It rewrites the user's question into one or more search queries, a step Google calls query fan-out in its AI Mode, retrieves candidate pages from its index, uses semantic search and a reranker to pick the passages that answer each sub-question, and has a large language model (LLM) write the answer from those passages with citations. Each stage is a gate that a page has to pass:
Grounding the answer in retrieved passages is also how engines reduce hallucinations, so content that states facts plainly, with numbers, dates, and sources, is easier to quote without distortion.
What the GEO Paper Found#
Aggarwal and colleagues built GEO-bench, about 10,000 queries drawn from nine datasets across many domains, and measured visibility in two ways: a position-adjusted word count that weights the words an answer takes from a source by where its citation appears, and a subjective impression score judged by an LLM. They rewrote source pages with nine methods and found that adding citations to credible sources, adding quotations, and adding statistics raised visibility by up to 40 percent, while keyword stuffing, a classic search tactic, gave little or no benefit. Pages that ranked lower in ordinary search gained the most. On Perplexity, quotation addition raised position-adjusted word count by about 22 percent, and statistics addition raised subjective impression by up to 37 percent.
GEO vs. SEO and Related Terms#
SEO and GEO share their foundations: crawlable pages, clear structure, and useful content. GEO adds a second question after "does this page rank?": "does an answer quote this page, and does it quote it correctly?" Answer engine optimization (AEO), AI search optimization, and LLM optimization (LLMO) are synonyms in current use. Prompt engineering shapes the instructions a person sends to a model, which GEO cannot see, and RAG engineering builds the retriever and generator inside the engine, which GEO treats as a black box.
Technical Access#
Crawler rules decide the first gate. AI companies run separate crawlers for model training and for search, so a site can opt out of one and stay in the other. OpenAI runs two crawlers for this: GPTBot, which collects training data, and OAI-SearchBot, which indexes pages for ChatGPT search. Google-Extended is a control token that Google reads from the same robots.txt: Googlebot still fetches the page for Search and AI Overviews, and a Disallow for Google-Extended stops its use for Gemini training and grounding. Python's standard library can read a robots.txt policy the way these agents do:
from urllib.robotparser import RobotFileParser
# Opt out of model training while staying fetchable for AI search and classic search
robots_txt = """
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: *
Allow: /
"""
parser = RobotFileParser()
parser.parse(robots_txt.splitlines())
for agent in ["GPTBot", "OAI-SearchBot", "Google-Extended", "Googlebot"]:
allowed = parser.can_fetch(agent, "/glossary/generative-engine-optimization-geo")
print(f"{agent}: {'allowed' if allowed else 'blocked'}")It prints GPTBot: blocked, OAI-SearchBot: allowed, Google-Extended: blocked, and Googlebot: allowed, so the page stays eligible for ChatGPT search, Google Search, and AI Overviews while staying out of OpenAI and Gemini training data. Beyond crawler rules, pages need to load without sign-in, appear in an XML sitemap, and carry accurate Schema.org structured data, usually written as JSON-LD, for entities such as articles, products, and software. On Ultralytics Platform, the same access rule applies to computer vision datasets and projects: those made public open at clean URLs for every visitor, signed in or not, so search crawlers and AI assistants can retrieve them, while private ones stay behind sign-in.
Measuring GEO#
Generated answers vary with phrasing, retrieval index, and model version, so teams track a fixed set of representative questions over time and record which pages each engine cites, how often, and whether the answer represents them correctly. Referral traffic from assistants shows up in analytics as visits from domains such as chatgpt.com and perplexity.ai. Search engines have started to report citations directly: the Bing Webmaster Tools AI Performance report, released in public preview in February 2026, shows how often each page is cited in Microsoft Copilot and Bing AI answers, along with the grounding queries that retrieved it.










