# Pages whose content only appears after JavaScript

A per-URL report: one row per page that matches, over the pages a crawl reached.

## What this report returns

Many AI agents and crawlers read the raw HTML response and never execute JavaScript. On these pages the meaningful content only exists after client-side JS runs: the main content area is empty in the static HTML, the raw response is near-empty, or only navigation chrome is server-rendered, so no-JS agents see a shell instead of the content.

A row appears here when any of these is wrong, worst first:

-   **Primary Content Empty**The main content area (&lt;main&gt; or &lt;article&gt;) exists in the raw HTML but is empty; the layout is server-rendered while the content is filled in client-side, so no-JS agents get a shell.**Fix** `Server-render` (SSR/SSG/prerender) the main content into that element.
-   **Content Only After JS**The raw HTML response carries almost no readable text; the content appears only after client-side JavaScript runs, which many agents and crawlers never execute.**Fix** `Server-render` or prerender the page so the HTTP response itself contains the content.
-   **Boilerplate Only**The raw HTML is mostly navigation/chrome; the primary content region the browser shows was never server-rendered, so no-JS agents read boilerplate instead of the content.**Fix** `Server-render` the primary content region, not just the layout.

## The columns it shows

Every defect this technology can carry is a column in the grid, worst first, so nothing is hidden behind a filter you have to know to apply.

-   Server-Rendered Content Valid`ssrValid`
-   SSR Findings`ssrFindings`
-   SSR Text Before JavaScript (Characters)`ssrStaticTextChars`
-   SSR Text After JavaScript (Characters)`ssrRenderedTextChars`
-   SSR Text Served Without JavaScript (%)`ssrStaticSharePercent`
-   SSR Primary Content Empty`ssrPrimaryContentEmpty`
-   SSR Content Only After JS`ssrContentOnlyAfterJs`
-   SSR Boilerplate Only`ssrBoilerplateOnly`
-   SSR Low Static Share`ssrLowStaticShare`

## About Server-side rendering

Whether the content exists before JavaScript runs. Most agents never run it.

[Read how Server-side rendering is checked](https://agentic-readiness.lumar.io/docs/content/ssr), including the specification it is validated against and a worked correct and broken example.

## Running it

This report comes with Agentic Readiness in Lumar and appears on every crawl of any project that has it turned on. [See the whole set](https://agentic-readiness.lumar.io/scan-at-scale), or check a single URL with the [scanner on this site](https://agentic-readiness.lumar.io/), which runs the same code with no account.

[Get Lumar pricing →](https://www.lumar.io/pricing/)
