Skip to content

DISC-006Find

Content available without JavaScript

Checks how much of your product pages' text is present in the HTML before any JavaScript runs.

What we check

On up to three product pages we compare the length of the visible text in the raw HTML your server sends with the length of the text after the page has been rendered in a browser. For each page we compute raw text length divided by rendered text length (capped at 1), then take the average across the pages.

Why it matters

Many AI crawlers and assistants fetch pages without running JavaScript, and those that do render may stop when a time budget runs out. If your product name, price, availability and description only appear after scripts run, those agents see an empty or partial page and cannot describe, compare or recommend the product accurately. The linked sources document several agents that fetch HTML without running JavaScript. The share-of-text threshold is ours; no external standard sets one.

How we check

PASS: the average ratio is 0.6 or higher, meaning the raw HTML carries at least 60% as much text as the rendered page. FAIL: the average is below 0.6; this check does not give a WARN. A page whose rendered text is empty counts as a ratio of 1. SKIPPED: no product page rendered successfully, so there is nothing to compare against. We never read a failed render as a page with no content.

How to fix it

  1. Render product pages on the server (server-side rendering or static generation) so the name, price, availability and description are in the initial HTML.
  2. If your storefront is a single-page app or a headless front end, turn on your framework's server-side rendering mode or add prerendering for product and category routes.
  3. Keep JSON-LD structured data in the initial HTML as well.
  4. Standard Shopify themes and WooCommerce themes render product content on the server; if your result is FAIL on those platforms, look for apps, plugins or theme code that load product content with JavaScript.
  5. Check a product page with JavaScript disabled, or view its source, to see what a non-rendering agent receives.

What good looks like

Initial HTML response (before JavaScript):

<main>
  <h1>Linen Shirt</h1>
  <p class="price">€49.00</p>
  <p>In stock</p>
  <p>Relaxed-fit shirt in washed European linen. Mother-of-pearl buttons.</p>
  <form method="post" action="/cart/add">...</form>
</main>

Not this:

<body>
  <div id="root"></div>
  <script src="/app.js"></script>
</body>

Sources

Read more

  • How an AI agent reads a web page

    Raw HTML, the rendered page, the accessibility tree, structured data, Markdown versions and llms.txt, and what each one means for an agent trying to read your product page.

Could an agent buy from your store?

The free scan runs all 51 checks on your store in about five minutes.

Scan my store
The storewalk.ai app on a phone, scanning a clothing store: it checks a product, views its details and compares options.