What GEO is: how to create content for generative search
GEO — what we call SEO AI on this site — means optimising content so that generative engines — ChatGPT, Perplexity, Gemini, Claude — use it and cite it when they answer. Not to place a link in a list of ten results, but to be the source the model picks while writing the answer.
The term has a date and a concrete origin, and it is worth starting there, because almost everything published about GEO leaves it out.
The study that defined the term, and what it measured
"GEO: Generative Engine Optimization", by Aggarwal, Murahari, Rajpurohit, Kalyan, Narasimhan and Deshpande, was presented at KDD 2024 and is available at arXiv:2311.09735. The authors tested nine content modifications and measured how much each one changed a source's visibility inside the generated answer.
The results matter more than any list of best practices:
- Adding verifiable statistics, incorporating credible quotations and citing reliable sources produced the largest visibility gains, on the order of 30–40% on a position-adjusted word-count metric.
- Keyword stuffing — the tactic inherited from old SEO — had negligible or negative effect.
- A merely "authoritative" tone, with nothing behind it, did not help.
Put differently: what works is what a demanding editor would ask for anyway. Sourced data, attributed quotes, verifiable claims.
What Google says, word for word
Google published its own guide, Optimizing your website for generative AI features on Google Search. The literal quotes are worth reading, because they contradict a good part of what gets sold as a GEO service:
- On AI files: "You don't need to create new machine readable files, AI text files, markup, or Markdown to appear in Google Search", adding that Google Search ignores them.
- On structured data: "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add."
- On chunking content: "There's no requirement to break your content into tiny pieces for AI to better understand it."
To be eligible as a supporting link in AI Overviews or AI Mode, a page has to be indexed and meet Search's technical requirements. There is no additional requirement.
Google's position is that its generative features rest on the same ranking systems as always. For Google, GEO is SEO.
What you do control: robots.txt, not llms.txt
Google is one engine. The others work differently, and there the lever is concrete and verifiable.
OpenAI documents its crawlers at developers.openai.com/api/docs/bots, and there are three, with separate jobs:
OAI-SearchBotindexes for ChatGPT search. The documentation is explicit: "Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers".GPTBotcrawls for training. Blocking it "indicates a site's content should not be used in training generative AI foundation models".ChatGPT-Useracts when a user explicitly asks to open a page. Because a person initiates the action, "robots.txt rules may not apply".
Perplexity draws the same line at docs.perplexity.ai/guides/bots: PerplexityBot is designed to "surface and link websites in search results on Perplexity" and "is not used to crawl content for AI foundation models"; Perplexity-User responds to an explicit request and therefore generally ignores robots.txt.
Here is the decision almost nobody makes deliberately: appearing in answers and being training material are different permissions, and they are declared separately. Most businesses that want traffic want the first and not the second. If your robots.txt blocks everything by default, you closed the first one without meaning to.
So what is llms.txt for?
Less than people claim, and it is worth saying so with the source in hand: Google states that it ignores it. There is no public evidence that OpenAI or Perplexity use it as a ranking signal.
We publish it anyway, at martingaray.com.ar/llms.txt and indexnow-connect.cookingmetrics.com/llms.txt, for two reasons that have nothing to do with rankings: it is a readable index that saves crawling, and it is cheap to maintain. That is everything we can claim today. Anyone selling you llms.txt as a visibility lever in Google is selling something Google says in writing that it discards.
How it gets measured
Until recently this was not measured and got argued from memory. Google published generative AI performance reports in Search Console, with impressions, pages and country for appearances in generative features.
For the rest — ChatGPT, Perplexity — there is no equivalent panel. What can be measured today is what comes before: whether the right bots get in, whether the page responds, whether the content is crawlable without running JavaScript. We ran that measurement on our own site and scored 1 out of 4, with llms.txt written in the repository and returning 404 in production.
What to do, in order
- Review
robots.txtand decide bot by bot: who may cite you and who may train on you. They are different permissions. - Verify the content is in the served HTML, without depending on JavaScript.
- Put sourced figures and attributed quotes in the content that matters to you. It is the only thing with a measured effect in the study.
- Stop stuffing keywords. The study measured negligible or negative effect.
- Measure what can be measured and declare what cannot.
This article is written following exactly what the study measured: verifiable figures and citations to primary sources, each one linked. If the method works, it should show.
If you want us to review your robots.txt and your content against this standard, start here.
Frequently asked questions
Does GEO replace SEO?
No, and Google says so explicitly: its generative features rest on Search's ranking systems. What changes is the goal — from earning a click to being the cited source — and new levers appear, above all per-bot permissions in robots.txt.
Do I need llms.txt to appear in ChatGPT?
There is no public evidence that it helps, and Google states in writing that it ignores it. What does determine whether you appear in ChatGPT answers is not blocking OAI-SearchBot in robots.txt.
Can I appear in answers without allowing training on my content?
Yes. OpenAI separates OAI-SearchBot (search) from GPTBot (training), and Perplexity does the same with PerplexityBot. They are independent directives in robots.txt.
Is it worth writing in an authoritative tone?
The study measured it and it did not help on its own. What moved the needle were verifiable statistics and citations to credible sources: backing, not tone.
How do I know it is working?
For Google, with Search Console's generative AI reports. For the rest there is no panel yet: what is measurable today is whether the right bots get access and whether the content is readable without JavaScript.