What AI crawlers actually see
GPTBot, ClaudeBot, PerplexityBot, and Google-Extended (the AI training and citation crawlers) request HTML and largely do not execute JavaScript. Pages that depend on client-side rendering to populate content appear empty to these crawlers, which means the content is invisible for AI training and citation.
Google's AI Overview ingestion does render JavaScript (it uses the same rendering pipeline as Googlebot), but the rendering is queued and inconsistent. Server-rendered HTML is reliably indexed; client-rendered content is sometimes indexed and sometimes not.
CMSes that are structurally well-suited
WordPress (still the largest share of well-ranked sites in AI citations), Webflow (native server rendering, clean HTML), Astro (server-first with islands architecture), Next.js or Remix configured for SSR/SSG, Hugo and Eleventy (static site generators). These all produce HTML the AI crawlers can read on first request.
Headless setups (Sanity, Contentful, Strapi) work well when paired with a server-rendering frontend (Next.js, Astro). They work poorly when paired with a pure client-side React or Vue frontend.
What actually moves the needle (regardless of CMS)
Structured data (FAQPage, Article, Organization, Person schema), clear authorship with credentialed bio pages, content structured with question-as-heading patterns, fast page performance, and ranking in conventional Google and Bing search. These are all achievable in any modern CMS — the platform choice is far less important than the editorial and technical execution.