How AI reads this page
ChatGPT, Claude, Gemini and Perplexity don't look at colours, images or animations. They receive text, headings, links and structured data. Below is exactly what they read when they open “JavaScript Website: Can ChatGPT See Your Content? How to Check”.
The AI receives 1,674 words in 8 sections, 11 links and 3 blocks of structured data.
Text
The page content in Markdown, without menus or graphics. It is the format closest to how a language model reads text.
# JavaScript Website: Can ChatGPT See Your Content? How to Check > ChatGPT, Claude and Perplexity don't run JavaScript. Learn 5 quick tests to see what they read on your site and which content to fix first. URL: https://geosnap.ai/en/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo Language: English Version IT: https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo Author: Rinald Sefa, CMO Geosnap · Category: Guides Publisher: Geosnap (Maind Group S.r.l.), https://geosnap.ai ## In short Probably not, if your text, prices or reviews are loaded with JavaScript: the crawlers behind ChatGPT, Claude and Perplexity only read the HTML the server sends. Google does run JavaScript, which is why a site can appear in AI Mode but not in ChatGPT. The fix is to put essential content in the initial HTML. - Crawlers from OpenAI, Anthropic and Perplexity download HTML but do not execute JavaScript. - Google AI Overviews and AI Mode use Google's index, which does process JavaScript. - Your page source (Ctrl+U) is the fastest way to see what an AI crawler reads. - Prices, reviews, FAQs and product pages loaded via JavaScript are the content most at risk. - You don't need a rebuild: serve the HTML of the pages that matter from the server. Written by the Geosnap AI agent, reviewed and approved by Rinald Sefa. Translated from the Italian original. [Read the original](https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo) Open a page on your site, then view its source with Ctrl+U (Cmd+Opt+U on a Mac). If the text you see on the page is missing from the source, that content is loaded with JavaScript after the page opens. For Google that is often fine. For ChatGPT, Claude and Perplexity it is not: the evidence published so far says their crawlers read the HTML exactly as the server sends it and do not run the code. This guide shows you how to check in a few minutes and what to fix first. ## Why can't AI crawlers see content loaded with JavaScript? AI crawlers download the page but do not "run" it the way a browser does: they read the initial HTML and stop there. If prices, descriptions or reviews only appear after a script calls an API, that part of the page is empty to them. The most quoted data comes from an [analysis by Vercel and MERJ](https://vercel.com/blog/the-rise-of-the-ai-crawler) of real crawler traffic across Vercel's network. None of the major AI crawlers measured executes JavaScript: OpenAI's GPTBot, OAI-SearchBot and ChatGPT-User, Anthropic's ClaudeBot, PerplexityBot and others. Some download JavaScript files without running them: 11.5% of ChatGPT's requests and 23.8% of Claude's were for .js files that were never executed. The same study measured something else worth knowing: 34.8% of ChatGPT's requests and 34.2% of Claude's ended on 404 pages, compared with 8.2% for Googlebot. Many of the errors involved outdated static assets. In short, AI crawlers are less precise than Google and easily miss what they cannot find straight away. Vercel's analysis dates from December 2024, but more recent tests confirm it. In January 2026 [Resoneo built a test page](https://think.resoneo.com/sentinel/geo-llm-crawler-report.html) with 15 different ways of inserting text, from static HTML to delayed scripts, and asked each assistant to visit it. ChatGPT and Claude read the static HTML and the content inside the `noscript` tag, but nothing inserted through JavaScript. ## Google yes, ChatGPT no: who reads what The main split is between Google and everyone else. Google has rendered JavaScript for years: in March 2026 it [removed a section from its documentation](https://developers.google.com/search/updates) on JavaScript accessibility because it considered it outdated. As [Search Engine Journal](https://www.searchenginejournal.com/google-removes-javascript-seo-warning-says-its-outdated/568829/) points out, that applies to Google: other search engines and crawlers may not process pages the same way. | AI engine | Runs JavaScript? | Where it gets content | | --- | --- | --- | | Google AI Overviews and AI Mode | Yes, through Google | The Google Search index, built by Googlebot, which runs JavaScript | | Gemini | It depends | Uses Googlebot's infrastructure, which runs JavaScript; in Resoneo's test the live visit made at a user's request did not | | ChatGPT | No | Initial HTML read by OAI-SearchBot, GPTBot and ChatGPT-User | | Claude | No | Initial HTML read by ClaudeBot and Anthropic's other agents | | Perplexity | No | Initial HTML read by PerplexityBot | | Microsoft Copilot | Partly | In Resoneo's test it ran JavaScript, but with a very short wait time | This explains a common pattern: a site that shows up in Google AI Mode and hardly ever in ChatGPT. If key content arrives through JavaScript, Google sees it and ChatGPT does not. In Resoneo's test, no assistant read content that appeared after about 2 seconds. ## How to check whether AI can see your content: 5 tests A few checks are enough to know whether you have a problem. Run them on the pages that matter most: home page, service pages, product pages, pricing. 1. **Compare source and page.** Open the page source (not "Inspect", which shows the page after processing) and search with Ctrl+F for an important phrase: a service name, a price, a review. If it is not there, an AI crawler cannot see it. 2. **Turn off JavaScript in your browser.** In Chrome's site settings you can block JavaScript and reload the page. What remains is close to what ChatGPT reads. 3. **Download the page like a crawler.** From a terminal, `curl -A "GPTBot" https://example.com/services` returns the raw HTML. If the result is almost empty, with a single container and lots of scripts, the site depends on JavaScript. 4. **Test with the assistant.** Ask ChatGPT to open a page and report a specific detail, such as the price of a service. Be careful: assistants sometimes reconstruct content from the URL instead of reading it, as Resoneo observed with Gemini. Pick a detail that cannot be guessed. 5. **Check your server logs.** If GPTBot or ClaudeBot visit your pages but get many 404 errors on static files, your site is serving resources the crawlers cannot use. The URL Inspection tool in Google Search Console shows the rendered HTML, but only from Google's point of view: a complete page there does not mean it is complete for ChatGPT. ## Which parts of a site are most at risk? The most exposed content is exactly what answers customers' questions. Here is where to look first. | Element | Typical problem | What to do | | --- | --- | --- | | Prices and rate cards | Loaded from an API after the page opens | Put them in the initial HTML | | Reviews | Shown by a third-party widget | Include at least a summary in the page text | | FAQs | Answers loaded only when the question is clicked | Keep the text in the HTML and hide it with CSS only | | E-commerce product pages | Descriptions and specs generated client-side | Server-side rendering or static pages | | Menus and internal links | Navigation driven by scripts instead of real links | Use `<a href>` links that crawlers can follow | | Title and description | Set by JavaScript | Write them directly in the page code | Picture a travel agency whose deals are loaded from a booking engine. Someone asking ChatGPT for "November city breaks to Lisbon" will never see those deals cited: to the crawler, the page holds only a title and a menu. ## How to fix it without rebuilding your site You do not need to get rid of JavaScript: you need the essential content to be in the HTML the server sends. Vercel sums it up this way: render main text, metadata and navigation on the server; client-side JavaScript is fine for extras such as view counters, live chat or social feeds. - **Server-side rendering or static generation.** The most popular JavaScript frameworks can generate HTML on the server or at build time. Often you only need to change the rendering mode of your most important pages. - **Pre-rendering.** If your site is a single-page application that is hard to change, a pre-rendering service can serve crawlers a ready-made HTML version. Treat it as a stopgap and check that the content matches what people see. - **A fallback in the noscript tag.** In Resoneo's test ChatGPT and Claude read content placed in `noscript`. It is a partial fix, useful for short text such as a description or a price. - **No important content in Shadow DOM or iframes.** In the test almost no assistant read it. If your site runs on WordPress you usually start ahead: pages are generated on the server. Still, check plugins and page builders that load blocks of content through JavaScript, such as reviews, pricing tables and catalogs. Rendering is only one reason AI may not see a site. The other is crawlers blocked in robots.txt or by a firewall, which we cover in our [guide to AI crawlers](https://geosnap.ai/en/blog/il-tuo-sito-blocca-chatgpt-guida-crawler-ai). In [Geosnap's technical analysis](https://geosnap.ai/en/features) both checks are automatic: blocked pages, content loaded only through JavaScript and 404 errors appear in a single list. After each fix, run the five tests again: it is the quickest way to know the problem is solved. ## Sources - [The rise of the AI crawler](https://vercel.com/blog/the-rise-of-the-ai-crawler) (Vercel (con MERJ), 2024-12-17) - [AI Search crawler test results: do AI assistants execute JavaScript?](https://think.resoneo.com/sentinel/geo-llm-crawler-report.html) (Resoneo, 2026-01) - [Latest Google Search documentation updates](https://developers.google.com/search/updates) (Google Search Central, 2026-10-01) - [Google Removes JavaScript SEO Warning, Says It's Outdated](https://www.searchenginejournal.com/google-removes-javascript-seo-warning-says-its-outdated/568829/) (Search Engine Journal, 2026-03-04) ## Frequently asked questions ### Do AI crawlers execute JavaScript? OpenAI's, Anthropic's and Perplexity's do not: according to the Vercel and MERJ analysis and Resoneo's 2026 tests, they read only the HTML sent by the server. Google runs JavaScript, and Microsoft Copilot partly does, with very short wait times. ### If Google indexes my site well, can ChatGPT see my content too? Not necessarily. Google processes JavaScript before indexing, so it sees content that ChatGPT's crawlers miss. Check the page source: if the text isn't there, ChatGPT can't read it. ### Does a WordPress site have this problem? Usually less so, because WordPress generates pages on the server. The issue can appear with plugins or page builders that load reviews, catalogs or pricing tables via JavaScript, so check those sections one by one. ### Do I need to rebuild my site with server-side rendering? Not necessarily. Often it is enough to turn on server-side rendering or static generation for your main pages, or to use a pre-rendering service as a temporary fix. The goal is to have text, prices and links in the initial HTML.
Structured data
Schema.org data (JSON-LD) embedded in the page code. It tells the AI explicitly what the page is about and who published it.
BreadcrumbList describes the path through the site
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://geosnap.ai/en/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://geosnap.ai/en/blog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Guides",
"item": "https://geosnap.ai/en/blog/#guide"
},
{
"@type": "ListItem",
"position": 4,
"name": "JavaScript Website: Can ChatGPT See Your Content? How to Check",
"item": "https://geosnap.ai/en/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo"
}
]
}
BlogPosting describes the article: author, dates and sources
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"@id": "https://geosnap.ai/en/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo#article",
"headline": "JavaScript Website: Can ChatGPT See Your Content? How to Check",
"description": "ChatGPT, Claude and Perplexity don't run JavaScript. Learn 5 quick tests to see what they read on your site and which content to fix first.",
"inLanguage": "en",
"url": "https://geosnap.ai/en/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo",
"mainEntityOfPage": "https://geosnap.ai/en/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo",
"image": "https://geosnap.ai/img/blog/p2026-10-13-javascript-crawler-ai-en.webp",
"articleSection": "Guides",
"wordCount": 1270,
"author": {
"@type": "Person",
"name": "Rinald Sefa",
"jobTitle": "CMO",
"url": "https://geosnap.ai/en/about",
"worksFor": {
"@id": "https://geosnap.ai/#organization"
}
},
"publisher": {
"@id": "https://geosnap.ai/#organization"
},
"isAccessibleForFree": true,
"abstract": "Probably not, if your text, prices or reviews are loaded with JavaScript: the crawlers behind ChatGPT, Claude and Perplexity only read the HTML the server sends. Google does run JavaScript, which is why a site can appear in AI Mode but not in ChatGPT. The fix is to put essential content in the initial HTML.",
"datePublished": "2026-10-13",
"dateModified": "2026-10-13",
"citation": [
"https://vercel.com/blog/the-rise-of-the-ai-crawler",
"https://think.resoneo.com/sentinel/geo-llm-crawler-report.html",
"https://developers.google.com/search/updates",
"https://www.searchenginejournal.com/google-removes-javascript-seo-warning-says-its-outdated/568829/"
],
"translationOfWork": {
"@id": "https://geosnap.ai/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo#article"
}
}
FAQPage describes the frequently asked questions
{
"@context": "https://schema.org",
"@type": "FAQPage",
"@id": "https://geosnap.ai/en/blog/sito-javascript-chatgpt-vede-contenuti-come-verificarlo#faq",
"mainEntity": [
{
"@type": "Question",
"name": "Do AI crawlers execute JavaScript?",
"acceptedAnswer": {
"@type": "Answer",
"text": "OpenAI's, Anthropic's and Perplexity's do not: according to the Vercel and MERJ analysis and Resoneo's 2026 tests, they read only the HTML sent by the server. Google runs JavaScript, and Microsoft Copilot partly does, with very short wait times."
}
},
{
"@type": "Question",
"name": "If Google indexes my site well, can ChatGPT see my content too?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Not necessarily. Google processes JavaScript before indexing, so it sees content that ChatGPT's crawlers miss. Check the page source: if the text isn't there, ChatGPT can't read it."
}
},
{
"@type": "Question",
"name": "Does a WordPress site have this problem?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Usually less so, because WordPress generates pages on the server. The issue can appear with plugins or page builders that load reviews, catalogs or pricing tables via JavaScript, so check those sections one by one."
}
},
{
"@type": "Question",
"name": "Do I need to rebuild my site with server-side rendering?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Not necessarily. Often it is enough to turn on server-side rendering or static generation for your main pages, or to use a pre-rendering service as a temporary fix. The goal is to have text, prices and links in the initial HTML."
}
}
]
}
Metadata
The information in the page header, which crawlers and engines read before the content.