SEO·AEO·GEO

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.

Aalhad, Founder, SEO·AEO·GEO

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

ApproachWhat crawlers getGood for SEO
Server-side rendering (SSR)Full HTML on every requestYes
Static site generation (SSG)Full HTML built ahead of timeYes
Hydration (SSR or SSG plus client JS)Full HTML, then interactivityYes
Client-side rendering (CSR) onlyAn empty shell until scripts runRisky
Dynamic renderingPre-rendered HTML for bots onlyA workaround Google no longer recommends

JavaScript SEO checklist

  1. Main content, title, meta description, canonical and structured data in the server's HTML.
  2. Links as <a href> elements, not click handlers.
  3. Each view has its own URL (no #fragment-only routing).
  4. Proper HTTP status codes, including real 404s.
  5. Don't block JavaScript or CSS files in robots.txt.
  6. 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 free

FAQ

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

  1. Understand JavaScript SEO basics — Google Search Central
  2. Fix Search-related JavaScript problems — Google Search Central
  3. Dynamic rendering as a workaround — Google Search Central