Technical

How to fix content that only appears after JavaScript

Most of the text on these pages only appears after JavaScript runs. Search engines do render JavaScript, but later and less reliably, so content that is not in the HTML your server sends may never be indexed.

What it is, and what it costs

On these pages the initial HTML is nearly empty and the real content is injected by JavaScript in the browser. Google renders JS on a second pass, but it is slower, rate-limited, and occasionally incomplete, so client-only content can be missed or indexed late. This mostly bites single-page apps and JS-heavy frameworks.

How to fix it

Serve the main content in the initial HTML, using server-side rendering (SSR) or static generation (SSG) for the pages you want found.

  • Next.js / Nuxt / SvelteKit: use SSR or SSG for public, indexable routes instead of client-only rendering.
  • React/Vue SPA: add a prerender or SSR layer for crawlable pages, or move key content into the server-rendered shell.

How to check your site

Compare the page with JavaScript disabled against the normal view; if the content vanishes, it is client-only. Google's URL Inspection tool shows the rendered HTML Google actually sees.

What this looks like in practice

A SPA rendered its entire product catalogue client-side. The server sent an empty shell, and Google indexed almost none of the products. Adding server-side rendering for product pages got them into the index.

Questions people ask

Does Google not run JavaScript now?
It does, but on a delayed, resource-limited second pass. Content in the initial HTML is indexed faster and more reliably; SSR/SSG removes the risk.

Does your site have this?

Check your site to see which pages hide their content behind JavaScript.

See also

All SEO checks →