Siteiz.

← all guides

AI crawlers

Does ChatGPT Read JavaScript?

No. GPTBot reads your raw HTML and never runs your scripts. If your pages are built with JavaScript, here is what ChatGPT actually sees, and how to fix it.

Published July 12, 2026

No. ChatGPT does not read JavaScript. Neither do the crawlers behind Claude or Perplexity. They download the HTML your server sends, read it, and move on. Your scripts never run.

This is easy to miss because Google taught everyone the opposite lesson. Googlebot renders pages in a real browser engine, so JavaScript-heavy sites learned they could rank anyway. AI crawlers skipped that step. An analysis of about 500 million GPTBot requests, as of mid-2026, found zero JavaScript execution. Not rare execution. Zero.

What actually happens when GPTBot visits your page

The visit is simple. GPTBot sends a request to your server. Your server responds with an HTML file. GPTBot reads the text in that file and leaves.

If your site is server-rendered, that file contains your headings, your product copy, and your prices. The crawler gets everything.

If your site is a JavaScript app, that file is often close to empty. It contains a script tag and a placeholder like <div id="root"></div>. In a browser, the script runs and fills the page in. For the crawler, the script is dead weight. The placeholder is the whole page.

Which crawlers run JavaScript

Here is the picture as of mid-2026:

Crawler Who sends it Runs JavaScript?
GPTBot OpenAI (ChatGPT) No
ClaudeBot Anthropic (Claude) No
PerplexityBot Perplexity No
Google-Extended Google (Gemini training) No
Googlebot Google (classic search) Yes

One row in that table renders JavaScript. It is the row that matters less every quarter, because more of the questions your buyers ask are answered in a chat window instead of a results page.

What about ChatGPT browsing the web live?

ChatGPT can also fetch a page while it answers, instead of relying only on past crawls. The mechanics do not change. The live fetch downloads your HTML the same way GPTBot does, without running scripts. A JavaScript-only page is just as empty in a live answer as it is in the training data. The same applies to Perplexity, which leans heavily on live fetches. There is no mode in which your scripts get executed.

Why this costs you money

An AI assistant can only describe your business from what its crawler read. When the crawler gets an empty shell, three things happen, all bad.

First, the assistant answers questions about your category without mentioning you. You are not hidden on page two. You are absent.

Second, when someone asks about you directly, the assistant guesses or stays vague. Wrong prices and outdated descriptions come from this gap.

Third, you lose the best traffic there is. Visitors who arrive from an AI answer convert at roughly 14 to 17 percent, against about 1.8 percent for classic Google search traffic, as of mid-2026. The assistant has already matched them to what they need. If it could not read your site, that match goes to a competitor.

How to check your site in five minutes

You do not need special tools. Three checks, in order of effort:

1. View the source. Open your most important page in a browser. Right-click, choose "View page source". Search for a sentence from your main content. If you cannot find it there, no AI crawler can either. Do not confuse this with "Inspect", which shows the page after JavaScript ran.

2. Turn JavaScript off. In Chrome, open the page, press F12, open the command menu with Ctrl+Shift+P (Cmd+Shift+P on a Mac), type "Disable JavaScript", and reload. What you see now is close to what GPTBot receives. A blank or half-empty page is your answer.

3. Fetch the page as GPTBot. In a terminal:

curl -s -A "GPTBot" https://your-site.com | grep -i "a phrase from your page"

No output means the phrase is not in the HTML the crawler receives.

If you want to see how we run this comparison at scale, the scan methodology is public. We fetch every page twice, once as a crawler and once as a browser, and measure the difference.

The fix depends on how your site is built

There is one principle behind every fix: the text must be in the HTML your server sends. How you get there varies.

Your setup The fix Typical effort
Next.js, Nuxt, SvelteKit Turn on server-side rendering or static generation Configuration, not a rebuild
Plain React or Vue app Add a framework layer or a prerendering service A project, plan for it
WordPress, standard theme Usually fine already, audit your plugins and widgets Hours
Webflow, Squarespace, Wix Core content is server-rendered, check custom embeds Hours
Headless commerce Render product data on the server, not in the cart script Varies by stack

Two notes from real scans. First, the platform is rarely the whole story. A server-rendered site with a JavaScript pricing widget still hides its prices, and prices are what buyers ask about. Second, fix by page value, not by page count. Your top product page matters more than your archive.

Where to start

Pick the one page that earns the most money. Run the three checks above on it. Fix that page, confirm the text shows up in the raw HTML, then repeat down the list.

If your page passes, your next question is whether AI crawlers are allowed in at all and whether your facts are structured so machines can quote them. That is a different failure mode, and we cover it in Why isn't my website showing up in ChatGPT?

The fastest way to know where you stand is to measure your own site.

Common questions

Does GPTBot execute JavaScript?
No. An analysis of about 500 million GPTBot requests, as of mid-2026, found zero JavaScript execution. GPTBot downloads the raw HTML your server sends and reads that.
Does Google run JavaScript? Why is this different?
Googlebot renders JavaScript for classic search, so a JavaScript-heavy site can rank fine in Google. AI crawlers skip that rendering step. A site can be visible in Google and blank to ChatGPT at the same time.
My site is WordPress. Am I affected?
Usually not for the main content. Standard WordPress sends full HTML from the server. Problems show up in JavaScript add-ons, such as pricing tables, reviews, booking widgets, and page builders that load content with scripts.

Related reading

See what AI crawlers see on your site

The free Siteiz scan reads one page of your site the way an AI crawler does and grades it A to F. It takes about 30 seconds.

Run the free scan