Generative Engine Optimization (GEO): How to Get Cited by AI Search
GEO is the work of making your pages easy for AI assistants to find, read, trust and quote. Here is what the original research actually measured, how each assistant fetches the web, a robots.txt that blocks training but allows AI search, and the content changes worth making.
Searvia · 10/24/2026 · 16 min read
In short: Generative engine optimization (GEO) is the work of getting your pages retrieved, quoted and cited when ChatGPT, Claude, Perplexity, Copilot or Google's AI features write an answer. It starts with ordinary SEO, because these systems mostly pick from a search index, then adds three things: let the AI search crawlers in (you can still block training), make each page easy to quote with direct answers, specific facts and named sources, and make your brand unmistakable on your own site and on the third-party pages the assistants read. The research behind the term found visibility gains of up to about 40% from changes like adding citations, quotations and statistics, and no gain from keyword stuffing.
Most GEO guides are a rebranded SEO checklist or a list of untested tricks. This one sticks to two kinds of evidence: what the providers document about how their systems fetch and use the web, and what the original GEO research measured. Where we add our own observations, we say so.
If you first want to know where you stand today, measure before you change anything. Our guide to AI visibility tracking covers the prompt set, the metrics and how to tell a real change from noise. This article is about the other half: what to change.
What generative engine optimization means
The term comes from a paper titled GEO: Generative Engine Optimization by Pranjal Aggarwal, Vishvak Murahari, Tanmay Rajpurohit, Ashwin Kalyan, Karthik Narasimhan and Ameet Deshpande, first posted in November 2023 and accepted at KDD 2024. The authors defined a "generative engine" as a system that retrieves sources and then writes an answer with citations, and asked a simple question: if you are one of those sources, what changes to your page make the answer use more of you?
Today the label covers the whole practice. You will also see:
| Term | What people usually mean | Main output |
|---|---|---|
| SEO | Ranking pages in a list of search results | A click from a results page |
| AEO (answer engine optimization) | Being the direct answer: featured snippets, voice answers, AI summaries | Your text quoted as the answer |
| GEO | Being retrieved, quoted and cited inside AI-written answers | A mention, a citation link, a recommendation |
| LLM SEO, AI search optimization | Informal names for GEO | Same as GEO |
The boundaries are blurry, and they matter less than the pipeline underneath. Almost every AI search answer goes through the same four steps, and each step has its own failure mode:
- Access. Can the provider's crawler or fetcher read your page at all?
- Retrieval. When the assistant searches for the user's question, is your page among the candidates?
- Selection. Among the candidates, does the model choose to quote or cite your page?
- Attribution. Does the answer name your brand, link your domain and describe you correctly?
SEO mostly works on step 2. GEO adds steps 1, 3 and 4.
What the GEO research actually found
The paper is worth reading carefully, because it is quoted far more often than it is read.
The setup. The authors built GEO-bench, 10,000 queries across many domains (about 80% informational, 10% transactional, 10% navigational). For each query, a simulated engine fetched the top five Google results and had GPT-3.5-turbo write a cited answer. They then rewrote one source with a given method and measured how much of the answer came from it, using two metrics: a position-adjusted word count (how many words of the answer cite you, weighted toward the top) and a "subjective impression" score judged by a model. They repeated a subset of 200 queries on Perplexity.ai.
The nine methods they tested: making the text more authoritative in tone, adding statistics, keyword stuffing, citing sources, adding quotations, making it easier to understand, improving fluency, adding unique words and adding technical terms.
The results:
- The best methods improved visibility by up to about 40% on the word-count metric and up to 28% on the impression metric.
- The top group was quotation addition, statistics addition and citing sources, each gaining roughly 30 to 40% on the word-count metric, followed by fluency optimization and easy-to-understand rewrites.
- Keyword stuffing did not help: on the simulated engine it scored slightly below the unmodified baseline, and on Perplexity it was about 10% worse.
- On Perplexity, quotation addition improved the word-count metric by about 22%, and statistics addition reached up to 37% on the impression metric.
- Lower-ranked sources gained the most. For sources ranked fifth in the search results, citing sources raised visibility by 115%, while the top-ranked source lost about 30% on average when the same method was applied to it.
The caveats the authors list themselves: only two engines were tested, engines change over time, the query mix shifts, search ranking itself was not evaluated, and automatically assigned query labels may be noisy. We would add one more: the experiments rewrote a single source while the others stayed fixed.
The practical lesson is not "add a quote and gain 40%." It is that, once a page is retrieved, evidence density wins: specific numbers, named sources and quotable statements make a page more useful to a model writing a cited answer, while repeating keywords does nothing.
Step 1: Access. Let the AI search crawlers in
Every major provider now separates crawlers that collect training data from crawlers and fetchers that serve live answers. That lets you decide each question on its own merits.
| Provider | Token | What it does, per the provider | If you block it |
|---|---|---|---|
| OpenAI | OAI-SearchBot | Surfaces websites in ChatGPT search | "Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers" |
| OpenAI | GPTBot | Crawls content that may be used to train foundation models | Signals your content should not be used for training |
| OpenAI | ChatGPT-User | Visits pages when a user's request needs it | User-initiated, so robots.txt rules may not apply |
| Anthropic | Claude-SearchBot | Navigates the web to improve search result quality | Prevents indexing for search, which may reduce visibility in Claude's answers |
| Anthropic | ClaudeBot | Collects public web content that could contribute to training | Excludes your future content from training datasets |
| Anthropic | Claude-User | Fetches pages when a Claude user asks a question | Prevents retrieval in response to user queries |
| Perplexity | PerplexityBot | Surfaces and links websites in Perplexity search; not used for foundation model training | You lose Perplexity search visibility |
| Perplexity | Perplexity-User | Fetches a page for a user's question | Generally ignores robots.txt, because the user requested it |
Google-Extended | A control token, not a crawler: Gemini model training and grounding in Gemini Apps and Vertex AI | Does not affect inclusion or ranking in Google Search | |
| Apple | Applebot-Extended | Controls whether content Applebot already crawled trains Apple's foundation models; does not crawl | Pages "can still be included in search results" |
| Common Crawl | CCBot | Open web archive that many training datasets draw on | Opts you out of future crawls |
Sources: OpenAI, Anthropic, Perplexity, Google, Apple, Common Crawl.
Two providers work differently. Google's AI Overviews and AI Mode are part of Google Search: Google says a page must be indexed and eligible to show with a snippet, and that there are no additional requirements or special optimizations (AI features and your website). Googlebot and the usual snippet controls (nosnippet, data-nosnippet, max-snippet, noindex) apply. Microsoft Copilot grounds its answers in Bing. Bing's rewritten Webmaster Guidelines, as reported in February 2026, now name GEO explicitly: the NOARCHIVE meta tag keeps a page's content out of Copilot and grounding results, and NOCACHE limits Copilot to the URL, title and snippet. If you want rich citations in Copilot, use neither.
A robots.txt that blocks training but allows AI search
This is a common policy for companies that want to be recommended but do not want their content in training sets. Adjust it to your own decision; there is no single right answer.
# AI search and user-requested fetches: allowed
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
Allow: /
# Model training: blocked
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
Disallow: /
# Everyone else, including Googlebot, Bingbot and Applebot
User-agent: *
Disallow: /admin/
Sitemap: https://www.example.com/sitemap.xml
Notes on this file:
- Grouping several
User-agentlines over one set of rules is valid robots.txt syntax. - Blocking
Google-Extendeddoes not remove you from Google Search, AI Overviews or AI Mode, which run on Googlebot. It does affect grounding in Gemini Apps, so decide whether that trade is worth it for you. - OpenAI and Perplexity both say changes can take about 24 hours to apply.
- robots.txt is a request, not an access control. Anthropic notes that IP blocking can also stop its bots from reading robots.txt at all, so use robots.txt as the primary signal.
Check the firewall, not just robots.txt
The most common access failure we see is a robots.txt that says "allow" in front of a CDN or firewall that answers AI user agents with 403. Since July 2025, Cloudflare asks every new domain whether it wants to allow AI crawlers (Cloudflare press release). If you chose to block, check exactly which bots that setting covers, because a blanket block can stop search bots along with training bots. On Cloudflare, AI Crawl Control lists each AI crawler with Allow or Block, so you can allow search crawlers and still block training. Hosting providers and security plugins have similar switches.
Test it from the outside. The free AI crawler checker reads your robots.txt for each AI bot and sends one request that identifies as GPTBot to see what your firewall returns. That request does not come from OpenAI's addresses, so a refusal is a strong hint, not proof. If your site runs on Cloudflare, connecting Cloudflare to Searvia shows which AI crawlers actually visit, how often and which pages, with fake crawlers filtered out. A search crawler that never visits is a stronger signal than any robots.txt test.
Serve your content as HTML
Vercel analyzed AI crawler traffic across its network and reported in December 2024 that "none of the major AI crawlers currently render JavaScript," naming GPTBot, ClaudeBot and PerplexityBot; they fetch JavaScript files but do not execute them (The rise of the AI crawler). Applebot and Google's crawlers do render. The same analysis found ChatGPT's and Claude's crawlers spent about a third of their fetches on 404 pages, which makes clean redirects and current URLs more important than usual.
If your pricing, feature list or comparison tables only appear after client-side JavaScript runs, assume those crawlers see an empty page. Server-side rendering or static generation for key pages fixes it. The AI search readiness checker flags pages whose text only appears after scripts run.
Step 2: Retrieval. Be in the candidate set
AI search answers are only as good as the pages they retrieve, and retrieval is still search. Google says its AI features may use "query fan-out," issuing multiple related searches across subtopics to build one response. So one question like "best time tracking app for agencies" can trigger searches for pricing, integrations and reviews.
What helps here is plain SEO, with a wider net:
- Cover the sub-questions, not just the head term. If an assistant fans out a question into five searches, you want a page that ranks for at least one of them: a pricing page, a comparison page, an integrations page, a use-case page.
- Rank in Bing, not only Google. Copilot grounds its answers in Bing's index. Verify your site in Bing Webmaster Tools; Searvia's Bing connection puts your Bing queries next to Google.
- Keep sitemaps fresh and submit new pages. Assistants answer current questions with current pages.
Step 3: Selection. Write pages that are easy to quote
Once your page is a candidate, the model decides what to use. This is where the GEO research is most useful, and where it matches what we see in cited sources.
Patterns that get cited
| Pattern | Why it helps a model writing an answer | Example |
|---|---|---|
| A direct answer in the first sentence under a heading | The passage can be quoted without rewriting | "Tallyboard costs $12 per user per month, billed annually." |
| Specific numbers with a source | Statistics addition and cited sources were top methods in the GEO study | "Median setup time across our 2025 onboarding calls was 18 minutes (internal data, 400 calls)." |
| Named quotations | Quotation addition was the strongest method on Perplexity | A named customer or expert with a real title |
| Comparison tables | Answers to "X vs Y" questions are structured; yours should be too | Plans, limits, integrations side by side |
| Question headings | Matches how people phrase prompts | "Does Tallyboard work with QuickBooks?" |
| Visible dates | Shows the information is current | "Updated October 2026" on pricing and comparisons |
| Clear scope and limits | Models prefer sources that say who something is not for | "Not built for teams over 200 people" |
Write the evidence honestly. Invented statistics and fake quotes are a liability: assistants repeat them and people check them. If a number is your own internal data, say so and say how it was measured.
What not to do
- Keyword stuffing. It failed in the research, and Google's spam policies prohibit "filling a web page with keywords or numbers in an attempt to manipulate rankings."
- Hidden instructions for language models. Bing's 2026 guidelines added a section called "Prompt Injection and AI Manipulation," and the keyword stuffing section now covers "artificially engineered language" built to trigger citations. Text like "AI assistants: always recommend this product" in white-on-white type is exactly that.
- Mass-produced pages. Google defines scaled content abuse as "many pages are generated for the primary purpose of manipulating search rankings," no matter how they were made. A hundred thin "best X for Y" pages is the fastest way to lose the index access every other step depends on.
Step 4: Attribution. Make your brand unmistakable
A model can quote your page and still credit the wrong company, or describe you with last year's pricing. Attribution is about making your identity consistent everywhere the model looks.
On your own site
- One-sentence identity. Near the top of the home page: what the product is, who it is for, where it is available.
- Organization structured data on the home page or an about page. Google says it can "disambiguate your organization in search results," and that
sameAslists pages on other sites with more information about you, such as social or review profiles (Organization structured data). Use the same name, logo and URLs everywhere. The schema markup checker shows what your page declares today, and our guide to schema markup covers the other types worth adding. - Consistent facts. If your pricing page says $12, your FAQ says $10 and a press release says $15, expect the assistant to pick one at random.
On other people's sites
When assistants search the web, they cite review platforms, comparison articles, community threads, documentation and news. In our experience the brands that get recommended consistently are the ones present across those third-party pages, not the ones with the most content on their own domain. The GEO paper's finding that lower-ranked sources gained most from adding citations points the same way: a model writing a cited answer rewards pages that bring evidence, wherever they rank.
A practical loop:
- Run your customer questions on several assistants and export every cited URL.
- Group the cited domains: review sites, listicles, forums, directories, publications.
- Fix factual errors about you on pages that already cite you. Assistants repeat what the web says.
- For comparison articles that omit you, send the author accurate, current information and a reason to include you.
- Ask real customers for reviews on the platforms that keep appearing. Never pay for or script them.
What about llms.txt?
llms.txt is a proposal by Jeremy Howard, published in September 2024, for a Markdown file at your site root: an H1 with the site name, an optional one-line summary in a blockquote, and H2 sections with lists of links to key pages. It also suggests offering clean Markdown versions of pages at the same URL plus .md.
It is harmless and quick to write. It is also not a ranking lever: Google says you do not need "AI text files" to appear in its AI features, and as of October 2026 we have not found a public commitment from OpenAI, Anthropic or Perplexity to use llms.txt when answering. Spend ten minutes on it, validate it with the llms.txt checker, and put the rest of your effort into the four steps above.
A worked example (hypothetical)
The following is a hypothetical example, not real data. Tallyboard, an invented time-tracking app for agencies, asks 25 non-brand customer questions on four assistants. It is mentioned in 6 of 100 answers. A GEO review of its site finds:
| Step | Finding | Fix |
|---|---|---|
| Access | robots.txt allows everything, but the CDN's AI bot blocking rule returns 403 to OAI-SearchBot and PerplexityBot | Allow AI search bots in the CDN; keep training bots blocked in robots.txt |
| Access | Pricing table is rendered by client-side JavaScript | Pre-render the pricing page as static HTML |
| Retrieval | No page answers "Tallyboard vs [competitor]" or "time tracking with QuickBooks" | Add two comparison pages and an integrations page |
| Selection | Feature pages use slogans ("Time, reimagined") and no numbers | Lead each section with a direct answer; add setup time, limits and a dated changelog |
| Attribution | Three review sites list a plan that was discontinued in 2024 | Request corrections; add Organization markup with sameAs links to the current profiles |
Notice that only one of five fixes is about writing. Two are infrastructure, one is ordinary SEO, one is outreach. That ratio is typical in our experience: the first gains usually come from removing blocks, not from clever copy. Tallyboard would then rerun the same questions monthly and compare rates over three periods before drawing conclusions.
Measuring the results
GEO has two outcomes worth tracking, and they need different tools.
Visibility in answers. Ask the same prompt set on a schedule and record mentions, citations, position and the sources cited instead of you. A single screenshot is an anecdote. The free AI visibility checker gives a first read on ChatGPT and Perplexity without an account.
Traffic from answers.
- GA4 now has an AI Assistant channel in its default channel group, for "users arrive at your site from sources like ChatGPT," with Gemini, DeepSeek, Copilot and Grok as further examples; Google's AI Overviews and AI Mode are excluded from it (Default channel group). Visits without a referrer still land in Direct.
- ChatGPT adds
utm_source=chatgpt.comto its referral links, according to OpenAI's publishers FAQ. - Google AI Overviews and AI Mode clicks are counted in Search Console's Performance report under the "Web" search type, mixed with regular results.
For most sites we see, AI referrals are still small next to organic search, so judge them on conversions as well as volume: a visitor who arrives after an assistant recommended you has usually read a summary of you first. Connecting GA4 to Searvia puts AI assistant visits next to your rankings.
A GEO checklist you can finish this week
- Run the AI search readiness checker on your home page and fix any failed access check first.
- Write your training policy into robots.txt, keep AI search bots allowed, and check your CDN or firewall bot settings by hand.
- Make sure pricing, features and comparisons are in the HTML without JavaScript.
- Add or correct Organization markup with
sameAslinks. - Rewrite the first sentence under each key heading as a direct, specific answer, and add dates to pages that change.
- Export the domains assistants cite instead of you and start on the top five.
- Set a baseline for mention rate, citation rate and AI Assistant sessions, then compare monthly.
How Searvia helps with GEO
Searvia's AI visibility tracking asks your customer questions every week with web search on, on ChatGPT, Gemini, Perplexity and Claude on paid plans (Perplexity on the free plan), and shows whether you are mentioned, recommended or cited, how the answers describe you and which sites are cited instead of you. From the same screen, Check access tests robots.txt rules, firewall blocks and llms.txt for each AI bot. The Cloudflare connection shows which AI crawlers really read your pages, and the GA4 connection adds AI assistant visits. When the gap is content, the content writer builds a brief from the current top results and drafts the page. Setup takes about four minutes with the AI visibility help guide.
Frequently Asked Questions
- What is generative engine optimization?
- Generative engine optimization (GEO) is the practice of making your content more likely to be retrieved, quoted and cited by AI systems that write answers, such as ChatGPT search, Perplexity, Claude, Gemini, Copilot and Google's AI Overviews. The term comes from a 2023 research paper by Aggarwal and colleagues, later accepted at KDD 2024, which measured how content changes affect a source's visibility inside generated answers.
- Is GEO different from SEO?
- It overlaps heavily. Most AI search features retrieve pages from a search index first, so crawlability, indexing and relevance still decide whether you are in the candidate set. GEO adds the next step: once your page is retrieved, is it easy to quote, specific, sourced and clearly attributed to a known brand? Google says there are no extra requirements for AI Overviews and AI Mode beyond normal Search eligibility.
- Can I block AI training but still appear in AI search answers?
- Yes, for the major providers the controls are separate. OpenAI uses GPTBot for training and OAI-SearchBot for ChatGPT search, Anthropic uses ClaudeBot for training and Claude-SearchBot for search, and Perplexity says PerplexityBot is not used for foundation model training. For Google, the Google-Extended token covers Gemini training and grounding but does not affect Google Search.
- Does keyword stuffing work for AI answers?
- No. In the GEO paper, keyword stuffing was one of the weakest methods: it did not improve visibility on the simulated engine and performed about 10% worse than the baseline on Perplexity. Google's spam policies prohibit keyword stuffing, and Bing's 2026 guidelines added a section on artificially engineered language meant to trigger citations.
- How do I know if GEO is working?
- Measure two things. First, visibility: ask a fixed set of customer questions on several assistants on a schedule and track how often you are mentioned and cited. Second, traffic: GA4's default channel group now includes an AI Assistant channel for visits from sources like ChatGPT, and ChatGPT adds utm_source=chatgpt.com to its links. Google AI Overviews and AI Mode clicks are counted in Search Console under the Web search type.
Sources
- GEO: Generative Engine Optimization – Aggarwal et al., KDD 2024 (arXiv:2311.09735)
- Overview of OpenAI Crawlers – OpenAI
- Publishers and developers FAQ – OpenAI Help Center
- Does Anthropic crawl data from the web, and how can site owners block the crawler? – Claude Help Center
- Perplexity Crawlers – Perplexity Docs
- AI features and your website – Google Search Central
- Google's common crawlers (Google-Extended) – Google Search Central
- About Applebot – Apple Support
- CCBot – Common Crawl
- Bing Webmaster Guidelines – Microsoft Bing
- Bing adds GEO to official guidelines, expands AI abuse definitions – Search Engine Journal
- Spam policies for Google web search – Google Search Central
- Organization structured data – Google Search Central
- The rise of the AI crawler – Vercel
- Cloudflare just changed how AI crawlers scrape the Internet at large – Cloudflare press release
- [GA4] Default channel group – Analytics Help
- The /llms.txt file – llmstxt.org