Acclaira

Chapter Six · Lever Two

Be readable by a machine that will not wait

The most common reason a good business is invisible to AI has nothing to do with content. Their site is built so that the words only appear after JavaScript runs — and the major AI crawlers do not run JavaScript.

Chapter 6 of 26 · 4 min read

The analogy

You send a courier to collect a document. They have ninety seconds and a hundred other stops. They will take whatever is sitting on the reception desk.

Your document is in a safe. The safe opens automatically, but it takes four seconds and requires the building's electricity. Google's courier has a key and is willing to wait. The AI couriers are not. They look at the desk, see nothing, and leave.

Your document is perfect. It has never been collected.

The evidence, and it is unusually clear

Vercel and MERJ instrumented real crawler traffic across their network and published the telemetry. This is not a survey or an inference — it is a log of what the bots actually did. TIER A

CrawlerMonthly fetches observedExecutes JavaScript?
Googlebot4.5 billionYes
GPTBot (OpenAI)569 millionNo
ClaudeBot (Anthropic)370 millionNo
AppleBot314 millionYes
PerplexityBot24.4 millionNo

Vercel / MERJ, "The rise of the AI crawler". The study found zero evidence of JavaScript execution by GPTBot across its sample. The bots do sometimes download JavaScript files — around 11.5% of ChatGPT's fetches and 23.8% of Claude's — but downloading is not executing.

This is not an oversight anyone is racing to fix. Rendering JavaScript at the scale of hundreds of millions of fetches a month is expensive in compute and slow. Skipping it keeps retrieval fast and cheap. Treat it as a design decision that will hold for the foreseeable future, not a temporary gap.

If your product descriptions, pricing, FAQs or service pages only exist after JavaScript runs, they do not exist for ChatGPT, Claude or Perplexity. Not "rank poorly". Do not exist.

Who this hits

You are at risk if your site is a single-page application, or built on a JavaScript framework in client-rendered mode, or if key content loads through tabs, accordions, "load more" buttons, or third-party widgets. Common examples:

  • A React or Vue site rendered entirely in the browser.
  • Pricing tables pulled from an API after page load.
  • Reviews or testimonials injected by an external widget.
  • FAQ answers hidden inside accordions that only populate on click.
  • Product specifications loaded into a tab that is empty until selected.

You are probably fine if your site is WordPress with a conventional theme, plain HTML, Shopify's standard storefront, or a static-site generator. "Probably" is doing work in that sentence — check anyway, because plugins and widgets reintroduce the problem quietly.

How to check — the definitive test, free, two minutes

In your browser, open your most important page and press Ctrl+U (Cmd+Option+U on Mac). This shows the raw HTML exactly as a non-rendering crawler receives it — not the inspector, which shows the page after JavaScript has run. That distinction is the whole test.

Now press Ctrl+F in that view and search for a distinctive sentence from your page body. If you find it, you are fine. If the raw HTML is mostly <div id="root"></div> and a pile of script tags, your content is invisible to three of the five engines.

Repeat for: your homepage, your main service page, your pricing page, and your contact page.

What to do if you fail the test

In order of preference:

1
Server-side render or pre-render

Every serious framework supports it — Next.js, Nuxt, SvelteKit, Astro. The content is generated into the HTML before it is sent. This is the correct fix and it also makes the site faster for humans.

2
Move critical facts into the server-rendered HTML even if the rest stays dynamic

You do not need to rebuild everything. Prices, service descriptions, locations, opening hours and FAQ answers are the content that gets retrieved. Get those into the initial HTML and you have captured most of the value.

3
Un-hide accordion and tab content

Content inside a collapsed accordion is usually in the HTML and simply hidden with CSS — which is fine. Content that is fetched when you click is not. Know which kind you have.

4
Publish a plain HTML version of your most important content

A pragmatic stopgap if a rebuild is months away. Not elegant, entirely effective.

The second finding from that study, which nobody talks about

Around 34.8% of ChatGPT's crawler fetches and 34.2% of Claude's landed on 404 pages, against 8.2% for Googlebot. TIER A These crawlers are working from stale or guessed URL lists and burning a third of their effort on pages that do not exist. Two implications: keep your sitemap accurate and current, and always redirect old URLs properly instead of letting them 404. You are cleaning up someone else's mess, but it is your visibility.

If you only do one thing

Press Ctrl+U on your four most important pages today and search the raw source for your own sentences. If they are not there, nothing else in this book will help until they are.

Read the whole book

Answering Machines is 26 chapters on being the answer when your customer stops searching and starts asking. Free, ungated, and every figure is sourced and confidence-rated.