SEO glossary · Updated
JavaScript SEO: making JavaScript sites crawlable
JavaScript SEO is making sure content and links that depend on JavaScript can be found, rendered and indexed by search engines and AI crawlers.

Founder, SEO·AEO·GEO
Builds SEO·AEO·GEO and writes the crawler, schema, and citation research published here.
JavaScript SEO deals with sites where the page content, links or metadata are created by JavaScript in the browser, such as single-page apps built with React, Vue or Angular. If crawlers can't run that JavaScript, they may see an empty page.
How Google handles JavaScript
Google processes JavaScript pages in three phases: crawling, rendering and indexing. Rendering happens in a headless Chromium, sometimes after a delay. Google can index JavaScript-built content, but its own guide recommends server-side rendering or pre-rendering because it's faster for users and crawlers and not all bots can run JavaScript.
AI crawlers don't run JavaScript
AI search and training crawlers such as OAI-SearchBot, GPTBot, ClaudeBot and PerplexityBot fetch HTML without executing scripts. Content that only appears after JavaScript runs is invisible to them, so a client-rendered app can be well indexed by Google and still never cited by ChatGPT or Perplexity.
Rendering options
| Approach | What crawlers get | Good for SEO |
|---|---|---|
| Server-side rendering (SSR) | Full HTML on every request | Yes |
| Static site generation (SSG) | Full HTML built ahead of time | Yes |
| Hydration (SSR or SSG plus client JS) | Full HTML, then interactivity | Yes |
| Client-side rendering (CSR) only | An empty shell until scripts run | Risky |
| Dynamic rendering | Pre-rendered HTML for bots only | A workaround Google no longer recommends |
JavaScript SEO checklist
- Main content, title, meta description, canonical and structured data in the server's HTML.
- Links as <a href> elements, not click handlers.
- Each view has its own URL (no #fragment-only routing).
- Proper HTTP status codes, including real 404s.
- Don't block JavaScript or CSS files in robots.txt.
- Lazy-load below-the-fold content in a way crawlers can still find.
PWAs follow the same rules: the app shell plus server-rendered content. AMP is no longer required for Google's Top Stories, so most sites don't need it.
Check it on your own site
What the free audit tests for this
- Raw HTML visibility
- Internal links
- Shadow DOM
One URL, about 20 seconds, no login. You get the result of every check and the exact fix for the top three issues.
Audit your website freeFAQ
Can Google index JavaScript websites?+
Yes, Google renders JavaScript. It recommends server-side or pre-rendering anyway, because it's faster and other crawlers may not run JavaScript.
Is client-side rendering bad for SEO?+
It's risky. Google can usually index it, with delays and failure modes; AI crawlers can't read it at all.
Do I still need AMP?+
Google no longer requires AMP for Top Stories. Most sites don't need it if their pages are fast.
Sources
- Understand JavaScript SEO basics — Google Search Central
- Fix Search-related JavaScript problems — Google Search Central
- Dynamic rendering as a workaround — Google Search Central