Skip to main content
Jun 26, 2026 · 2 min

Make your site legible to a machine that answers

Before an AI can cite you, it has to read you. Server rendering, clean structure, and schema are the line between being quoted and being skipped.

Khoa

The reader changed; the oldest rule didn't. If you want a machine to quote you, the words have to actually be there when it looks. Most of GEO is downstream of that one sentence.

Render it in the HTML

The failure mode I see most: a beautiful site, built as a client-rendered single-page app, that ships an almost-empty HTML shell and paints the real content with JavaScript a moment later. A browser fills it in. An answer engine — and plenty of crawlers — often don't. They read the raw HTML, see a skeleton, and move on. You can't be cited for content the model never received.

The fix is boring and total: server-render (SSR) or statically generate (SSG) your pages, so the content is in the first response. View-source on your own site. If the article text isn't in there, that's the whole problem.

Structure it so a chunk can be lifted

Models cite passages, not pages. Make passages easy to take:

  • Real heading hierarchy — one H1, then H2/H3 that actually describe the sections.
  • Answer-first writing: state the conclusion, then explain. The first sentence under a heading should be the quotable one.
  • Lists and tables for anything comparative — they extract cleanly into an answer.

Mark it up — in the server HTML

Structured data (JSON-LD) tells the model what things are: an Article, a Person or Organization, a Product, an FAQ. Put it in the server-rendered HTML, not injected later by JavaScript — Google's own December 2025 guidance is explicit that JS-injected structured data and meta can be missed or delayed. And define the entity behind the site: a Person/Organization with sameAs links so the model knows who the source is.

The test

There's no mystery to checking this — it's all in the raw response. View-source, or paste your URL into the free AI-readiness checker: it flags whether your content is server-rendered, whether you have JSON-LD, and whether the basics (title, canonical, Open Graph) are present. Pass those and you've cleared the technical bar of GEO — what's left is earning the trust to actually get picked.