Astor Ventures

Home › Guides › AI search

Free guide · AI search

Can ChatGPT, Claude and Perplexity read JavaScript websites?

Last updated October 24, 2026 · Crawler facts checked October 24, 2026 against the vendors’ own documentation (sources below)

Quick answer

Mostly not. In Vercel’s December 2024 analysis of crawler traffic, OpenAI’s crawlers (OAI-SearchBot, ChatGPT-User, GPTBot), Anthropic’s ClaudeBot, PerplexityBot, Meta’s crawler and ByteDance’s Bytespider did not render JavaScript. Google’s Gemini uses Googlebot’s infrastructure, which does. If your text, prices or product details only appear after JavaScript runs, most AI crawlers see an almost empty page.

Who renders JavaScript

CrawlerRuns JavaScript?Source
OAI-SearchBot, ChatGPT-User, GPTBot (OpenAI)No, in Vercel’s analysisVercel, Dec 2024
ClaudeBot (Anthropic)No, in Vercel’s analysisVercel, Dec 2024
PerplexityBotNo, in Vercel’s analysisVercel, Dec 2024
Googlebot (Search, AI Overviews; Gemini uses the same infrastructure)Yes, rendering may happen after the first crawlGoogle, JavaScript SEO basics

Crawlers change. The Vercel figures are from late 2024; they are the most detailed public measurement we know of, not a permanent rule.

How to check your own pages

  1. View page source (Ctrl+U or Cmd+Option+U). If you see your headline and main paragraphs, crawlers can too. If you mostly see <script> tags and an empty <div id="root"> or <div id="app">, they cannot.
  2. Count the words without JavaScript:
    curl -s https://yourbusiness.com/ | sed -e 's/<[^>]*>/ /g' | wc -w
    This is rough (it counts script text too); the free checker strips scripts and styles first.
  3. Turn JavaScript off in your browser’s site settings and reload the page.
  4. Run the free checker: it reports words in the raw HTML, words inside <main>, and app-shell markers.

How to fix it

  • Use server-side rendering or static generation for pages that matter (Next.js, Nuxt, SvelteKit, Astro and others support it).
  • If you cannot change the framework, pre-render key pages to static HTML.
  • At minimum, put the essentials in the HTML: what you sell, prices, location or service area, contact details, and answers to the top questions.
  • Keep structured data (JSON-LD) in the initial HTML, not injected later by a tag manager.

What we found on three live sites

Site (home page)ScoreWhat the checker found
astorventuresllc.com98/100All 16 crawlers allowed; 3,664 words in the raw HTML. Small gaps: a 253-character meta description and no sameAs profile links in the schema.
hohocam.com94/100All 16 crawlers allowed; 2,165 words in the raw HTML; Product, Offer, FAQPage and VideoObject schema. Gaps: no <main> element and no published or updated date in the schema.
kemuva.com87/100All 16 crawlers allowed; 2,809 words in the raw HTML. Gaps: only Organization and WebSite schema on the home page, one question-style heading, no <main> element, no dates in the schema, and a 193-character meta description.

Checked October 24, 2026 with the free checker below, from one IP address. All three sites already let AI crawlers in, so their gaps are about structure, not access. A test page we built as a JavaScript app shell (empty <div id="root">, GPTBot blocked in robots.txt) scored 45/100 with the same checks.

Want a second pair of eyes? The AI visibility audit checks 16 AI and search crawlers against your robots.txt, firewall and HTML, and sends a plain-English PDF report within 48 hours with ready-to-paste fixes. $79 for the report, $149 with the fixes applied. It is a diagnosis, not a promise of citations.

See the audit → Download the free checker

Frequently asked questions

Does Google read JavaScript content?

Yes. Google says Googlebot renders JavaScript, though rendering can happen later than the first crawl. Other AI crawlers did not render it in Vercel’s 2024 analysis.

Is my Shopify, Wix or Squarespace site affected?

Many hosted builders send the main text in the HTML, but themes and apps vary, and some widgets (reviews, menus, booking tools) load only with JavaScript. Check your own pages with View page source or the free checker.

My site is a React single-page app. Do I need to rebuild it?

Not always. Pre-rendering the key pages, or moving them to server-side rendering, is often enough. The pages that matter most are the ones that answer customer questions: home, product or service pages, pricing and FAQ.

Does JSON-LD added by Google Tag Manager count?

Googlebot may see it after rendering, but crawlers that do not run JavaScript will not. Put JSON-LD in the HTML your server sends.

Sources (checked October 24, 2026)

Last updated:

← AI visibility audit · All guides · Home