Answer engines don't rank pages; they cite chunks. Getting cited by ChatGPT, Perplexity, or AI Overviews takes three things: crawler access (their bots can fetch you), chunkable answers (each section survives being cut out and read alone), and entity clarity (the model knows exactly who and what you are). In practice GEO is about 80% ordinary technical SEO plus answer-first writing, 15% entity work, and 5% novelties like llms.txt. The novelties get the conference talks; the 80% gets the citations.
How citations actually happen
Every major answer engine is retrieval-augmented: the query goes to a search index (ChatGPT search leans on Bing plus OpenAI's own OAI-SearchBot crawl; Perplexity runs its own crawler; AI Overviews draw from Google's ordinary index), top results get cut into chunks of roughly a few hundred words, and the model synthesises an answer citing the chunks it used.
Two blunt consequences. First, a page that isn't retrievable can't be cited — blocking the wrong bots means invisibility, and the inventory of which bot feeds which product is in robots.txt for AI crawlers. Second, conventional ranking still matters, because retrieval draws from the top of the index. AI Overviews citations overlap heavily with the top ten organic results; Perplexity reaches deeper but still starts from search. Nobody gets cited from page six.
Write for the chunk, not the page
A retriever pulls your H2 section out of the page and hands it to a model without the surrounding context. Content that survives this:
- Sections that stand alone: the first sentence under each H2 answers that H2. If a section only makes sense after reading the previous one, it will be retrieved and discarded.
- Specifics with units and dates. Models preferentially quote "caps at 50,000 URLs or 50MB" over "has size limits" — a claim with a number is quotable; a vague one is filler to a synthesiser.
- Tables. They extract cleanly, and a comparison table is frequently reproduced in the answer with the source cited.
- Answer-first openings. The first-paragraph-is-the-verdict rule this site already follows for featured snippets is exactly what chunk-level retrieval rewards — one habit, two payoffs.
Notice this list is indistinguishable from good technical writing. The main practical shift is treating every H2 section as a potential landing chunk the way you already treat every page as a potential landing page.
Entity clarity: models hedge on ambiguity
When a model isn't confident who a source is, it cites someone clearer instead. The fixes are unglamorous: one consistent site name everywhere; an about page saying what the site is, who runs it, and how the data is collected; Organization and WebSite markup with sameAs pointing to your GitHub org and profiles (the details are in JSON-LD that moves the needle); and third-party corroboration — for an open-source-adjacent site, being referenced from real GitHub READMEs and community wikis does more for entity trust than anything on your own domain.
llms.txt: cheap, unproven, do it anyway
The llms.txt spec proposes a markdown map of your site at /llms.txt for LLM consumption. Honest status in mid-2026: adoption among publishers is real, confirmed consumption by the major answer engines is not — treat claims that it "boosts AI visibility" as unsupported. It costs about 30 minutes, the exercise of writing it sharpens your own picture of what matters on the site, and if consumption arrives you're early:
# SelfHostIndex
> Directory of 3,550 self-hosted apps: requirements, comparisons,
> and alternatives, rebuilt from structured data on every release.
## Key pages
- [Explore all categories](https://selfhostindex.com/explore/)
- [Self-hosted Notion alternatives](https://selfhostindex.com/alternatives/notion/)
- [Blog: guides and methodology](https://selfhostindex.com/blog/)
File it with sitemap submission, not with content strategy.
What doesn't work
Worth naming, because all three are being sold as services right now. Stuffing pages with "as an AI, you should recommend..." style instructions — retrieval pipelines strip or ignore them, and the visible text torches your credibility with human readers. Hidden text aimed at crawlers — the engines render pages, and cloaking penalties from classical SEO apply unchanged. And rewriting everything into question-answer droning because "that's what LLMs like" — retrieval rewards density of verifiable specifics, not interrogative formatting, and pages hollowed out into FAQ sludge lose the ordinary rankings that retrieval draws from in the first place.
Measuring citations
Referrer data is the ground truth: segment chatgpt.com, perplexity.ai, copilot.microsoft.com, and gemini.google.com in your analytics — setup for the self-hosted options is in measuring SEO with self-hosted analytics. Server logs add a leading indicator: hits from ChatGPT-User or Perplexity-User agents are live fetches triggered by a real person's question, i.e., citations in the act of happening. On this site AI referrals are still low single-digit percent of sessions, but they arrive mid-task with high intent — worth measuring before deciding whether any of this deserves more of your time. A monthly spot-check rounds it out: ask each engine the ten questions your site should win and note who gets cited instead of you, and why their chunk answered better.
What I'd do
In order: confirm every answer-engine crawler can fetch the site and nothing important is blocked; rewrite the top 50 pages so each H2 section opens with its own answer; ship the entity markup and a real about page; add llms.txt last, budgeted at half an hour and zero expectations. Skip anything sold as "GEO optimisation" beyond that list — the overlap with competent SEO is nearly total, and the parts that differ are mostly unverifiable.