We respect your privacy.

We use strictly necessary cookies to keep you signed in and to protect against CSRF. With your permission we also use a small amount of first-party analytics to improve the product. We do not sell your data and we do not use third-party advertising trackers. See our cookie policy and privacy policy .

← All learn topics

Rule page.rendering.js-dependent-content

Server-render your main content so non-JS AI crawlers can read it

page.rendering.js-dependent-content is a check in Crawlmind's site audit that grades high-impact issues of this kind. This page explains why the rule matters and the exact fix.

Impact: highEffort: high

Why it matters

We fetched this page twice — once as raw HTML and once with a full browser — and the raw HTML held only a small fraction of the rendered text. Google renders JavaScript, but the AI crawlers you care about mostly do NOT: GPTBot, ClaudeBot, PerplexityBot and CCBot read the raw HTML response and move on. If your content is injected client-side, those crawlers see a near-empty page and can't cite you. This is usually the single highest-impact AI-visibility fix for a client-rendered SPA.

The fix

Get the main content into the initial HTML response. Options, easiest first:

- **Framework SSR/SSG/ISR.** Next.js, Nuxt, Remix, SvelteKit and Astro all render on the server by default — make sure your content pages use server components / `getStaticProps` / `getServerSideProps` (or the equivalent) rather than fetching in a client-only `useEffect`.
- **Pre-rendering.** If you can’t adopt SSR, pre-render key routes to static HTML at build time, or put a pre-render service (e.g. Prerender.io) in front of bot traffic.
- **Progressive enhancement.** Ship the core text + headings in the HTML and use JS only to enhance, not to create, the content.

Verify the fix by fetching the raw HTML directly (no browser):

```bash
# The main article text should be present in this output.
curl -sL https://example.com/your-page | grep -o "a distinctive sentence from your body copy"
```

If `curl` shows the content, so will GPTBot and friends.

References