Article · technical
Your site ranks on Google and is invisible to AI. Here is why.
The most common AEO failure we find has nothing to do with content. Google renders JavaScript; the AI crawlers do not. A page can sit at position one in Search Console and be a blank shell to ChatGPT, Perplexity and Claude, and nobody notices because every dashboard is green.
Every few weeks we audit a site that is doing everything right by the standards of 2022. It ranks. Search Console is a wall of green. The agency report shows keyword positions climbing. And when you paste the pricing page into ChatGPT and ask what the company charges, the answer is "the page does not appear to contain that information", followed by a price quoted from a directory listing.
The owner is usually baffled. The site is right there. They can see the prices. So can Google. The problem is that ChatGPT is not Google, and neither is Perplexity or Claude.
Two different machines reading the same page
Google spent more than a decade building a rendering pipeline. Googlebot fetches your HTML, queues the page, runs the JavaScript in a headless browser, waits for the content to appear, and indexes the result. In March 2026 Google was confident enough in that pipeline to remove its long-standing warning about keeping pages functional without JavaScript.
The AI crawlers did not build that pipeline. When Vercel and MERJ analysed hundreds of millions of crawler requests, they found that GPTBot and ClaudeBot downloaded JavaScript files, sometimes a quarter of their requests were for scripts, and never executed them. Follow-up tests through 2026 report the same behaviour from OAI-SearchBot, Claude-SearchBot and PerplexityBot. They fetch the raw HTML, extract the text that is already in it, and move on. No render, no wait, no second pass.
So the same URL produces two different documents. For Google, the full page. For every other AI engine, whatever was in the HTML before any script ran. If your pricing table, your service descriptions or your reviews are built by JavaScript, that second document has a hole where they should be.
Why nobody notices
Because every tool you use to check your site is either a browser or Google. Your browser runs the JavaScript, so the page looks complete. Search Console reports Google's view, which is complete. Rank trackers report Google positions. Lighthouse runs in a browser. There is no red light anywhere in the standard SEO toolkit for "the raw HTML is empty".
And the symptom is quiet. The AI engine does not tell you it could not read your page. It answers the question from somewhere else. The customer gets a price from a competitor or a review site, and you never find out the conversation happened.
The pages that fail are the pages that matter
Homepages are usually fine; they are mostly static text. The failures cluster on the pages AI engines need most:
- Pricing pages built with plan-comparison widgets that fetch from an API.
- Product pages where price and stock are injected by an app.
- Service pages with tabbed content or accordions that load on click.
- Review sections pulled in by a third-party script.
- Contact pages where the address and hours come from a maps or booking widget.
These are exactly the facts a customer asks an assistant for: how much, is it available, do they do X, are they any good, where are they. When the engine cannot read your answer, it goes to whoever states it in plain text.
What "fixed" looks like
The content has to be in the HTML the server sends. That means server-side rendering or static generation for the pages that carry the facts. On Next.js and similar frameworks it usually means moving data fetching out of client components. On WordPress it usually means replacing an AJAX-driven plugin with one that outputs HTML, or simply writing the key facts as normal text. On Shopify it means checking which apps inject price and reviews. On Webflow, Wix and Squarespace it means moving facts out of custom embeds into native elements.
Where a widget cannot be replaced, a plain sentence above it does the job: "Plans start at £49 a month; full comparison below." The engine reads the sentence even if it cannot read the table.
The test is always the same: View Page Source, search for the fact. If it is there, the crawlers can see it.
The Bing angle makes it worse
ChatGPT's search leans heavily on Bing's index, and Bing's JavaScript rendering is limited and inconsistent. So client-side content is doubly exposed for ChatGPT: the crawler cannot read it directly, and the index it retrieves from may not have it either. Fixing rendering is the single change that helps Bing, ChatGPT, Perplexity and Claude at the same time.
What to do this week
Open your five most important pages in View Page Source and check for the facts. For any that fail, decide whether to change the component or add a plain-text summary. Then paste each URL into ChatGPT with search on, ask it to state the price and services, and keep going until it can. Our step-by-step guide covers the fix for each platform.
Ranking on Google is still worth having. It is just no longer proof that anyone else can read your site.
Frequently asked questions
How do I know if my site has this problem?
+
View Page Source (not Inspect) on your pricing or services page and search for a price or a service name. If it is not in the source, it is rendered by JavaScript and most AI crawlers cannot see it. Then paste the URL into ChatGPT with search on and ask it to summarise the page.
Is Gemini affected too?
+
Less so. Gemini and Google's AI Overviews use Google's index and rendering pipeline, so client-side content usually reaches them, with delays. ChatGPT, Perplexity and Claude fetch raw HTML only.
Sources
- Vercel: The rise of the AI crawler · vercel.com
- Lantern: AI crawlers do not render JavaScript · asklantern.com
- Google Search Central: JavaScript SEO basics · developers.google.com
Richard Daniel
Automation and Delivery Lead, Emerging Group
Richard leads automation and delivery across the Emerging group, working with EDP on client websites and with ETT on enterprise AI and process automation. He is the person who turns an audit finding into a working fix: crawler access, rendering, tracking, structured data and the plumbing that most marketing teams never see. He writes the technical guides on this site.
Read next
You probably blocked the AI crawlers. Most sites did it by accident.
Between Cloudflare's default settings, security plugins with a 'block AI bots' toggle, and robots.txt block lists copied from forums in 2024, a large share of business websites have opted out of AI search without anyone deciding to. Here is how it happens and how to tell if it happened to you.
You are the only one talking about you
Every large citation study in 2026 lands in the same place: AI engines lean on Reddit, Wikipedia, YouTube, LinkedIn, editorial sites and review platforms, and cite brand-owned pages far less than owners expect. A business whose only source about itself is its own website is asking to be taken on.
The schema problem: most sites have none, and the rest have it wrong
Structured data is sold as a cheat code for AI search. It is not, and the evidence says so. What it actually does is stop engines misidentifying your business and misreading your pages, and on most sites we audit it is either absent or actively wrong. Here is what we find and what to do about it.
Get in touch