What is GEO (generative engine optimisation)?
Generative engine optimisation (GEO) is the practice of making a website easy for generative AI systems such as ChatGPT, Perplexity, Claude and Gemini to crawl, understand and cite, so that the site appears as a source in AI-generated answers.
The term was introduced in a 2023 academic paper that measured which changes to a page made generative search engines more likely to include it in their answers. Citing sources, adding statistics, quoting experts and writing in a clear, authoritative register all helped; keyword stuffing did not. Since then the phrase has come to cover the whole technical and editorial job of being visible to AI answer systems.
GEO overlaps with AEO but sits underneath it. AEO is about the shape of the answer on the page; GEO is about whether the generative engine can reach the page at all and whether it trusts what it finds. That starts with plumbing: robots.txt must not block the crawlers that feed AI search, the web application firewall must not return 403 to GPTBot or PerplexityBot, the main text must be readable without JavaScript, and an llms.txt at the root helps an assistant find the right pages. It continues with trust: named authors, dates, organisation schema with sameAs links, and outbound citations to reputable sources.
Consider a manufacturer whose site is invisible to Perplexity because the CDN's bot protection blocks every non-browser user agent. Allowing the named AI search bots while keeping the block for unknown scrapers puts the site back into answers. The fix is one rule, but nobody had looked.
The common mistake is switching on a one-click block for AI bots to stop training crawlers and unknowingly blocking the search crawlers as well. Training and search are separate user agents; you can refuse one without refusing the other. I wrote ai-visibility-audit to check exactly this class of problem in one command.
Related terms
- AEO (answer engine optimisation): Answer engine optimisation (AEO) is the practice of structuring web content so that answer engines, meaning AI assistants, voice assistants and featured snippets, can extract a direct, accurate answer to a question and attribute it to your site.
- AI crawler (GPTBot, ClaudeBot, PerplexityBot and others): An AI crawler is a bot that fetches web pages for an AI vendor to train models, to build a search index for an assistant, or to fetch a page live when a user asks; most vendors use a separate user agent for each purpose.
- robots.txt for AI crawlers: robots.txt for AI crawlers means adding User-agent rules to the standard robots.txt file at a site's root that allow or disallow named AI bots individually, so a site can, for example, refuse model training while still allowing AI search engines to index it.
- llms.txt: llms.txt is a plain Markdown file placed at a website's root (/llms.txt) that gives AI assistants a short summary of the site and a curated list of its most useful pages, so a language model can find the right content quickly.