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
- Fetch your page with curl and confirm the headline, body copy and links are in the raw HTML
- Use server-side rendering or static generation for marketing, docs and product pages
- Set canonical, noindex and structured data in the HTML, not via JavaScript
Example
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
- Understand JavaScript SEO basics · Google Search Central, Mar 4, 2026
- The rise of the AI crawler · Vercel, Dec 17, 2024
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.