Page indexed without content high
Page indexed without content
Googlebot indexed the URL but rendered no meaningful content, leaving a near-empty page in the index.
What you see
Page indexing Why pages aren't indexed Indexed without content
What’s actually happening
The URL is in Google's index, yet Google reports it has no usable content. The page is full of text and images when you open it, which makes the warning feel wrong. The mismatch happens because Googlebot fetched the HTML, attempted to render it, and ended up with a blank or near-blank result. Pages stuck here rank for nothing because, as far as the index is concerned, there is nothing on them.
Common causes
- Client-side rendering that fails for the crawler — the initial HTML is an empty `<div id="root">` and the JS that fills it errors, times out, or depends on an API the bot can't reach
- Robots.txt blocking the JS/CSS bundles Google needs to render, so the page paints empty even though the script exists
- A cloaking mismatch where the server returns different (thin or empty) markup to Googlebot's user-agent than to human visitors
- Content injected only after a user interaction (click, scroll, cookie consent) that the crawler never performs
- A rendering crash from an unsupported API or an unhandled JS exception that halts hydration before any content mounts
How to fix it
- See what Google actually renderedUse URL Inspection > Test Live URL > View Crawled Page > screenshot and rendered HTML. If the screenshot is blank or the HTML lacks your body content, you've reproduced the problem from Google's side.
- Unblock JS and CSS in robots.txtMake sure `/robots.txt` does not `Disallow` your script and style directories or third-party bundle hosts. Google must download and execute these to render a JS-built page; blocking them guarantees an empty render.
- Serve content in the initial HTMLFor a CSR app, add server-side rendering, static generation, or prerendering so the document arrives with real content instead of an empty root div. This is the durable fix for indexed-without-content on JS-heavy sites.
- Check for cloaking and gated contentCompare the response with `curl -A "Googlebot" https://yoursite.com/page` against a normal request. If they differ materially, fix the conditional logic. Render primary content on load rather than behind a click or consent gate.
- Validate and resubmitOnce Test Live URL shows your content in the rendered HTML, hit Validate Fix in the report and Request Indexing for the affected URLs.
Stop it recurring
Test every template with JavaScript disabled (or via Test Live URL) before launch so empty renders are caught pre-index.
Related errors