The digital landscape is currently navigating the most seismic architectural shift since the invention of the hyperlink. We have transitioned from the era of "Search", where the primary goal was to rank in a list of ten blue links, to the era of "Synthesis," where Large Language Models (LLMs) provide direct answers by distilling and citing specific sources. In this new world, visibility is no longer defined by your position on a Results Page, but by your presence in the "memory" and citation carousels of an AI agent.
However, a massive technical disconnect has emerged: a "split visibility problem" that is rendering a vast majority of the modern, JavaScript-heavy web invisible to the most important discovery engines of 2026. While Google has spent decades and billions of dollars perfecting an evergreen Chromium-based rendering engine that can process complex JavaScript, the new giants of AI, OpenAI, Anthropic, and Perplexity, are taking a fundamentally different, and far more restrictive, approach to the web.
Recent technical analysis of the behaviors of 23 major AI crawlers reveals a shocking reality: the majority of AI crawlers do not execute JavaScript. They simply ignore it.
Quick Fact: Technical research into 23 major AI agents confirms that 69% of AI crawlers cannot execute JavaScript. If your website relies on client-side rendering (CSR) to display your primary content, these bots see a blank page.
For a brand, this represents a state of "Clinical Death." A website may appear perfectly healthy in traditional Google Search because Googlebot eventually moves through its rendering queue to see the page's final state. However, that same site might be an empty shell to ChatGPT, Claude, and Perplexity. In an environment where AI bots now account for approximately 4.2% of all HTML page requests, with OpenAI’s GPTBot traffic surging by 305% year-over-year, being "blank" is no longer a technical oversight; it is an existential threat to your brand’s discovery.
The economics of this crisis are clear. Executing JavaScript at the scale of the entire internet is a matter of pure resource consumption. As OpenAI's Sam Altman has noted, the "age of AI" requires an "energy breakthrough" to sustain the massive compute requirements of these models. For AI companies, the math is simple: they can crawl 50 properly built, server-rendered pages in the time and energy it takes to render just one slow, JavaScript-heavy client-side page. They have zero incentive to follow Google’s expensive lead. For them, a fast, static-first website is the only cost-efficient way to ingest the world's data.
To bridge this gap, we must fundamentally redefine what "rendering" means in a technical SEO context. In 2026, the browser rendering process remains a resource-heavy, multi-stage operation. To turn your code into a visible page, a browser must complete three distinct steps:
1. Parsing: The engine analyzes the script code to understand its structure and syntax.
2. Compiling: The engine converts the script into machine code that the browser can actually run.
3. Execution: The engine runs the code, builds the Document Object Model (DOM), and transforms it into the final content the user sees.
AI models, however, are prediction engines, not execution engines. They are designed to generate tokens based on linguistic patterns, not to maintain a live, interactive browser environment with dedicated CPU cycles, memory allocation, and event loops. When an AI crawler fetches your URL, it behaves more like a basic HTTP client, similar to a curl command. It retrieves the raw HTML and moves on immediately. It does not wait for React components to mount, it does not trigger event handlers, and it does not resolve asynchronous API calls.
This leads us to the "Fundamental Law of AI Visibility": Tokens ≠ Rendered DOM. If your content is created after the initial HTML load, it is not converted into tokens for the LLM to process.
The "View Source" test has returned as the ultimate arbiter of your brand's digital existence. If you right-click your page and select "View Page Source," and your primary content, your value propositions, product prices, and technical specs, is not in that raw text string, it does not exist for the world's most powerful LLMs. In the world of synthesis, if it isn't in the initial fetch, it isn't in the answer.
Not all bots are created equal. The technical sophistication of AI crawlers varies wildly, and understanding this hierarchy is essential for prioritizing development resources. We have categorized the major players based on their ability to handle the modern web.
The Full-Renderers
These bots use a headless Chromium or browser-based environment to execute scripts. They see the web as a human user does.
Googlebot / Gemini: The industry benchmark. It uses an evergreen Chromium engine to perform full JavaScript execution. However, Gemini leverages Googlebot’s infrastructure to see what ChatGPT misses. While Googlebot can see everything, it uses a "two-wave" system: Wave 1 fetches raw HTML, and Wave 2 (the rendering queue) executes the JS later. This means discovery of JS-dependent content is always delayed. It processes approximately 4.5 billion fetches per month across Gemini and Search.
Google-Extended: This User-Agent is specifically used for Gemini and Vertex AI training. It shares the full rendering capabilities of the standard Googlebot but allows sites to opt out of AI training while remaining in search.
Applebot / Applebot-Extended: Powering Siri and Apple Intelligence, this is a sophisticated browser-based crawler. It renders JavaScript, CSS, and AJAX requests to understand full page states.
The Blind Giants
These crawlers are the most influential in the AI citation space, yet they have zero JavaScript execution capabilities. They are strictly text-fetchers.
GPTBot (OpenAI): The market leader for LLM training, processing roughly 569 million requests monthly. Technical analysis shows that while it fetches .js files (roughly 11.5% of its requests), it does not execute them. It treats JavaScript as text data for training on code, not as a command to build a page.
OAI-SearchBot (OpenAI): The real-time search bot for ChatGPT. Like its training counterpart, it lacks a JS runtime. It retrieves raw HTML and moves on.
ClaudeBot (Anthropic): A sophisticated crawler with a unique JS file collection strategy, downloading JS files in 23.84% of its requests. However, it lacks the execution environment to render them, purely treating them as data for training. It handles about 370 million fetches per month.
PerplexityBot (Perplexity): The fastest-growing bot in the space, with a footprint increase of over 157,000% recently. It is strictly limited to static HTML parsing.
Meta-ExternalAgent: An aggressive new entrant with a 19% market share in AI crawling. It focuses on high-volume data collection but possesses no JS execution capabilities.
CCBot (Common Crawl): The backbone of many open-source models, processing 3 billion pages monthly. It does not render pages; it is a raw HTML scraper.
The Limited and Partial Players
These bots fall into a middle ground, often recommending against JS dependency.
Bingbot (Microsoft): While it can render some JavaScript, its support for modern frameworks is inconsistent. Microsoft officially recommends that websites use server-side rendering (SSR) or dynamic rendering rather than relying on Bingbot’s execution.
YandexBot: Offers partial JavaScript support but explicitly recommends SSR for full content comprehension.
The Decliners
Amazonbot: Used for Alexa AI, this bot has seen a 40% year-over-year decline in traffic and possesses no JS rendering capabilities.
Bytespider (ByteDance): Supporting the Doubao AI, this bot has seen an 85% decline in YoY traffic and remains a "No JS" crawler.
The rise of Single-Page Applications (SPAs) has inadvertently created the "Empty Shell" problem. In a standard client-side rendered application, the server sends a skeleton HTML file.
To an AI crawler, your high-value product page looks like this:
<!DOCTYPE html> <html> <head><title>Premium Running Shoes</title></head> <body> <div id="root"></div> <script src="/static/js/main.chunk.js"></script> </body> </html>
To GPTBot or ClaudeBot, this is a 404-like experience. They download the shell, see the empty root div, and conclude that the page contains no useful information. This leads to the "Performance Paradox": while these frameworks provide a rich experience for humans, the heavy JavaScript bundles required to load them often lead to timeouts and 404 errors in AI crawling. OpenAI’s bots, for instance, spend nearly 35% of their fetches on 404 pages and redirects, often because they are trying to fetch outdated assets from /static/ folders that no longer exist or they time out before the JS executes.
SPA Visibility Gaps: A Technical Breakdown
The Hydration Failure: AI bots do not wait for "Hydration", the process where client-side JavaScript "wakes up" and populates the HTML. If your content isn't there in the raw HTML, it never exists for the bot.
The Routing Black Hole: Navigation within an SPA that doesn't trigger a full page reload is often invisible to AI crawlers that follow traditional URL paths.
Lazy Loading Gaps: If you lazy-load your text content to save on initial bundle size, you are hiding that data from AI.
Case Study: The E-commerce Visibility Recovery
A mid-sized e-commerce startup built their entire catalog using a client-side React SPA. Despite ranking for niche keywords on Google, they were receiving zero citations in ChatGPT’s shopping guides. A technical audit revealed that when GPTBot visited their site, it saw only the header and footer.
They migrated their product grid and descriptions to Next.js with Server-Side Rendering (SSR). By ensuring the product data was injected into the HTML on the server, they saw a 47% increase in AI crawler engagement within two weeks. Within a month, their products began appearing in ChatGPT and Perplexity recommendations, driving a new stream of high-intent referral traffic.
Expert Warning: If your business-critical text is injected into the DOM after the initial page load via useEffect() or fetch() calls, you have essentially opted out of the AI economy. High-volume AI crawlers prioritize speed; they will not wait for your API to return data.
Google’s Search Generative Experience (SGE), now known as AI Overviews, has changed the criteria for citation. While Googlebot can render JavaScript, the algorithm behind AI Overviews shows a distinct, statistically significant preference for lightweight, static-first websites.
Data indicates that the AI Overview algorithm operates on a different logic than the traditional "blue link" rankings:
43% of SGE sources do not even rank in the top 10 of traditional search for the same query.
Only 17% of SGE citations reference the pages ranking in the top three positions.
YouTube Dominance: 71% of SGE results in the e-commerce space feature a YouTube video fragment. Because Gemini can leverage Googlebot’s infrastructure to "see" and "hear" video content, it can highlight specific timestamps.
The strategic takeaway is that fast is essential, but static is king. AI systems favor pages where headings, lists, and paragraphs are easy to parse without the overhead of JS execution. Heavy bundles lead to timeout errors and missed citation opportunities.
To survive the transition from Search to Synthesis, technical SEOs must adopt an "AI-First Rendering" (AFR) mindset. This doesn't mean moving back to 1995; it means ensuring the server delivers a complete document before the client-side logic takes over.
Server-Side Rendering (SSR)
The Concept: The server generates the full HTML for every request.
Pro: The absolute gold standard for AI visibility. Content is available immediately to all bots.
Con: Higher server costs and complexity in managing the runtime environment.
Frameworks: Next.js (React), Nuxt (Vue).
Static Site Generation (SSG)
The Concept: Content is pre-rendered into static HTML files during the build process.
Pro: Blazing fast performance and 100% visibility.
Con: Not suitable for real-time data like changing stock levels.
Incremental Static Regeneration (ISR)
The Concept: The hybrid middle ground. You pre-render pages but allow the server to update them in the background as data changes.
Pro: Combines the speed of SSG with the freshness of SSR. Excellent for "Content Freshness" scores.
Con: Slight complexity in cache management.
Distributed Persistent Rendering (DPR) & Edge Rendering
The Concept: Generating pages on-demand at the network edge.
Pro: Lowers latency by running SSR functions closer to the user (and the crawler).
Con: Requires modern infrastructure (e.g., Vercel, Netlify).
Technical Implementation: Next.js Example
Ensure you are using getServerSideProps for any content you want cited by an AI:
// Ensuring AI visibility for a product page
export async function getServerSideProps(context) {
// Data is fetched on the server
const res = await fetch(`https://api.brand.com/products/${context.params.id}`);
const data = await res.json();
return {
props: { data }, // Injected directly into the initial HTML response
};
}
export default function Product({ data }) {
return (
<div>
<h1>{data.name}</h1>
<p>{data.description}</p> {/* Visible to GPTBot instantly */}
</div>
);
}
Identifying these gaps manually is impossible at scale. Semrush One, the unified command center for SEO and AI visibility, provides the AI Visibility Toolkit to bridge this divide.
Step 1: Identify Citation Gaps
Use the Competitor Research report within the AI Visibility Toolkit. Enter your domain and your top four competitors. The tool will identify "Citation Gaps", prompts where your competitors are mentioned in ChatGPT or Gemini, but you are missing. Often, this is the first sign that your content is technically unreadable to the AI.
Step 2: Conduct an AI-First Site Audit
Run the Semrush Site Audit but pay close attention to the "Crawler Settings."
1. Run one crawl with "JS Rendering Enabled."
2. Run a second crawl with it disabled.
3. Compare the "Crawlability" vs. "Renderability" scores. If your core text only appears in the JS-enabled crawl, you have a massive AI visibility gap.
Step 3: Analyze Narrative Sentiment
Use the Brand Performance heatmap. This report shows which attributes AI models associate with your brand. If your "Pricing" or "Features" scores are low despite you having competitive data, it’s likely because the AI bot couldn't read your dynamic pricing tables or feature lists.
Step 4: Map Sources of Influence
AI models trust third-party sources (Reddit, Quora, niche blogs). Use Semrush One to identify which domains are influencing the AI’s narrative about your industry and ensure those domains aren't citing your competitors solely because their sites are easier to crawl.
Use this checklist as your final pre-deployment audit for any page.
[ ] The Curl Test: Run curl https://yoursite.com. If your H1, H2, and core value props aren't in the raw text output, you are invisible.
[ ] Raw JSON-LD: Ensure Schema markup is in the raw HTML. AI crawlers rarely see schema injected via client-side JS.
[ ] Robots.txt Integrity: Verify you aren't blocking .js or .css files. While bots may not execute them, they use them to understand your site's structure.
[ ] Server Log Monitoring: Check for 200 status codes for GPTBot, ClaudeBot, and OAI-SearchBot. Monitor for timeout errors.
[ ] Performance Target: Aim for full page loads (FCP) within 2.5 seconds for humans, but ensure the "Initial Paint" for bots is instantaneous.
[ ] Semantic HTML: Ensure your data is in <table>, <ul>, and <p> tags within the raw HTML, not just "div soup."
The internet has changed. Discovery is no longer about blue links; it’s about being the data source for the world's most powerful LLMs. The transition from Search to Synthesis rewards clarity, speed, and technical simplicity.
The "HTML-First" mindset is not a regression to a simpler time; it is a sophisticated evolution. It recognizes that in a world of limited energy and infinite data, the most readable site wins. If you want to be cited, summarized, and remembered by the AI’s memory, you must be readable from the very first byte.
The internet has enough data without your JavaScript-heavy site. If you want to be remembered by the AI's memory, you must be readable.
Created with © Systeme.io
Disclaimer: This page contains affiliate links. If you purchase through these links, we may earn a commission
at no extra cost to you. We only recommend tools we trust.