Web Claude can't read your site. Neither can ChatGPT, Perplexity, or the AI Overviews above Google's blue links. **AEO — Answer Engine Optimization** — is what makes them able to. (Some readers know this field as **GEO** — Generative Engine Optimization — or **LLMO**; same field, different name.) Start with the long essay, dip into the diagrams, read the platform doc when you want to know what's actually happening under the hood. Start here ## [Answer Engine Optimization](/aeo) AEO is the new SEO. Here's the complete picture — and why most sites are invisible to it. [Read the pillar →](/aeo) More reading [ ### AI Information — AgentSite Official information about AgentSite for AI assistants — basic facts, what we do, what's changed lately, where to go deeper. 4 min read ](/ai-information)[ ### Proposal — /agents.md, a unified entry point for AI agents A markdown file at /agents.md and /.well-known/agents.md that points an AI agent at everything it needs to orient on your site. Open for comment. 8 min read ](/agents-proposal)[ ### How to be quotable Layer 4 of the AEO model decides whether the agent that reached your page actually quotes it. Four moves separate quotable pages from readable ones — answer first, cite specifically, link out generously, link in cohesively. 5 min read ](/how-to-be-quotable)[ ### Heading structure The H1 → H2 → H3 hierarchy of a page. Engines use it to decompose long content into extractable chunks; skipped levels or section headers in plain divs break the decomposition. 2 min read ](/heading-structure)[ ### Schema-content fit The page declares the right schema.org @type for what it actually is, and every field value in the JSON-LD matches the visible body. Engines that parse both surfaces use the agreement as a confidence signal. 2 min read ](/schema-content-fit)[ ### Page title The <title> tag in the page head. Highest-weight head-tag signal for "what is this page" — generic or boilerplate titles lose every comparison against pages that name their topic. 2 min read ](/page-title)[ ### Outbound citations Inline links from your page to third-party authoritative sources. Engines treat their presence as credibility transfer — a page without them reads as opinion, regardless of how well-written the opinion is. 2 min read ](/outbound-citations)[ ### og:image The Open Graph image tag declares the visual a chat preview, social card, or AI summary attaches to your page. Missing one means the consumer renders a placeholder next to your name. 2 min read ](/og-image)[ ### Meta description The 1–2 sentence summary in <meta name="description"> that engines fall back to when on-page content isn't extractable. Unique per page, or every page reads as boilerplate. 2 min read ](/meta-description)[ ### Internal links Inline anchor links pointing at other pages on the same domain. The density of those links is the authority topology — an orphan page reads as weak even when its content is strong. 2 min read ](/internal-links)[ ### Hash routing Your SPA uses fragment URLs like /#/page. The fragment never reaches the server, so crawlers see one URL and one HTML body regardless of how many routes your app actually ships. 4 min read ](/hash-routing)[ ### H1 The page's primary visible heading. Body-side companion to the page title — extractors compare the two when deciding "what is this page" and treat a mismatch as ambiguity. 2 min read ](/h1)[ ### Unmeasured citation You can't tell whether AI engines quote your site because you don't measure it. The four other layers of AEO become faith-based exercises without the feedback signal from Layer 5. 5 min read ](/unmeasured-citation)[ ### Stale llms.txt Your /llms.txt was auto-generated from every URL on the site and never re-edited. The file became a sitemap dump and stopped doing the one thing the format exists for — curation. 4 min read ](/stale-llms-txt)[ ### Soft 404 Your server says "200 OK" while the body says "page not found." Crawlers cache the missing page as if it were real content, and your domain's quality signal drops as the cache accumulates. 4 min read ](/soft-404)[ ### Schema-content mismatch Your JSON-LD says one thing about the page and the visible HTML body says another. Engines that parse both surfaces detect the disagreement and distrust both. 4 min read ](/schema-content-mismatch)[ ### The AEO problems catalog Twelve ways a site silently stops getting cited by AI engines, grouped by which layer of the AEO stack breaks. Most sites have at least three of these right now and don't know it. 5 min read ](/aeo-problems)[ ### llms.txt adoption across 10 AI and dev-infrastructure sites A snapshot probe of llms.txt presence at the engine and platform operators most likely to ship it. Four of ten do. Two block our scanner. One returns its SPA shell. The convention is real but adoption is uneven. 5 min read ](/llms-txt-field-report-2026-05)[ ### Statistics and citations A statistic without a named source is dropped. A statistic with a named source gets quoted. 3 min read ](/statistics-citations)[ ### SSR-junk and bot walls Two ways a server-rendered site silently disappears from AI citations — and the curl recipe that finds either one in under a minute. 5 min read ](/ssr-junk-bot-wall)[ ### Robots Exclusion Protocol (robots.txt) The IETF-standard file at /robots.txt that tells crawlers which paths they may fetch — and where AEO sites get the training-vs-retrieval split wrong. 3 min read ](/robots-exclusion-protocol)[ ### What llms.txt is and what it's for A curated markdown index of the site, shaped to fit in an agent's context window — not a sitemap, not a robots.txt, not a training opt-out. 6 min read ](/llms-txt)[ ### What the GEO paper measured The first peer-reviewed controlled experiment of which content tactics move AI citations — what worked, what didn't, and what the per-tactic numbers actually say. 6 min read ](/geo-paper-tactics)[ ### FAQ schema JSON-LD that exposes a page's Q&A pairs as extractable structured data. Now AI-side load-bearing — Google deprecated the Search rich result in May 2026. 3 min read ](/faq-schema)[ ### Direct answer The 40-60 word paragraph at the top of a page that answer engines lift verbatim. 3 min read ](/direct-answer)[ ### Definition density How often a page defines its own terms — and whether an agent can lift those definitions verbatim into a "what is X" answer. 3 min read ](/definition-density)[ ### Content recency The visible date on a page is a freshness signal answer engines weight heavily — when it's missing, the page defaults to "stale" regardless of how fresh the content actually is. 2 min read ](/content-recency)[ ### Chunk size How long each paragraph should be so an agent can extract it as a self-contained unit — and why both walls of text and one-line fragments fail. 2 min read ](/chunk-size)[ ### What Vercel measured about AI crawlers The numbers from one month of monitoring — which bots show up, how often, and what they actually fetch. 4 min read ](/ai-crawler-traffic-data)[ ### agentsite for agents — quick-start Authenticate, find the spec, operate on a customer's site — without trial and error. ](/agent)[ ### Agent readability is the foundation of AEO The property that decides whether an AI engine can quote you. Mostly yes/no questions. Mostly silent failures. 8 min read ](/agent-readability)[ ### The Five Layers of AEO Render, navigate, structure, content, measure. Miss one and the next can't help you. 6 min read ](/five-layer-aeo)[ ### agentsite API — detailed reference The AgentSite API is an HTTP render service that returns a clean markdown representation of any client-rendered SPA, plus a detailed JSON-LD schema bundle, OpenGraph meta, and a screenshot. One endpoint — /render?url= — serves the rendered page; /bundle?url= returns the raw RenderBundle JSON. ](/docs)[ ### Installing agentsite Four shipped install patterns — pick by stack shape. ](/install)[ ### Platform Deep Dive Everything under the hood — and why it's there. ](/platform)[ ### AEO in Pictures The snippet, the cache, the response — and why every visitor gets the same HTML. 8 min read ](/aeo-in-pictures)[ ### Getting Started Quick start guide ](/getting-started)[ ### About Learn more about us ](/about) Cookies We use cookies to make this site work and to understand how it's used. [Learn more](https://www.cookiesandyou.com/) Decline Got it