Getting cited in AI search.

Ask ChatGPT which trading-bot alert service is fastest, or ask Perplexity for the best guide to Hyperliquid, and you get a paragraph with a few sources under it. If your page is not one of those sources, you are invisible to the person asking. Getting picked as one of those sources is the job. Here is how we do it, using the same moves we run on our own products.
GEO is not classic SEO with a new name
Classic SEO gets you a ranked list of ten blue links. The searcher scans, clicks, and lands on your page. Generative Engine Optimization, GEO, plays a different game. An AI engine reads a handful of pages, writes one answer, and cites the pages it leaned on. The searcher often never clicks at all. They read the answer and move on.
That changes what winning looks like. In classic search you fight for position. In AI search you fight to be quoted. Two things follow from that.
First, the top of the results still matters, more than people expect. When an AI Overview or a Perplexity answer assembles its sources, it pulls heavily from pages that already rank in the first page of Google. Weak classic SEO caps your AI-search ceiling before you start. GEO does not replace SEO. It sits on top of it.
Second, the engine has to be able to read your page cleanly and lift a passage out of it. A page that a person can read fine but a crawler cannot parse is a page that never gets cited. Most of GEO is making your content trivially easy for a machine to fetch, understand, and quote.
The levers we actually pull
We run these on our own sites first. Every guide and product page we ship goes through the same checklist, so by the time we bring it to a client build it has been tested on something we own.
Let the AI crawlers in
The first mistake we see is a robots file or a firewall rule that blocks GPTBot, ClaudeBot, PerplexityBot, or Google-Extended. If the bot cannot fetch the page, nothing else on this list matters. We check the live response for each major AI user-agent and confirm a clean 200, then keep an eye on server logs to make sure a firewall is not quietly returning 403s to them.
Serve the content in the raw HTML
An AI engine that fetches your URL should see the actual words in the response, not an empty shell that fills in later with JavaScript. Client-rendered pages are a real citation risk: the crawler grabs the HTML, finds nothing, and leaves. We server-render or pre-render anything meant to be found, and we verify it with a plain fetch of the URL rather than trusting what the browser shows after scripts run. If the words are not in the raw response, the page is not citable.
Write in liftable passages
AI engines quote self-contained chunks. A paragraph that answers one question completely, without needing the three paragraphs above it for context, is a paragraph an engine can drop into an answer. So we structure content in passages: a clear question as a heading, then a direct answer in the first sentence, then the detail. We put a short, standalone summary near the top of important pages, the kind of thing a model can quote word for word and be correct.
Mark up what the page is about
Schema is how you tell a machine what it is looking at without making it guess. Article markup on a guide, Organization and Service markup on a firm, Product or FAQ where they genuinely apply. It does not force a citation, but it removes ambiguity about the entity and the claims on the page, and that makes a page safer for an engine to trust.
Stop throttling your own snippets
There is a robots meta tag, max-snippet, that caps how much of your text a search engine may show. Set it low and you have told Google, and the AI Overviews that draw on Google, to use only a sliver of your page. We set max-snippet to -1, unlimited, on content we want quoted. It is a one-line fix that a lot of templates get wrong by default.
Ship an llms.txt
An llms.txt file is a plain-text summary of your site written for models: who you are, what you offer, where the important pages live. Google ignores it, so this is aimed at Perplexity, ChatGPT, and Claude rather than classic search. It is low effort and still uncommon, which is exactly why we put one on every site we run, including this one.
How we know it is working
None of this is worth doing if you cannot measure it, and AI citations do not show up in a normal rank tracker. This is the problem our own product, ConceptSEO, was built to solve. It tracks GEO citations and the keywords that trigger them: which of your pages get cited, for which prompts, on which engines, and how that moves week to week. Classic rank tracking tells you where you sit in Google. GEO tracking tells you whether the machines that write the answers are quoting you at all.
We watch two things together. Classic positions, because they set the ceiling for what can be cited, and citation share, because that is the actual outcome. When a page climbs into the top ten and starts getting quoted in AI answers for its target prompts, the levers worked. When it ranks but never gets cited, the passage structure or the crawlability usually needs another pass.
What it looks like in practice
Take a guide page that reads well for a human but was built as a client-rendered app. On a raw fetch it returned almost no body text and no real heading, so an AI crawler had nothing to quote. It was ranking on brand terms through sheer authority, but it was absent from AI answers about its topic.
The fix was unglamorous. We moved the route to server rendering so the raw HTML carried the full text and a real heading, restructured the opening into a standalone summary that answered the core question in the first two sentences, added Article schema, lifted the max-snippet cap, and confirmed the AI user-agents got a clean 200. Nothing here was exotic. It was the checklist above, applied in order and verified with a plain fetch at each step. The page went from an empty shell to a set of passages a model could read and quote, and citation tracking is how we confirmed the answers started pointing back to it.
The short version
GEO is the practice of getting your pages cited by AI engines like ChatGPT, Perplexity, and Google's AI Overviews, rather than only ranked in classic search. It works by keeping AI crawlers unblocked, serving real content in the raw HTML, writing self-contained passages an engine can quote, marking pages up with schema, removing snippet caps, and publishing an llms.txt. Because AI answers draw heavily on pages that already rank, strong classic SEO is the foundation rather than a substitute. The result is measured as citation share: how often the engines quote you for the prompts that matter.
If your pages rank but never show up in AI answers, that is a solvable problem with a clear checklist behind it. We take on a few custom builds a year.
Start a projectPhoto by Stephen Dawson on Unsplash
All articles