You rank on page one. Your traffic looks healthy. Then you ask ChatGPT to recommend a supplier in your sector and your business is nowhere.
If you have been asking why isn’t my website showing in AI search, the cause is often not your content. It is technical. Analysis by Vercel and MERJ of more than 500 million GPTBot fetches found no evidence of JavaScript execution at all.
In plain English: the crawlers behind ChatGPT, Claude and Perplexity read the raw HTML your server sends, then leave. Anything your site paints on afterwards with JavaScript may as well not exist.
Key Takeaways
- Most AI crawlers do not run JavaScript. They read the HTML your server returns and move on.
- Ranking well on Google proves nothing here. Googlebot renders JavaScript. GPTBot, ClaudeBot and PerplexityBot do not.
- The check takes two minutes: View Page Source, then search for a sentence you can see on screen.
- The content most often loaded client-side is your commercial content: pricing, reviews, service detail, FAQs.
- The fix is usually server-side rendering, static generation or prerendering. It is rarely a rebuild.
Why isn’t my website showing in AI search when it ranks well on Google?
Because Google and AI crawlers work differently. Googlebot renders JavaScript in a second pass. Most AI crawlers do not render it at all. They take your initial HTML, extract the text and move on. A page that ranks well in Google can still look close to empty to ChatGPT, Claude or Perplexity.
This catches people out because every tool in their stack says the site is fine. Search Console is green. Rankings are stable. The URL Inspection tool shows the full page, because it shows you what Google’s renderer sees, not what an AI crawler receives.
The commercial cost is quiet. You do not lose rankings or traffic overnight. You simply stop being an option in the answers where buying decisions increasingly start. If you are weighing up whether traditional search still matters alongside this, we covered that in do you still need SEO in the age of ChatGPT and AI search.
What can AI crawlers actually read?
They read the HTML in your server’s first response. That is it. Vercel and MERJ’s joint analysis found that no major AI crawler renders JavaScript, including GPTBot, ClaudeBot, PerplexityBot, Bytespider and Meta’s crawler. Those crawlers do download JavaScript files, GPTBot in roughly 11.5 percent of requests and ClaudeBot in roughly 23.8 percent, but they never execute them.
Here is the split as it stands:
| Crawler | Runs JavaScript? | What it sees |
|---|---|---|
| Googlebot | Yes, in a deferred second pass using an evergreen Chromium | The fully rendered page |
| Google’s Gemini and AI Overviews | Yes, via Google’s crawling infrastructure | The fully rendered page |
| GPTBot, OAI-SearchBot, ChatGPT-User | No | Raw HTML only |
| ClaudeBot | No | Raw HTML only |
| PerplexityBot | No | Raw HTML only |
One honest caveat. The primary evidence here is a Vercel and MERJ server-log study published in December 2024. It is the most rigorous public data available, but it is a snapshot, and crawler behaviour changes. Test your own site rather than trusting any single study, including this one.
Which parts of a site usually go missing?
The expensive parts. Client-side rendering tends to be used for exactly the components that persuade people to buy: pricing tables pulled from an API, filtered service lists, live review feeds, comparison widgets, and FAQ content tucked inside accordions that load on click.
Imagine a 12-person cleaning firm in Croydon. Its homepage copy is in the HTML, so ChatGPT can read the brand name and the strapline. But the service list, the coverage area and the pricing sit inside a page builder tab that loads after the page does. The model knows the firm exists. It has no idea what it does or where it works, so it recommends a competitor instead.
That gap matters because models favour content they can lift cleanly, as we explained in how ChatGPT chooses which businesses to recommend.
How do I check if my content is JavaScript-rendered?
Use View Page Source, not Inspect Element. View Page Source shows the raw HTML your server sent. Inspect Element shows the page after your browser has run every script, which is exactly what the AI crawler never does. If a sentence appears on screen but not in the source, JavaScript is adding it.
Three checks, in order of effort:
- View Page Source. Right click the page, choose View Page Source, then use Ctrl+F to find a sentence you can see on screen. Missing means invisible.
- Disable JavaScript and reload. Whatever vanishes is whatever the crawler never had.
- Ask an AI to read the page. Paste a live URL into ChatGPT or Claude and ask it to summarise the second paragraph. Vague or wrong answers point at a rendering gap.
If you want the wider version of this test, our guides on how to check if your website is visible in ChatGPT and AI search and how to run your own AI visibility audit walk through the full process.
Is this an easy fix?
For most UK SMEs, yes. The answer is to get important content into the HTML the server returns, using server-side rendering, static generation or prerendering. On a standard WordPress build, the main copy is already server-rendered, so you are patching specific gaps rather than rebuilding anything.
The usual culprits on WordPress are tabs and accordions that fetch content on click, sliders, third-party review feeds and any plugin that populates a section after page load. Moving that copy into the page body, or configuring the component to output its content in the HTML, is a developer job measured in hours.
On a React, Vue or Angular front end it is a bigger decision, meaning server-side rendering or static generation for the pages that matter commercially. Start with the pages that make money: services, pricing, locations, key blog posts.
Google’s own JavaScript SEO documentation has recommended getting critical content into the initial response for years. The AI crawlers have simply made ignoring that advice more expensive. Vercel’s analysis of AI crawler behaviour sets out the underlying data.
Rendering is the entry requirement, not the whole job. Once a model can read you, being recommended depends on clarity, consistency and third-party mentions, which is the work covered by generative engine optimisation.
Frequently Asked Questions
How do I check if my content is JavaScript-rendered?
Open the page, right click and choose View Page Source. That is the raw HTML your server sends. Use Ctrl+F to look for a sentence you can see on screen. If it is not there, JavaScript is adding it after load. Inspect Element will not tell you this, because it shows the page after your browser has run every script.
Does this affect normal Google rankings too?
Less than you might fear. Google renders JavaScript using an evergreen version of Chromium, so client-side content usually gets indexed in time. The risk with Google is delay and inconsistency rather than invisibility. Google’s guidance still recommends putting important content in the initial HTML, which solves the AI crawler problem at the same time.
Is this an easy fix?
Usually. On WordPress with a standard theme, most body copy is already in the HTML and you are patching gaps such as tabs, accordions, review feeds and pricing tables. On a React or Vue build it is a larger piece of work, meaning server-side rendering or static generation. Either way, it is a developer task measured in days, not a rebuild.
Do any AI crawlers render JavaScript?
Google’s Gemini is the exception, because it uses Google’s crawling infrastructure and inherits its rendering. The crawlers behind ChatGPT, Claude and Perplexity have shown no JavaScript execution in published server-log analysis. Behaviour could change, which is why testing your own pages beats relying on a study published in a different year.
Will fixing this get me recommended by ChatGPT?
It removes the blocker rather than winning the recommendation. Being readable is the entry requirement. After that, models favour businesses they can verify: clear answers on the page, consistent details across the web, and credible third-party mentions. Rendering is the cheapest item on that list to fix, so it is the sensible place to start.
Find out what AI search actually sees
If your site is invisible to the crawlers building AI answers, everything else you spend on content is working at a discount. A short technical check tells you where you stand and what to fix first.



