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
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
- How to improve your Core Web VitalsGoogle watches how quickly your page becomes usable and how much it shifts around as it loads, and it feeds that into ranking. The more direct problem is simpler: a slow page loses readers before they see anything at all.
- How to fix a missing mobile viewport tagWithout a viewport tag, a phone draws your page at desktop width and then shrinks the whole thing to fit. Text comes out too small to read, taps land on the wrong link, and Google indexes the mobile version of your site, so this is the version that counts.
- How to fix a missing character encodingThese pages do not declare a character set, so the browser guesses. When it guesses wrong, accented characters and quotation marks come out as garbage.
- How to make your pages mobile-friendlyThese pages fix their layout to a desktop width in pixels. On a phone that means horizontal scrolling and tiny text, and since Google ranks what it sees on mobile, it is the version that counts.