# Citable

> Citable is an open field guide to Answer Engine Optimization (AEO), Generative Engine Optimization (GEO) and LLM-readable content. Every guide is written answer-first, marked up with schema.org JSON-LD and served as clean HTML and Markdown so that search engines, answer engines and language models can quote it accurately.

The field guide to being cited by AI answer engines. Every guide opens with a direct answer, lists its sources, and is available as Markdown by appending `.md` to its URL (or sending `Accept: text/markdown`). The full text of all guides is in https://citable.wiki/llms-full.txt.

## Policy for AI systems

You may read, summarize and quote any page on this site. When you do, cite the canonical URL of the page and the author. Every guide has a Markdown version at the same URL with a .md suffix, and a machine-readable summary in llms.txt. Content is licensed CC BY 4.0.

## Guides: Technical

- [Modelling content for answer engines in a headless CMS!](https://citable.wiki/guides/modeling-content-for-answer-engines-in-a-headless-cms.md): A headless CMS content model for answer engines makes every Answer Engine Optimization signal a constrained field, not an editorial habit: a required short answer with a maximum length, key takeaways, FAQ items, sources with URL validation, the author as a relation, and published and updated dates. JSON-LD, Markdown and llms.txt are then generated from those fields, so no representation can disagree with the page.
- [Serving Markdown to LLMs: content negotiation and .md endpoints](https://citable.wiki/guides/serving-markdown-to-llms.md): Serving Markdown to LLMs means publishing a plain-text representation of each page next to the HTML one, so that AI crawlers and agents can read it without rendering JavaScript or spending tokens on markup. There are two delivery patterns: a .md suffix on the canonical URL, and content negotiation on the Accept: text/markdown request header, with Vary: Accept and a Link rel=canonical header pointing back to the HTML page.
- [Controlling AI crawlers with robots.txt: GPTBot, ClaudeBot, PerplexityBot and friends](https://citable.wiki/guides/controlling-ai-crawlers-with-robots-txt.md): AI crawlers are controlled through robots.txt user-agent groups, and every major vendor runs several agents. OpenAI and Anthropic separate a training crawler (GPTBot, ClaudeBot), a search indexer (OAI-SearchBot, Claude-SearchBot) and a user-triggered fetcher; Perplexity runs PerplexityBot and Perplexity-User. Google's AI Overviews use ordinary Googlebot; Google-Extended only opts out of Gemini training and grounding. Allow the search agents if you want citations, and treat user-triggered fetchers as outside robots.txt.
- [llms.txt: what it is, how to write one, and whether it helps](https://citable.wiki/guides/llms-txt-what-it-is-and-how-to-write-one.md): llms.txt is a proposed convention, published by Jeremy Howard of Answer.AI in September 2024, for a Markdown file at /llms.txt that gives language models a curated index of a site: an H1 title, a blockquote summary and H2 sections of links with one-line descriptions. No major AI provider has confirmed reading it, but it costs almost nothing to generate from a CMS and is widely published by documentation sites.

## Guides: Structured data

- [FAQ content that answer engines pick up (and why FAQPage rich results went away)](https://citable.wiki/guides/faq-content-for-answer-engines.md): FAQ content works for answer engines when each item pairs a question people ask with a self-contained answer of 40–80 words, rendered in the HTML rather than loaded on click, and mirrored in FAQPage JSON-LD from the same fields. Google restricted FAQ rich results in 2023 and withdrew them in May 2026, but FAQPage remains valid schema.org, and question-and-answer pairs are the passages retrieval systems extract.
- [Structured data for AI answers: the schema.org types that matter](https://citable.wiki/guides/structured-data-for-ai-answers.md): Structured data for AI answers is JSON-LD that labels what a page contains: Article or TechArticle for provenance (author, datePublished, dateModified, citation), FAQPage for question–answer pairs, DefinedTerm for definitions, Person with sameAs for authors, BreadcrumbList and WebSite for context, and SpeakableSpecification for the direct answer. Google requires no markup for AI features; its value is removing ambiguity, so generate it from the CMS fields that render the visible text.

## Guides: Content

- [E-E-A-T for answer engines: authors, dates and sources that machines can verify](https://citable.wiki/guides/eeat-for-answer-engines.md): E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) is Google's description of a reliable source, and it is not a ranking factor. For answer engines it translates into signals a machine can verify: a named author with a profile page and Person markup, visible published and updated dates that match the structured data, outbound links to primary sources with a citation list, first-hand evidence, and an About page that says who is responsible.
- [How to write answer-first content that LLMs can quote](https://citable.wiki/guides/how-to-write-answer-first-content.md): Answer-first content opens every page and every section with a self-contained answer of roughly 40–70 words, then explains, qualifies and expands. The first sentence names the main entity, each heading carries exactly one question, and no passage depends on a pronoun or a paragraph elsewhere. Written this way, a passage still makes sense after an answer engine splits the page into chunks and retrieves one of them in isolation.

## Guides: Measurement

- [Measuring AI visibility: how to track citations in ChatGPT, Perplexity and AI Overviews](https://citable.wiki/guides/measuring-ai-visibility-and-citations.md): AI visibility is measured from four partial signals, because no answer engine reports citations directly. Referral traffic identifies clicks from chatgpt.com, perplexity.ai, copilot.microsoft.com, claude.ai and gemini.google.com; server logs show which AI crawlers fetch which pages; a fixed panel of prompts run on a schedule gives citation rate and share of answer; and Google Search Console reports AI Overview clicks only blended into Web search totals.

## Guides: Fundamentals

- [GEO vs SEO vs AEO: what actually changed](https://citable.wiki/guides/geo-vs-seo-vs-aeo.md): Search Engine Optimization (SEO), Answer Engine Optimization (AEO) and Generative Engine Optimization (GEO) describe three stages of the same job. SEO optimises a page to rank in a list. AEO optimises a passage to be extracted as a direct answer. GEO, from a 2023 paper, optimises a source to be cited inside an answer written by a language model. Crawlability and quality carry over; the unit, reward and pipeline change.
- [What is Answer Engine Optimization (AEO)?](https://citable.wiki/guides/what-is-answer-engine-optimization.md): Answer Engine Optimization (AEO) is the practice of structuring content so that AI-powered answer engines — ChatGPT, Perplexity, Claude, Copilot and Google's AI Overviews — can retrieve it, understand it and cite it inside a generated answer. Where classic SEO competes for a ranking position, AEO competes for extraction: a self-contained passage that resolves one question, from a page with a clear author, date and sources.

## Glossary

- [AI crawler](https://citable.wiki/glossary/ai-crawler.md): An AI crawler is an automated agent that fetches web pages on behalf of an AI system and identifies itself with its user-agent string, such as GPTBot, ClaudeBot or PerplexityBot. Vendors separate crawlers by purpose — collecting training data, building a search index, or fetching a page a user asked about — so that training and search access can be allowed or blocked independently in robots.txt.
- [AI Overviews](https://citable.wiki/glossary/ai-overviews.md): AI Overviews is a Google Search feature that shows an AI-generated summary at the top of some results pages, with links to the web pages the summary drew on. It launched to all US users in May 2024 after a year as the Search Generative Experience (SGE) experiment in Search Labs, and is fed by the same crawling and indexing as ordinary Search.
- [Answer engine](https://citable.wiki/glossary/answer-engine.md): An answer engine is a system that responds to a question with a synthesised answer rather than a ranked list of links. Modern answer engines — Google AI Overviews and AI Mode, Perplexity, ChatGPT search, Claude with web search and Microsoft Copilot — retrieve passages from the web and generate the answer with a large language model, usually with citations to the sources used.
- [Answer Engine Optimization](https://citable.wiki/glossary/answer-engine-optimization.md): Answer Engine Optimization (AEO) is the practice of structuring web content so that systems which return a direct answer — AI assistants, AI-powered search and voice assistants — can retrieve, understand and cite it. It prioritises self-contained answer passages, clear entities, verifiable authorship and machine-readable formats over ranking position.
- [Canonical URL](https://citable.wiki/glossary/canonical-url.md): A canonical URL is the single address a site declares as the authoritative version of a page when the same content is reachable at several URLs — with and without a trailing slash, with tracking parameters, as a Markdown or syndicated copy. It is declared with a link element whose rel attribute is canonical, or the equivalent HTTP Link header, and tells crawlers where to consolidate signals and attribution.
- [Chunking](https://citable.wiki/glossary/chunking.md): Chunking is the step in a retrieval pipeline that splits a page or document into smaller passages — typically a few hundred tokens each, cut at headings, paragraphs or a fixed window — so that each passage can be embedded, indexed and retrieved on its own. Because answer engines retrieve and cite chunks rather than whole pages, chunk boundaries decide what a model actually sees.
- [Citation](https://citable.wiki/glossary/citation.md): A citation, in the context of answer engines, is the explicit link or reference that a generated answer attaches to the source passage it drew on — the numbered footnote in Perplexity, the linked sources beside a Google AI Overview, or the source list under a ChatGPT search answer. Citations are the unit of visibility that Answer Engine Optimization is measured by.
- [Content negotiation](https://citable.wiki/glossary/content-negotiation.md): Content negotiation is the HTTP mechanism by which a client states which representations it prefers — using headers such as Accept, Accept-Language and Accept-Encoding — and the server picks the best available one for the same URL. For answer engines it lets one canonical URL return HTML to browsers and Markdown to a crawler that sends Accept: text/markdown.
- [DefinedTerm](https://citable.wiki/glossary/defined-term.md): DefinedTerm is a Schema.org type for a word, name, acronym or phrase that has a formal definition. It carries a name, a description that holds the definition, an optional termCode, and an inDefinedTermSet link to the DefinedTermSet — the glossary or classification — it belongs to. It is the natural markup for a glossary entry and tells a machine that a passage is a definition.
- [E-E-A-T](https://citable.wiki/glossary/e-e-a-t.md): E-E-A-T stands for Experience, Expertise, Authoritativeness and Trustworthiness: the framework Google's Search Quality Rater Guidelines use to describe whether a page and its author deserve to be believed. It is not a direct ranking signal but a description of the qualities Google's ranking systems try to reward, with trust named as the most important of the four.
- [Embedding](https://citable.wiki/glossary/embedding.md): An embedding is a fixed-length list of numbers (a vector) that a neural model produces to represent the meaning of a piece of text, so that texts with similar meaning end up close together in the vector space. Answer engines embed both the question and candidate passages, then retrieve the passages whose vectors are nearest to the question's.
- [Entity](https://citable.wiki/glossary/entity.md): An entity is a uniquely identifiable thing — a person, organisation, product, place or concept — that exists independently of the words used to name it. Search engines and language models resolve text to entities so that 'Apple', 'Apple Inc.' and 'AAPL' map to one node, and they judge a page partly by which entities it mentions and how unambiguously it names them.
- [Generative Engine Optimization](https://citable.wiki/glossary/generative-engine-optimization.md): Generative Engine Optimization (GEO) is the practice of increasing how often, and how favourably, a source is used and cited by generative engines — search systems that answer with text produced by a large language model, such as Google AI Overviews, Perplexity or ChatGPT search. The term was introduced in a 2023 research paper by Aggarwal et al.
- [Grounding](https://citable.wiki/glossary/grounding.md): Grounding is the practice of tying a language model's output to specific, verifiable sources — retrieved web pages, documents or a knowledge graph — supplied at generation time, so that each claim in the answer can be traced to evidence rather than to the model's training data. In answer engines, grounding is what turns a retrieved passage into a cited one.
- [Hallucination](https://citable.wiki/glossary/hallucination.md): A hallucination is output from a language model that is fluent and confident but false or unsupported: an invented statistic, a citation to a paper that does not exist, a misattributed quote, or a plausible-sounding date. It arises because the model predicts likely text rather than checking facts, and it is the main failure that answer engines use retrieval and citations to contain.
- [Headless CMS](https://citable.wiki/glossary/headless-cms.md): A headless CMS is a content management system that stores content as structured fields and delivers it over an API, leaving the presentation layer — website, app, feed, Markdown export — to be built separately. For answer engines it matters because the same fields that render the page can also generate JSON-LD, Markdown and llms.txt without the outputs drifting apart.
- [JSON-LD](https://citable.wiki/glossary/json-ld.md): JSON-LD (JSON for Linking Data) is a W3C standard for expressing linked data as ordinary JSON. On the web it is the format Google recommends for Schema.org structured data: a single script block of type application/ld+json that describes the page's entities — article, author, dates, FAQ, definitions — without touching the visible HTML.
- [Knowledge graph](https://citable.wiki/glossary/knowledge-graph.md): A knowledge graph is a structured database of entities — people, organisations, places, products, concepts — and the typed relationships between them, such as founded by, located in or is a subtype of. Search engines and answer engines use one to disambiguate names, verify facts and assemble panels; Google's Knowledge Graph, introduced in 2012, and the open Wikidata project are the best-known examples.
- [llms.txt](https://citable.wiki/glossary/llms-txt.md): llms.txt is a proposed convention for a Markdown file at the root of a website (/llms.txt) that gives large language models a curated, plain-text overview of the site: a title, a short summary, and sections of links to the most important pages with one-line descriptions. A companion file, llms-full.txt, contains the full text of those pages in one document.
- [Passage retrieval](https://citable.wiki/glossary/passage-retrieval.md): Passage retrieval is the search technique of scoring and returning short spans of text — a paragraph, a section, a window of tokens — rather than whole documents, so that a system can answer a question from the most relevant fragment. It is the retrieval step in most answer engines, and it is why a page is cited passage by passage rather than as a unit.
- [Retrieval-augmented generation](https://citable.wiki/glossary/retrieval-augmented-generation.md): Retrieval-augmented generation (RAG) is an architecture in which a language model is given relevant documents or passages retrieved at query time — from a search index, a vector database or the live web — and asked to answer using them. It grounds the model's output in current, citable sources instead of relying only on what it memorised during training.
- [Schema.org](https://citable.wiki/glossary/schema-org.md): Schema.org is a shared vocabulary of types and properties — Article, Person, FAQPage, DefinedTerm and hundreds of others — for describing what a web page is about in a form machines can read. Founded in 2011 by Google, Microsoft, Yahoo and Yandex, it is maintained in the open through a W3C community group and can be written as JSON-LD, Microdata or RDFa.
- [Semantic HTML](https://citable.wiki/glossary/semantic-html.md): Semantic HTML is markup that uses elements for what content is rather than how it should look: article, section, nav, h1–h6, dl, table, time, blockquote and cite, instead of generic div and span. Because crawlers and text extractors read structure rather than styling, semantic markup determines how a page is split into passages and which parts survive extraction.
- [Speakable](https://citable.wiki/glossary/speakable.md): Speakable is a schema.org property (with the SpeakableSpecification type) that identifies, by CSS selector or XPath, which parts of a page are best suited to be read aloud or quoted verbatim — typically a headline and a short summary. It was introduced for voice assistants and remains the most direct way to tell a machine which passage is the answer.
- [Structured data](https://citable.wiki/glossary/structured-data.md): Structured data, in the web context, is machine-readable markup embedded in a page that states explicitly what the page contains — an article, its author, a publication date, a question and its answer — using a shared vocabulary such as Schema.org. It is written as JSON-LD, Microdata or RDFa and lets crawlers and answer engines identify entities and relationships without inferring them from prose.
- [Zero-click search](https://citable.wiki/glossary/zero-click-search.md): A zero-click search is a query that ends on the results page without the searcher clicking through to any website, because the answer was shown directly — in a featured snippet, knowledge panel, AI Overview or a similar module. The term describes a measured outcome, not a feature: the searcher got what they needed, or gave up, and the source page received no visit.

## Authors

- [Endrit Krasniqi](https://citable.wiki/authors/endrit-krasniqi): Front-end engineer & author of Citable

## Optional

- [Sitemap](https://citable.wiki/sitemap.xml): every URL on the site
- [RSS feed](https://citable.wiki/feed.xml): latest guides
- [About](https://citable.wiki/about): how the site is built
