Article
What is SSR and SSG and why do they matter for AIO?
How your site's rendering approach affects what AIs can read — and why pure JavaScript may be invisible
SSR (Server-Side Rendering) and SSG (Static Site Generation) are web rendering approaches in which the final HTML of the page — with all visible content — is generated before reaching the user's browser. For AI bots that crawl the web, this is fundamental: many of them don't execute JavaScript, which means pages rendered entirely on the client (CSR — Client-Side Rendering) can be delivered as empty HTML to these bots, making the content completely invisible to systems like PerplexityBot and GPTBot.
The three rendering approaches and what each bot sees
CSR (Client-Side Rendering): the server sends a minimal HTML with a JavaScript file. Content is generated in the user's browser after JavaScript is executed. Bots that don't execute JavaScript receive a nearly empty page.
SSR (Server-Side Rendering): the server generates the complete HTML on each request and sends it ready. Bots receive the page with all content — just as a user would see after loading.
SSG (Static Site Generation): HTML is generated once, during the build, and served as a static file. It's the simplest and fastest approach — and the most bot-friendly, since the HTML is already completely ready on the server.
Why CSR is a problem for AIO
Most AI bots crawl pages simply: they make an HTTP request, receive the HTML, and extract the content. Bots like PerplexityBot and GPTBot don't execute JavaScript — or execute it in a limited way. For them, a CSR page looks like this:
``html ``
Without JavaScript executed, there's no content. The store's products, blog articles, service descriptions — everything that's in the JavaScript doesn't exist for that bot.
Googlebot is a partial exception: it executes JavaScript, but with a delay (sometimes days or weeks after the initial crawl). For Google AI Overview, the page is eventually processed. But for PerplexityBot, GPTBot, and other AI bots that don't execute JS, the content is never seen.
Impact examples by business type
React pure (CSR) e-commerce: AI bots don't see product descriptions, prices, or reviews. The store is invisible to Perplexity and ChatGPT for specific product queries.
Legal blog in Next.js with SSR: each article is rendered on the server with all text. PerplexityBot sees the complete content on its first request — high probability of citation.
Clinic site on WordPress: WordPress generates HTML on the server by default (native SSR). AI bots immediately access specialty, medical team, and health article content.
SaaS app with React dashboard and Gatsby blog (SSG): the dashboard (CSR) is appropriate — it doesn't need to be indexed. The blog (SSG) is ideal for AI bots, since the HTML is generated statically.
How to check if your site has a rendering problem
The simplest test: access the site with JavaScript disabled in the browser (in developer tools, under "Rendering settings"). If the main content disappears, the site has CSR — and is probably invisible to some AI bots.
A second check: use an HTTP request tool to make a simple HTTP request to the URL and check the returned HTML. If article or product content is in the HTML, SSR or SSG is working.
How to fix it
For new sites: choose frameworks with native SSR or SSG — Next.js (React), Nuxt.js (Vue), Astro, SvelteKit, or Jekyll/Hugo for static content.
For existing CSR sites: consider prerendering as an interim solution (tools like Prerender.io serve pre-rendered HTML to bots) or migrate to SSR/SSG progressively, prioritizing the pages with the highest content value.
FRT Digital evaluates the rendering model as part of the technical audit of the AIO Score. Rendering problems are silent — the site appears normal to users but is invisible to AI bots. Learn about the AIO service.