ExplainerTechnical AEO

JavaScript Rendering and AI Visibility: Why Your Content May Be Invisible

by 3 min read

Short answerjavascript rendering and ai visibility

Googlebot renders JavaScript, eventually. Most AI crawlers do not. They fetch the HTML your server returns, read what is in it, and move on. If your pricing table, comparison grid, FAQ accordion, or product specs are assembled in the browser after load, an answer engine may see a header, a footer, and nothing in between.

This is one of the most common and least visible reasons a company is absent from AI answers, because the pages look perfect to every human who visits them.

How to tell if it affects you

The view-source test. Open a key page, view the raw source (not the inspector, which shows the rendered DOM), and search for a specific fact: a price, a feature name, an FAQ answer. If it is not in the source, a non-rendering crawler cannot see it.

The curl test. Fetch the page from the command line with an AI crawler's user agent and read what comes back. This is what the engine gets.

The disabled-JS test. Turn off JavaScript in the browser and reload. Whatever disappears is at risk.

The log test. Check server logs for AI crawler user agents and see which URLs they fetched and what size the responses were. Tiny responses on content-heavy pages are a tell.

The usual culprits

  • Single-page application frameworks without server-side rendering or static generation.
  • Pricing tables and comparison widgets loaded from an API after page load.
  • FAQ accordions whose answers are fetched or injected on click.
  • Tabbed content where only the first tab is in the HTML.
  • Schema injected by tag managers rather than placed in the initial HTML.
  • Content behind consent or cookie gates that render the page only after acceptance.

Fixing it

Server-side render or statically generate the pages that matter for AI visibility: homepage, pricing, product, comparisons, FAQs, docs. Modern frameworks support this; it is usually a configuration decision, not a rewrite.

Put facts in the HTML. Even if interactivity is added later, the price, the feature list, and the FAQ answers should be present in the server response.

Ship schema in the initial HTML, not via a tag manager. JSON-LD in the <head> or body, present on first fetch.

Make tabs and accordions progressive. All content in the HTML, with JavaScript enhancing display rather than supplying content.

Serve full content before consent, with the consent banner as an overlay rather than a gate.

What about Google?

Google can render JavaScript, but rendering is queued and resource-limited, and AI Overviews draw on what Google has indexed. Pages whose core content depends on rendering are indexed later and sometimes incompletely. Server-side rendering helps there too; it is not only an "other engines" fix.

A quick priority list

You do not need to re-platform the whole site. Rank pages by how often they should be cited and fix those first: pricing, the top three comparison pages, the product overview, and the FAQ. That set usually covers the majority of buyer questions.

How we check it

AEO GEO Labs runs a rendering check on every audited site, fetching key pages as each engine's crawler would and comparing what they receive to what a browser shows. The free JavaScript visibility checker does the single-page version of this. When the gap is large, fixing it is the first recommendation, because nothing written on a page the engines cannot read will ever be quoted.

Check one page now

View the source of your pricing page and search for your actual price. If it is not there, that is the fix to make before any content work. To see which of your key pages the engines can and cannot read, AEO GEO Labs includes the full rendering check in the free report.

Keep reading

More on technical aeo

All posts

Rather not do it yourself? We'll get you named in AI answers.

Reading is the slow way. In 20 minutes we'll show you who ChatGPT recommends instead of you, and the three fixes we'd make first.

Book a call

Or get the free AI visibility report by email.

no strings, really