Server-side rendering matters for AI crawlers because most of them fetch a page's raw HTML once and do not execute JavaScript — a client-rendered page returns an empty shell on that fetch, so the answer text is invisible to the crawler even when the site works perfectly for a browser.
Googlebot is the outlier: Google's JavaScript SEO documentation describes a two-pass render pipeline that eventually executes JavaScript. Even there, Google recommends server-side rendering, static rendering, or hydration for pages whose primary content depends on JavaScript, and warns that rendering can be delayed.
The other major AI crawlers — OpenAI's GPTBot and OAI-SearchBot, Anthropic's ClaudeBot, and Perplexity's PerplexityBot — are documented as HTML fetchers. None of the current public docs describe a full JavaScript-rendering pipeline like Googlebot's.
Practical translation: for any page you want cited, ensure the answer text, headings, and JSON-LD are present in the HTML returned by curl. Frameworks like Next.js, Astro, TanStack Start, and Nuxt make this the default when configured for SSR or static generation. Client-only React or Vue apps must add SSR/SSG for the pages that carry AEO content.
Test cheaply: curl -A "GPTBot" https://your-page and confirm the answer sentence appears in the returned HTML. If it does not, no amount of schema will help.