Server-Side Rendering (SSR): Why AI Crawlers Might Be Seeing a Blank Page


Key takeaways
|
Here's a frustrating pattern. A company has solid content and ranks well in Google. But when you ask ChatGPT or Claude about the topics it covers, the company never shows up, and when it does, the description is thin.
Sometimes the reason has nothing to do with the content. It's how the content is delivered. If the page is built in the browser with JavaScript, the HTML that arrives first is nearly empty. Google waits, runs the scripts and sees the full page. Some AI crawlers don't wait. They read the empty version and move on.
That's a fixable problem, and it's one of the highest-leverage technical checks you can run for AI visibility.
What is server-side rendering?
Server-side rendering (SSR) is a way of building web pages in which the server sends complete HTML, with the content already in it, to the browser or crawler. Client-side rendering, by contrast, sends a mostly empty page and builds the content with JavaScript in the browser. Because many AI crawlers don't execute JavaScript, server-rendered content is more reliably seen and cited. |
The rendering ladder
Approach | How it works | What crawlers see |
Client-side rendering (CSR) | Browser builds the page with JavaScript | A nearly empty shell, unless the crawler runs JavaScript |
Server-side rendering (SSR) | Server builds the HTML for each request | Full content immediately |
Static generation (SSG) | Pages built ahead of time as HTML files | Full content immediately |
Hybrid | Key content server-rendered, interactivity added in the browser | Full content, if the important parts are on the server side |
For humans, the difference is usually invisible. For crawlers, it can be the difference between reading your page and reading nothing. The goal isn't to abandon JavaScript. It's to make sure the content that matters is in the HTML before any script runs.
Which crawlers render JavaScript?
This is where most teams get surprised. Google's crawler renders JavaScript, though rendering can lag behind crawling. Many AI crawlers don't.
A 2024 analysis by Vercel and MERJ of crawler traffic across Vercel's network found that OpenAI's and Anthropic's crawlers fetched JavaScript files but didn't execute them. In practice, that means they saw the server-sent HTML and nothing that scripts added afterward.
Crawler | Renders JavaScript? | Notes |
Googlebot | Yes | Rendering can be delayed after crawling |
OpenAI's crawlers | Not observed in the Vercel/MERJ analysis | Fetched JS files without executing them |
Anthropic's crawlers | Not observed in the Vercel/MERJ analysis | Fetched JS files without executing them |
Others | Varies | Check each provider's current documentation |
Crawler behavior changes, so treat this as a snapshot and check current documentation. The safe assumption is simple: if content only appears after JavaScript runs, some AI systems may never see it. AI crawlers, GPTBot and ClaudeBot cover the main bots.
The 60-second view-source test
Open a key page in your browser. Pick a page you'd want AI to cite.
View source, not inspect element. Right-click and choose View Page Source. Inspect element shows the page after scripts run, which isn't what non-rendering crawlers see.
Search for a sentence from your main content. Use a line from the middle of the page.
Check the hidden parts. Search for an FAQ answer, a pricing figure and a tab's contents.
Repeat with JavaScript disabled in your browser settings for a visual check.
If the sentences are there, you're in good shape. If they're missing, that content is rendered client-side, and some AI crawlers likely can't read it. For a deeper look, check your server logs to see which AI bots visit and what they request. See AI crawler server log analysis.
What usually goes missing
FAQ answers inside accordions that load on click.
Tab content on product and pricing pages.
Pricing tables built by JavaScript widgets.
Reviews and testimonials loaded from third-party embeds.
Content loaded on scroll or behind "read more" buttons.
Single-page app content where the whole site is a JavaScript application.
Ironically, these are often the most citable parts of a page: direct answers, specific numbers and proof. That's why rendering problems can quietly drag down AI citations even on otherwise strong sites.
How to fix client-side rendering
Render content pages on the server
Modern frameworks such as Next.js, Nuxt, Astro and SvelteKit support server-side rendering or static generation. Use them for content, documentation and marketing pages.
Keep collapsed content in the HTML
Accordions and tabs are fine as long as the content is in the HTML and simply hidden visually. FAQ schema for AI search covers the markup side.
Put critical facts in plain text
Pricing ranges, features, integrations and company facts shouldn't depend on scripts. That also helps agentic search tools that read your site on a buyer's behalf.
Check your CMS and embeds
Hosted builders like Wix and Webflow serve rendered HTML for most content, but third-party widgets and custom code may not. See CMS for AI visibility.
Does rendering really affect AI citations?
It can, in a straightforward way: content a crawler can't read can't be retrieved, and content that isn't retrieved can't be cited. It's one hidden cause of ranking but not cited, because Google, which renders JavaScript, can rank a page that non-rendering AI crawlers barely see.
Missing content also leaves gaps that models fill with guesses. That's one route to AI hallucinations about your brand.
SSR in the Engine Optimization Matrix™
Rendering belongs in the Distribution column of the Engine Optimization Matrix™, especially the GEO and LLMO rows: making sure the crawlers that feed generative engines and language models can actually read your pages. It's a prerequisite for every content lever in those rows.
Related reading: robots.txt for AI crawlers, bad bots vs good bots, what is an XML sitemap and what is RAG.
Most teams still run SEO like it's 2019 and wonder why the traffic chart and the pipeline chart stopped agreeing. The Demand Doctrine™ for AI SEO covers what still works, what's dead and what to do Monday morning. Out November 18. Want all four engines? Mastering AI Visibility.
Frequently asked questions
What is server-side rendering?
Server-side rendering is when the server sends complete HTML with the content already in it, rather than building the page in the browser with JavaScript.
Do AI crawlers execute JavaScript?
Many don't. A 2024 analysis by Vercel and MERJ found OpenAI's and Anthropic's crawlers fetched JavaScript files without executing them. Check current documentation, since behavior can change.
Does Google render JavaScript?
Yes. Googlebot renders JavaScript, though rendering can be delayed compared with crawling plain HTML.
How do I check if my content is server-rendered?
Use View Page Source, not inspect element, and search for sentences from your main content. If they're missing, the content is rendered client-side.
Can client-side rendering hurt AI visibility?
Yes. If AI crawlers can't read the content, it can't be retrieved or cited in AI answers.
Which frameworks support server-side rendering?
Next.js, Nuxt, Astro, SvelteKit and many others support server-side rendering or static generation.
Are FAQ accordions a problem for AI crawlers?
Only if the answers load on click. If the answers are in the page's HTML and just visually hidden, crawlers can read them.
Do Wix sites have rendering problems for AI crawlers?
Most Wix content is served as rendered HTML, but third-party widgets and custom code may load with JavaScript. Test key pages to be sure.
About the author. Harold Bell is the founder of MQL Magnet and has spent about 16 years in enterprise technology marketing, working with brands like Cisco, Rubrik and Nutanix in different capacities. He's a member of the Forbes Communications Council, the creator of the Engine Optimization Matrix™ and the author of Partner Over Product. |



