JavaScript SEO: server-render your content for Google and AI crawlers

JavaScript SEO comes down to one rule: put your headline, body copy and links in the initial HTML. Google renders JavaScript, but it queues pages for rendering and still recommends server-side rendering or pre-rendering. A Vercel analysis found that GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot and PerplexityBot do not execute JavaScript, so a client-rendered page looks empty to them.

The rule: Ship primary content in the initial HTML; most AI crawlers don't execute JavaScript

Impact Evidence Applies to Last checked
High Proven in studies Google, Bing, ChatGPT, Perplexity, Claude Oct 30, 2026

Why it matters

Google renders JavaScript but queues it, and still recommends server-side or pre-rendering. A Vercel and MERJ analysis of crawler traffic found that GPTBot, OAI-SearchBot, ChatGPT-User and ClaudeBot fetch JavaScript files but do not execute them. A client-rendered page looks empty to those crawlers.

How to do it

  1. Fetch your page with curl and confirm the headline, body copy and links are in the raw HTML
  2. Use server-side rendering or static generation for marketing, docs and product pages
  3. Set canonical, noindex and structured data in the HTML, not via JavaScript

Example

Check what a non-rendering crawler sees
curl -s https://www.example.com/pricing | grep -i "<h1"

Questions

Does Google render JavaScript?

Yes. Google processes JavaScript pages in three phases: crawling, rendering and indexing. Every page that returns 200 goes into a rendering queue, where it can wait a few seconds or longer before headless Chromium executes the JavaScript. Google still recommends server-side rendering or pre-rendering because it is faster and not every bot runs JavaScript.

Can ChatGPT read JavaScript websites?

Not content that only appears after JavaScript runs. Vercel's crawler analysis found OAI-SearchBot, ChatGPT-User and GPTBot do not render JavaScript; ChatGPT fetched JavaScript files in 11.50% of its requests but never executed them. Gemini and AppleBot were the crawlers in that study that did render.

Is client-side rendering bad for SEO?

For primary content, yes. Use server-side rendering, static generation or incremental static regeneration for marketing, docs and product pages, and keep client-side rendering for non-essential features. Confirm with curl that the headline, copy and links are in the raw HTML.

Can I set canonical or noindex tags with JavaScript?

You can, but put them in the HTML instead. Google says never to use JavaScript to change the canonical to a different URL than the one in the original HTML. When Google sees a noindex tag it may skip rendering, so removing noindex with JavaScript may not work.

Sources

Change history

Date Change What changed
Oct 30, 2026 Added Added to the rulebook.

Checked against its sources every Monday. Only content changes are listed.