SPA and React sites: can AI crawlers read your content?
Single-page apps can look empty to AI crawlers that do not run JavaScript. How to test your React or Vue site, and what to change first.
If your site is a single-page app — React, Vue, or any framework that builds the page in the browser — there is a real chance AI assistants see almost none of it. Google has learned to cope with JavaScript; the newer AI crawlers largely have not. Here is what actually happens, how to test your own site, and what to change.
What AI crawlers do with JavaScript
Vercel published a crawler study reporting that none of the major AI crawlers in its tests rendered JavaScript, which means they can't read client-side rendered content1. The same study noted that the ChatGPT and Claude crawlers spend significant time on JavaScript files (11.50% for ChatGPT, 23.84% for Claude) despite not executing them1. In other words: the crawler downloads your bundle, but never runs it. If your product descriptions, comparisons, and pricing exist only after the JavaScript runs, those pages are close to empty for an AI crawler.
Google is the exception, with limits
Google documents that it processes JavaScript web apps in three main phases, and that when its resources free up, a headless Chromium loads the page and runs its scripts2. So Google can read a client-rendered page — but rendering is queued, not immediate: every page that returns a 200 HTTP status code goes into the rendering queue, whether or not it uses JavaScript2. And the limit is absolute: "If the content isn't visible in the rendered HTML, Google won't be able to index it"2. A site that relies on Google's renderer is still close to empty for the AI crawlers in Vercel's tests1.
Test your own site in two minutes
- Open a key page, then view the page source — not the browser inspector, the raw source. Is your actual text there, or a nearly empty div and a script tag?
- Fetch the page with a command-line tool that does not run JavaScript, and search the output for a sentence from the page.
- Check your robots.txt while you are at it: OpenAI recommends allowing OAI-SearchBot in your robots.txt file to help ensure your site appears in search results3.
If your text is missing from the raw HTML, AI crawlers are reading a shell.
What to change
You do not need to abandon your framework. Vercel's own recommendation is direct: "ChatGPT and Claude don't execute JavaScript, so any important content should be server-rendered"1. Server-side rendering, static generation, or pre-rendering for your marketing and documentation pages puts the words back into the HTML; the interactive parts of your app can stay client-side. Start with the pages that state what you do and what it costs — those are the pages AI answers draw on.
OLAB Assist runs this check on your site every day, with evidence and, where needed, the exact code, alongside the rest of its technical checks. No install required.
See what AI can read on your site
Start on the free plan, one site for 7 days with no card needed, or try any paid plan free for 7 days. The first check runs as soon as you add your site.
Was this post useful?
Sources
Every figure in this post comes from the sources below. The date shows when we last checked each one.
- 1
- 2
- 3
Something wrong in this post?
We check every post for accuracy and general standards before it goes live. If we missed something, or you think this post infringes your rights or your brand's, tell us: we will review it and take it down if needed.