AEO Headless Hosting — Do's & Don'ts

The same article, hosted two ways. One is invisible to AI answer engines. One is configured so AEO actually works. Open each page, then run npm run crawl to see what an AI crawler reads from the raw server response.

Don't

/without-aeo

Client-side rendered. Content + schema arrive after hydration via a browser fetch. The initial HTML is an empty shell — crawlers see nothing.

Do

/with-aeo

SSR + ISR. Content and JSON-LD (Article, FAQ, HowTo, Speakable) are in the server response, with a deliberate per-route TTL.

What this demonstrates

Prove it

With the dev server running, the crawler check fetches both pages exactly as a bot would (raw HTML, no JS execution) and reports whether the content and structured data are actually present:

npm run crawl