How to Test Whether JavaScript Content Is Visible to Search and AI Crawlers
how to run a JavaScript rendering test to check what Googlebot and AI crawlers can access, identify missing content, and fix rendering issues.
A JavaScript rendering test helps you determine whether search engines and AI crawlers can access the content on your website. A page built with React or Vue may look flawless in a browser while remaining blank for crawlers that cannot execute JavaScript. In this article, we explain how to test raw HTML, inspect rendered pages, and identify rendering issues that affect search and AI visibility.
A page on React or Vue can look flawless in a browser while remaining blank for half the bots reading it. Googlebot has long learned to execute JavaScript, whereas most AI crawlers settle for raw HTML. In this article, we will tell you how to test what each of them actually sees and where rendering fails most often.
Two Readers, Two Versions of the Same Page
Googlebot loads a page, queues it for rendering, and executes scripts in a current version of Chromium. A study by Vercel and MERJ based on over 100,000 Googlebot requests showed that all analyzed HTML pages were fully rendered, with a median delay between crawling and rendering of about 10 seconds. Meanwhile, AI crawlers operate more simply: one request, raw HTML, no retries. Anything that appears on the page only after executing scripts simply does not exist for them.
Before choosing a JavaScript rendering solution, it is worth understanding how big the gap is on a specific site. According to another study by the same companies, in just one month, GPTBot made 569 million requests to the Vercel network, and ClaudeBot made 370 million. The scale is such that a blank page for these bots means a real loss of visibility in ChatGPT and Claude responses:
| Crawler | Runs JavaScript | What the data shows |
| Googlebot | Yes | Builds the complete page on Google’s in-house systems |
| Gemini | Borrows the rendering pipeline Googlebot already uses | |
| Applebot | Behaves like a real browser, loading styles and Ajax calls as well | |
| GPTBot | No | About 11.5% of what it downloads are script files |
| ClaudeBot | Close to a quarter of its requests (23.84%) go to script files | |
| PerplexityBot | Works only with the first HTML response it receives |
Curiously, AI bots reliably download JS files but do not execute them. That makes raw HTML the first thing worth checking. In other words, they receive code as text, yet never see the content that this code is supposed to build. Thus, one has to test two different versions of a page, rather than one.
How to Run a JavaScript Rendering Test on Raw HTML
A JavaScript rendering test should begin with the initial HTML response to determine whether important page content is available before any JavaScript executes. Websites built with modern JavaScript libraries may rely on client-side scripts to display dynamic content, making it important to check what appears before those scripts run. The fastest way to see a page through the eyes of an AI crawler is to request it without executing scripts. A curl with a user agent swap to GPTBot or a standard source view via view-source will work. Another option is to disable JavaScript in Chrome DevTools via the command menu and reload the page.
In the resulting HTML, it is worth checking five things:
- The main text of the page, not just a skeleton with an empty div;
- The title tag and meta description;
- Canonical and meta robots;
- Internal links as standard a tags with an href attribute;
- JSON-LD markup, if structured data is used on the site.
If any of the above points is absent in the first reply, the bot will never spot it regardless of the number of visits. This is especially important for content loaded only after user interaction. Do not forget about the size as well: If the initial HTML file is just a few kilobytes in size but there is a huge amount of text in the browser, the verdict is obvious without additional tests. On a side note, using the bot’s user agent when making requests can be quite helpful if the website offers a special page for bots.
Checking What Googlebot Actually Renders
Related walkthrough
15 SEO Mistakes Killing Your Google Rankings in 2026

The situation with Googlebot is more complex, as it sees the rendering result rather than the initial response. Once the raw HTML check is complete, the next step in a JavaScript rendering test is to verify what Googlebot sees after the page has been rendered. Two free Google tools help test this result, while a ready-made rendering service can close the gap for good.
URL Inspection in Search Console
A live URL test shows rendered HTML, a screenshot, and additional page information. The section with JavaScript console messages and resources that failed to load is particularly useful. For testing, it is enough to find a key phrase from the main page text in the rendered HTML. However, the tool is only available to the property owner in Search Console.
Rich Results Test
This tool works with any public URL and also returns rendered HTML with a screenshot. In it, you can select a smartphone or desktop as the agent. Being accessible without confirming rights, it is convenient for quickly checking external or test pages.
EdgeComet Rendering
When the tests confirm that content goes missing, a ready-made rendering layer is often faster than migrating the whole app to SSR. EdgeComet Rendering intercepts bot requests and serves fully rendered HTML from its own headless browser cluster, so both Googlebot and AI crawlers that skip JavaScript receive the complete page, with cached copies served in under 15 ms. Each render is also checked against a list of required content blocks: an incomplete copy never reaches the cache, and the bot gets the last valid version instead. Plans start at $99 per month, with a 14-day free trial.
Where Rendered Pages Still Break
Even when rendering works, part of the content gets lost along the way. Bots do not scroll the page and do not click buttons, so blocks loaded on scroll or hidden behind tabs often remain out of the frame. The footer link block suffers especially often, while links that appear only after a click do not exist for the crawler at all.
Another sneaky problem is partial rendering. According to EdgeComet observations, a page that returns a 200 code with half the content looks perfectly healthy and can be served to bots from the cache for hours. That is why a single response status check is insufficient: you need to compare which blocks should be on the page and which actually ended up in it.
Do not forget about JavaScript errors either. A single crashed script is capable of leaving an entire section blank, even though a user in a browser might not even notice it. Either way, comparing initial and rendered HTML after every major release helps catch problems before they reach the index.
Repeating a JavaScript rendering test after major website updates can help identify missing content, failed scripts, and incomplete page renders before they affect search visibility.
Two Views, One Habit
Testing JavaScript content visibility comes down to comparing two versions of a page: raw for AI crawlers and rendered for Googlebot. Curl, DevTools, and Google tools cover most tasks. A site that reads equally well in both versions gets a chance at search positions and a spot in AI responses.
A regular JavaScript rendering test helps ensure that important website content is accessible in both raw HTML and rendered pages. By comparing what AI crawlers receive with what Googlebot renders, you can identify missing content, detect rendering issues, and improve your website’s visibility across search engines and AI-powered discovery platforms. Tools such as curl, Chrome DevTools, and Google’s testing tools make this process easier to repeat after major website updates.