Preferences

Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website. More information (Cookie Policy)

Accept all cookies

JavaScript SEO in 2026: Rendering, Indexing and AI Crawlers

JavaScript SEO guide: how Google crawls, renders and indexes JS pages, CSR vs SSR vs static rendering, why AI crawlers often miss JS content, and how to test and fix it.

Published on:
16/10/2026
-
Updated on:
16/10/2026
Abstract illustration of JavaScript SEO: code brackets turning into a rendered web page read by a search crawler

Tools

Thibault Besson-Magdelain, founder of Sorank

About Author

Thibault Besson-Magdelain

Founder of Sorank, 7+ years of experience in SEO, GEO enthusiast.
On this page

In short

JavaScript SEO makes sure that content and links generated by JavaScript can be crawled, rendered and indexed. Google can render JavaScript, but in a separate step that can be delayed and that fails when scripts are blocked or need a click. Many AI crawlers do not execute JavaScript at all. The safest setup is server-side rendering or static generation, real "a href" links, and the important content present in the initial HTML.

Want to go further? Ask

Modern frameworks such as React, Vue, Angular or Svelte build pages in the browser. That is great for interactivity and risky for visibility. JavaScript SEO is the set of practices that keeps a JS site readable by search engines and by the AIs. This guide explains how Google processes JavaScript, the rendering options, the common mistakes and how to test your pages.

How does Google process JavaScript pages?

In three phases: crawling, rendering, indexing. Google Search Central describes the pipeline this way:

  1. Crawling: Googlebot fetches the URL and reads the raw HTML. Links found here are queued immediately.
  2. Rendering: the page waits in a render queue, then a headless Chromium runs the JavaScript and builds the final page.
  3. Indexing: Google analyzes the rendered content, then decides whether and how to index it.

The consequence: anything missing from the raw HTML depends on the rendering step succeeding. If a script fails, times out or is blocked by robots.txt, Google indexes what it saw before, which may be an empty shell.

What is the difference between CSR, SSR and static rendering?

The difference is where the HTML is built: in the browser, on the server for each request, or once at build time.

Rendering modeHow it worksSEO impact
Client-side rendering (CSR)Server sends minimal HTML; JavaScript builds the page in the browserHighest risk: content depends on rendering, often invisible to AI crawlers
Server-side rendering (SSR)Server builds full HTML for each request, then JavaScript hydrates itSafe: content and links in the first HTML
Static generation (SSG)HTML generated at build time and served as filesSafest and fastest for content pages
Hybrid (SSR or SSG plus islands)Static or server HTML, JavaScript only for interactive partsGood balance for most sites
Dynamic renderingBots receive a pre-rendered version, users the JS appWorkaround that Google no longer recommends

Frameworks such as Next.js, Nuxt, SvelteKit or Astro make SSR and static generation the default for content pages. For a blog, documentation or product pages, there is rarely a reason to render content only in the browser.

What are the most common JavaScript SEO mistakes?

Most issues come from content or links that only exist after an interaction.

  • Links without href: navigation built with click handlers on "div" or "span" elements is not followed. Use real "a href" links.
  • Content behind interactions: text loaded only after a click, a tab change or infinite scroll may never be rendered by Googlebot.
  • Blocked resources: JavaScript or API files disallowed in robots.txt prevent rendering.
  • Metadata set late: titles, canonicals or noindex tags changed by JavaScript can conflict with the raw HTML.
  • Hash URLs: fragments such as "/#/product" are not treated as separate pages; use the History API and clean paths.
  • Soft 404s: a single-page app that shows "not found" with a 200 status code confuses indexing.
  • Heavy bundles: large scripts slow rendering, hurt Core Web Vitals and increase the risk of timeouts.

Why does JavaScript matter for AI visibility?

Because most AI crawlers read the raw HTML only. Crawler log analyses, such as Vercel's 2024 study of AI crawler traffic, found that the bots of OpenAI and Anthropic fetch JavaScript files but do not execute them. A page whose text appears only after JavaScript runs may look empty to the systems that feed ChatGPT, Claude or Perplexity, even if Google indexes it correctly.

If being cited by the AIs matters to you, put the main answer, headings, tables and links in the server HTML, and check that your robots.txt lets the AI crawlers you want in. Our guide on robots.txt for AI crawlers lists the main bots, and the AI crawlability audit shows what they can read on your pages.

How do you test JavaScript SEO?

Compare the raw HTML with what Google renders.

  1. View the page source (not the inspector): if your main content is missing, it depends on JavaScript.
  2. Use the URL Inspection tool in Google Search Console and look at the rendered HTML and the screenshot.
  3. Run the Rich Results Test, which also shows rendered HTML for any public URL.
  4. Disable JavaScript in your browser to see roughly what non-rendering crawlers get.
  5. Crawl the site with a crawler in JavaScript mode and without it, then compare the links and words found.
  6. Check indexing status of key URLs with an indexability checker.

What is a JavaScript SEO checklist?

Six rules cover most cases:

  • Main content, title, meta description and canonical present in the initial HTML.
  • Internal links as "a href" elements with crawlable URLs.
  • No JavaScript, CSS or API files blocked in robots.txt.
  • Correct HTTP status codes for missing pages and redirects.
  • Lazy loading only for below-the-fold media, never for main text.
  • Rendering tested in Search Console after each major front-end release.

Conclusion

JavaScript and SEO work together when the content does not depend on JavaScript to exist. Render content pages on the server or at build time, keep links real and test what Google and the AIs actually see. Sorank publishes its articles as clean HTML directly in your CMS, with internal links and structured data, on autopilot: see the plans and the 3-day free trial.

Frequently asked questions

Can Google crawl JavaScript websites?

Yes. Google renders pages with a recent version of Chromium, so it can see content added by JavaScript. Rendering happens after crawling, sometimes with a delay, and fails if scripts are blocked, too slow or depend on user actions. Content present in the initial HTML is always the safest option.

Is client-side rendering bad for SEO?

Not automatically, but it adds risk. With client-side rendering the first HTML is almost empty, so search engines must run JavaScript to see the content, and many AI crawlers do not. Server-side rendering or static generation deliver the content directly and avoid these problems.

Do AI crawlers execute JavaScript?

Most do not today. Analyses of crawler logs, such as the one published by Vercel in 2024, found that the crawlers of OpenAI and Anthropic download JavaScript files without executing them. Content that only appears after JavaScript runs is therefore often invisible to ChatGPT, Claude and similar assistants.

Our Blog for Ambitious Company

Our free SEO tools

See all our free tools

THEY TRIED SORANK BEFORE YOU

Testimonials from ambitious founders

Organic growthE-commerce

0 to 10000 visitors in 5 months

Celio Fabianomonrobotlavevitre.fr
Organic growthSoftware

0 to 5000 clients in 8 months

Thibault BMsorank.com
Organic growthLeisure and aviation

0 to 1104 clicks in 4 months

Dominiqueflight-sensations-idf.com
Organic growthMusic software

x30 clicks in 4 months

Valentin Cordiertiger-sounds.com
Organic growthHealth and wellness

x30 clicks in 4 months

Rodrigue Bretonalthevia.com