1. Home
  2. Blog

Can Google and AI assistants read a site built with AI tools?

On this page
  1. What does a crawler get when it asks for your page?
  2. Which crawlers run JavaScript?
  3. Doesn't Google render JavaScript anyway?
  4. How common is the problem on new SaaS sites?
  5. How do you test your own site?
  6. How do you fix a client rendered site?
  7. What will not fix it?
  8. What else can stop a page being read?
  9. What should you do next?
  10. Questions
  11. Sources

Usually, yes. In our check of 313 new SaaS websites, 284 (90.7%) sent a home page that a crawler could read without running JavaScript. The risk is in one kind of build. Among sites set up as Vite single page apps, one in three sent an empty page, and the published evidence says AI crawlers don't run the scripts that would fill it.

Key facts

  • 29 of 313 new SaaS home pages (9.3%) had fewer than 50 readable words without JavaScript, in a check we ran on 28 September 20261.
  • 18 of 54 sites with the markers of a Vite single page app (33.3%) sent an empty home page. For Next.js sites it was 1 of 134 (0.7%)1.
  • Vercel and MERJ reported in December 2024 that none of the major AI crawlers rendered JavaScript, across OpenAI, Anthropic, Meta, ByteDance, and Perplexity2.
  • Anthropic's developer documentation states that the Claude web fetch tool does not support pages rendered with JavaScript4.
  • Google renders JavaScript, in a queue, and still recommends server side rendering or pre-rendering3.
  • Googlebot fetches up to 2MB of any single URL and ignores the rest, according to a Google post from March 20268.

What does a crawler get when it asks for your page?

It gets whatever your server sends first. For some sites that is the finished page. For others it is a near-empty file with a link to a script.

A site that sends the finished page is server rendered or pre-rendered. The words are in the HTML before anything runs. A site that sends the empty file is client rendered, and the visitor's browser builds the page by running the script.

People never see the difference, because browsers run scripts. Crawlers vary. Some run scripts and some read only what arrived.

Which crawlers run JavaScript?

Google's do. The AI crawlers that have been tested don't.

CrawlerRuns JavaScript?Evidence
GooglebotYes, in a render queueGoogle documentation3
Gemini's crawlerYes, according to Google's Martin SplittReported interview, May 20256
OpenAI: GPTBot, OAI-SearchBot, ChatGPT-UserNo rendering observedVercel and MERJ, December 20242
Anthropic: ClaudeBotNo rendering observedVercel and MERJ, December 20242
Claude web fetch toolNoAnthropic documentation4
PerplexityBotNo rendering observedVercel and MERJ, December 20242
ApplebotYesVercel and MERJ, December 20242

OpenAI, Anthropic, and Perplexity each publish a page describing their crawlers91011. None of the three pages says its crawlers run JavaScript.

The Vercel and MERJ study is the broadest one we found, and it dates from December 2024. Vercel sells hosting for server rendered sites, so it has an interest in the result. Two later findings point the same way.

In August 2025 the consultant Glenn Gabe tested a client's fully client rendered site in each AI platform. He reported that such a site "would look blank to ChatGPT, Perplexity, and Claude", while Google and Bing could render it5. That was one site.

Anthropic's own documentation is the plainest statement available. The web fetch tool "currently does not support websites dynamically rendered with JavaScript"4.

That describes the tool developers use. It supports the finding for Anthropic's crawlers without speaking for every one of them.

In the Vercel and MERJ study, the ChatGPT and Claude crawlers did download JavaScript files. JavaScript files made up 11.50% of ChatGPT's requests and 23.84% of Claude's. The crawlers fetched the files without running them2.

Doesn't Google render JavaScript anyway?

It does, with a delay. Google processes JavaScript pages in three phases: crawling, rendering, and indexing. Pages wait in a queue for rendering, which Google says may take a few seconds "but it can take longer than that"3.

Google gives no upper limit for that wait, so we won't guess one. Google does say that server side rendering or pre-rendering "is still a great idea because it makes your website faster for users and crawlers, and not all bots can run JavaScript"3.

So a client rendered site can appear in Google and still be blank to an AI assistant.

How common is the problem on new SaaS sites?

Less common than we expected. 29 of 313 home pages (9.3%) had fewer than 50 readable words, and 26 of those had none.

The build made the difference.

Build marker found in the HTMLSitesUnder 50 readable wordsShare
Next.js13410.7%
Vite single page app541833.3%
Astro2414.2%
WordPress1300.0%
Nuxt1100.0%
No Vite marker (all other sites)259114.2%

Two in three of the Vite single page apps did send a readable page, so the cause is the set-up and Vite itself is fine.

A single page app is a sound choice for the product itself, where every user is logged in and no crawler needs to read anything. The trouble starts when the marketing pages are built the same way, inside the same project.

The full figures are in our check of 313 new SaaS websites.

How do you test your own site?

Three tests, in order of effort. The first takes under a minute.

  1. View the source. Open your home page, right click, and choose "View page source". Search for a sentence you can see on the page, such as your headline. If it is missing from the source, the page is client rendered.
  2. Fetch it from the command line. This asks for the page the way a simple crawler does and counts how often a phrase appears.

    curl -s https://yoursite.com | grep -c "a phrase from your headline"

    A result of 0 means the phrase was not in the HTML.

  3. Turn JavaScript off. In your browser's developer tools, disable JavaScript and reload. What you see is close to what a crawler that doesn't run scripts will get.

Repeat the test on your pricing page and one article. A home page can pass while the pages behind it fail.

For Google alone, the URL Inspection tool in Search Console shows the page as Google rendered it. It tells you nothing about other crawlers.

How do you fix a client rendered site?

Get the words into the HTML before any script runs. There are three ways to do it, and the right one depends on how the site is built.

ApproachWhat it meansSuits
Pre-render the marketing pagesThe pages are built into finished HTML when you deploySites where the marketing pages change only when you publish
Server side renderingThe server builds the HTML for each requestPages that change per visitor or very often
Separate the marketing siteMarketing pages live in their own static site, the app stays a single page appProducts where the app and the website are tangled together

For a new SaaS product the first or third is usually enough. Your home page, pricing page, and articles are the same for every visitor, so there is no reason to build them in the browser.

Google names one approach to avoid. Dynamic rendering means serving crawlers a rendered version and visitors the script version. Google calls it "a workaround and not a recommended solution"7.

What will not fix it?

Anything that sits around the content without putting the content in the HTML.

Of the 29 sites that sent an empty home page, 27 had a meta description, 19 had a sitemap, 13 had structured data, and 6 had an llms.txt file1. None of those gives a crawler the words on the page.

A sitemap tells a crawler the page exists. A meta description gives it one sentence. The crawler still arrives at a blank file.

What else can stop a page being read?

Two smaller limits are worth a check once rendering is sorted.

Page weight. Googlebot fetches up to 2MB of any individual URL, excluding PDFs, and ignores what comes after8. Google says most pages never reach that. Pages with large scripts, styles, or images written directly into the HTML can.

Dead addresses. In the Vercel and MERJ data, about a third of fetches by the ChatGPT and Claude crawlers landed on pages that returned a 404 error: 34.82% for ChatGPT and 34.16% for Claude2. That is late 2024 data from one network. Keep your URLs stable, and redirect the old address whenever you move a page.

What should you do next?

Run the view source test on three pages today. If your headline is in the source, your site can be read, and the work that remains is on the pages themselves. How AI assistants choose which products to recommend covers what the evidence says about that.

If the headline is missing, fix rendering before anything else on your list. What to fix on your SaaS website in the first week after launch puts it on day one for that reason.

Questions

Do AI crawlers run JavaScript?

The published evidence says no. Vercel and MERJ reported in December 2024 that none of the major AI crawlers rendered JavaScript, and Anthropic's documentation says its web fetch tool does not support JavaScript rendered pages.

Does Google run JavaScript?

Yes. Googlebot renders pages with a version of Chromium, after a wait in a render queue. Google still recommends server side rendering or pre-rendering.

How can I tell if my site is client rendered?

View the page source and search for a sentence you can see on the page. If the sentence is not in the source, the page is built in the browser.

No. Two in three of the Vite single page apps we checked sent a readable page. The problem is rendering marketing pages in the browser only, which is a set-up choice.

Will a sitemap or llms.txt fix a client rendered site?

No. 19 of the 29 empty home pages we found had a sitemap and 6 had an llms.txt file. Neither puts the page content into the HTML.

Should the app be server rendered too?

It doesn't need to be for search. Pages behind a login are not crawled. Only the public pages need to arrive as finished HTML.

Sources

  1. SaaS GTM, site check of 313 newly launched SaaS websites, 28 September 2026. Own data. Method and totals.
  2. Vercel and MERJ, "The rise of the AI crawler", 17 December 2024. https://vercel.com/blog/the-rise-of-the-ai-crawler
  3. Google Search Central, "Understand the JavaScript SEO basics", updated 4 March 2026. https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
  4. Anthropic, Claude developer documentation, "Web fetch tool". https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-fetch-tool
  5. GSQi (Glenn Gabe), "AI Search and JavaScript Rendering", 11 August 2025. https://www.gsqi.com/marketing-blog/ai-search-javascript-rendering/
  6. Search Engine Roundtable, "Google's AI Crawler For Gemini, Google-Extended, Does Render JavaScript", 5 May 2025. https://www.seroundtable.com/googles-ai-crawler-renders-javascript-39353.html
  7. Google Search Central, "Dynamic rendering as a workaround", updated 10 December 2025. https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering
  8. Google Search Central Blog, "Inside Googlebot: demystifying crawling, fetching, and the bytes we process", 31 March 2026. https://developers.google.com/search/blog/2026/03/crawler-blog-post
  9. OpenAI, "Overview of OpenAI Crawlers". https://developers.openai.com/api/docs/bots
  10. Anthropic, "Does Anthropic crawl data from the web, and how can site owners block the crawler?", 7 April 2026. https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler
  11. Perplexity, "Perplexity Crawlers". https://docs.perplexity.ai/guides/bots

Want this done for you?

We run the marketing website for newly launched SaaS products: four articles a month, technical fixes, daily checks, and AI visibility tracking. From £149 a month.

Apply for a founding place

Newsletter

Search and AI visibility for SaaS founders, by email.

What changed, what the evidence says, and what to do about it on your own site. Every number comes with its source.

Sent by SaaS GTM through Kit. Unsubscribe with one click in any email.