JavaScript Rendering Report 2026
How many sites are invisible to AI crawlers because their content needs JavaScript? Measured on 450 real homepages, not a survey.
Sample: 450 homepages measured, out of 742 domains attempted · Measured Nov 1, 2026
GPTBot, ClaudeBot, PerplexityBot and OAI-SearchBot read the HTML a server sends and do not execute JavaScript. We fetched 450 homepages the same way: 6.4% were a near-empty shell whose content only appears after JavaScript runs, 26% had thin content (too few words or no H1), and 67.6% served a full, readable page.
Client-side rendering leaves fingerprints: 2.2% of homepages contain an empty framework mount point (such as #root or #__next), 5.1% show a noscript message asking visitors to enable JavaScript, and 30% have no H1 heading in the raw HTML.
What an AI crawler sees
Verdict of the AIVIS js-rendering check on the raw HTML of 450 homepages.
| Verdict | Share of sites | Median words |
|---|---|---|
| Fail — empty shell, needs JavaScript | 6.4% | 0 |
| Warn — thin content | 26% | 704 |
| Pass — full content in the HTML | 67.6% | 823 |
Empty mount points by framework
Share of all measured homepages whose framework root element is empty in the raw HTML.
| Selector | Typical framework | Share of sites |
|---|---|---|
#root | React (Vite, Create React App) | 1.6% |
#__next | Next.js | 0.2% |
app-root | Angular | 0.2% |
[data-reactroot] | React (legacy) | 0.2% |
By sector
Verdict rates by sector, as classified from each homepage by the AIVIS sector classifier.
| Sector | Sites | Fail | Warn | Pass | Median words |
|---|---|---|---|---|---|
| All sites | 450 | 6.4% | 26% | 67.6% | 761 |
| News & Media | 42 | 0% | 38.1% | 61.9% | 1,669 |
| SaaS & software | 39 | 0% | 5.1% | 94.9% | 1,013 |
| Universities | 37 | 0% | 10.8% | 89.2% | 641 |
| E-commerce | 21 | 0% | 38.1% | 61.9% | 560 |
| Banking & Finance | 20 | 5% | 30% | 65% | 902 |
| Public Sector | 19 | 0% | 15.8% | 84.2% | 964 |
| Hotels & B&Bs | 11 | 9.1% | 36.4% | 54.5% | 801 |
| Telecom & Utilities(small sample) | 9 | 0% | 44.4% | 55.6% | 1,621 |
| Automotive(small sample) | 5 | 0% | 40% | 60% | 778 |
| Restaurants(small sample) | 5 | 20% | 60% | 20% | 173 |
| Real estate agencies(small sample) | 4 | 0% | 25% | 75% | 1,146 |
| Law firms & professional services(small sample) | 2 | 0% | 0% | 100% | 745 |
| Travel & Transport(small sample) | 2 | 0% | 100% | 0% | 1,960 |
| Web agencies(small sample) | 1 | 0% | 0% | 100% | 621 |
Sectors with fewer than 10 sites are shown greyed out and are not used in the findings above. 217 of 450 homepages could be assigned a sector.
Methodology
- Sample: 742 domains from the AIVIS research corpus (news, e-commerce, SaaS, travel, finance, universities, public administration, Italian and European mid-tail). 450 homepages were measured; 292 were excluded and counted, never scored as failures: 101 unreachable or timed out, 173 answered with a non-2xx status, 0 did not return HTML, 18 returned an anti-bot challenge page. Measured on Nov 1, 2026.
- One HTTPS GET of the homepage per domain with the declared AIVISBot user agent, a 15-second timeout and redirects followed. No JavaScript is executed: this is the HTML that AI crawlers which do not render pages receive.
- Scoring is the AIVIS js-rendering check, unchanged. Pass: at least 150 readable words and a non-empty H1. Fail: an empty shell, meaning under 10 words, or under 50 words with a client-rendering signal (an empty framework mount point, a noscript message asking for JavaScript, or inline scripts outweighing text at least 10 to 1), or an empty mount point together with such a noscript message. Everything else is Warn.
- Sector is assigned by the same classifier AIVIS uses for its leaderboards, from the homepage alone; homepages it cannot classify count in the totals but not in the sector table. A near-empty shell rarely carries enough text to be classified, so the sector table under-counts failures: read it for warn and pass rates, and use the overall figure for fail.
- Limits: homepage only, a single fetch per domain, a corpus weighted toward large and well-known sites rather than a random sample of the web. Googlebot renders JavaScript, so a page that fails here can still appear in Google and in AI answers built on Google's index. The dataset contains aggregates only, no domain names.
Download the dataset
Totals, verdict rates, mount points and every sector row behind this report, as one fixed snapshot.
Licensed under CC-BY 4.0 — free to reuse with attribution to AIVIS.
Cite as: AIVIS, JavaScript Rendering Report 2026, https://aivis.lumnika.com/en/research/js-rendering-2026
Can AI crawlers read your site?
Run a free AIVIS scan: the js-rendering check shows what GPTBot and ClaudeBot see in your raw HTML, alongside thirteen other AI-readiness checks.