FR, version française
Home / Blog / SEO / JavaScript SEO: making a site indexable

JavaScript SEO: making a site indexable

React, Vue, Angular: many sites build their pages in the browser. Google can run JavaScript, but with a delay, and most AI crawlers do not run it at all. This JavaScript SEO guide explains how Google processes a JS page in three phases, which flaws cost visibility, and how to choose between client-side, server-side and static rendering. It gives a four-step testing method, from the source code to Search Console, and a list of best practices to pass on to your technical team.

Key points

JavaScript SEO covers the practices that help search engines crawl, render and index a site whose content depends on JavaScript. Google runs JavaScript, but with a delay and within limits. Most AI crawlers do not run it. Important content and links must therefore be in the HTML sent by the server.

  • Google processes a JavaScript page in three phases: crawling, rendering, indexing.
  • Server-side or static rendering recommended for content you want indexed.
  • Basic test: compare the source HTML and the rendered HTML.

How does Google process JavaScript?

Google describes three phases in its JavaScript SEO basics (updated on March 4, 2026): crawling, rendering, then indexing. Googlebot first fetches the HTML. Pages that respond with 200 then enter a render queue. There, a headless browser runs the JavaScript. The resulting content is finally indexed. All of JavaScript SEO follows from this process.

The key point fits in one sentence from Google: the page may stay in this queue for a few seconds, sometimes longer. Anything that only appears after the JavaScript runs is therefore discovered later than the initial HTML.

The rendering engine itself is up to date. Since May 2019, Googlebot has used a recent version of Chromium, upgraded regularly (announcement of the “evergreen” Googlebot, May 7, 2019). Modern frameworks can therefore be read. The risk lies in the delay and in what fails during rendering, more than in compatibility.

What risks does JavaScript pose for SEO?

  • Content missing from the initial HTML: text loaded afterwards, invisible to any crawler that does not render the page.
  • Uncrawlable links: Google only follows <a> tags with an href attribute (Google’s rules on crawlable links). An onclick on a button is not enough.
  • Fragment-based navigation: URLs in #/page are not treated as separate pages. Google recommends the History API.
  • Soft 404s in single-page applications: an error page served with 200 can be indexed as a real page.
  • Tags changed by script: Google asks you not to use JavaScript to change the canonical URL declared in the HTML.
  • Blocked resources: JS or CSS files disallowed in robots.txt prevent correct rendering.

Script weight also affects the experience. Heavy JavaScript degrades the responsiveness measured by Core Web Vitals, especially INP.

Do AI crawlers read JavaScript?

Most of them do not. Vercel and MERJ analyzed traffic on nextjs.org and the Vercel network (“The rise of the AI crawler” study, December 17, 2024). None of the major AI crawlers observed ran JavaScript. This covers OpenAI’s GPTBot, OAI-SearchBot and ChatGPT-User, Anthropic’s ClaudeBot, PerplexityBot, Meta-ExternalAgent and Bytespider. Two exceptions: Gemini relies on Googlebot’s infrastructure, and AppleBot renders pages.

28%

Combined volume of the main AI crawlers observed, relative to Googlebot’s volume on the Vercel network. GPTBot accounted for 569 million monthly requests, against 4.5 billion for Googlebot.

Vercel and MERJ, “The rise of the AI crawler”, published on December 17, 2024.

The practical consequence: content that is visible only after JavaScript rendering is unlikely to be picked up by these assistants. The crawlers and their access are covered in detail in our guide to AI crawlers. This study dates from late 2024: behavior may have changed since.

CSR, SSR, SSG: which rendering mode should you choose?

Addy Osmani and Jason Miller wrote the web.dev article Rendering on the Web (updated on January 5, 2026). They recommend considering server-side or static rendering rather than full client-side rehydration.

ModePrincipleHow search engines read it
CSR (client-side rendering)The browser builds the page with JavaScriptDepends on rendering; content invisible to crawlers that do not run JS
SSR (server-side rendering)The server sends complete HTML for each requestContent readable from the initial HTML
SSG (static site generation)HTML pages are generated when the site is builtContent readable from the initial HTML, fast pages
HydrationServer HTML, then JavaScript that adds interactivityContent readable; watch the script weight
Dynamic renderingPre-rendered HTML served only to crawlersWorkaround that Google advises against
Rendering modes and their SEO consequences (web.dev, January 5, 2026; Google Search Central).

On dynamic rendering, Google’s position (updated on December 10, 2025) is clear. It was a workaround, not a long-term solution. Google recommends server-side rendering, static rendering or hydration. For a decision-maker, the rule is simple. A site that aims for organic traffic does not launch a pure client-side rendered framework without planning server-side rendering.

How do you test the JavaScript rendering of your pages?

  1. Compare source and rendering: view the source code (Ctrl+U), then the browser inspector. If the main text or links only exist in the inspector, they depend on JavaScript.
  2. Disable JavaScript in the browser and browse the page: navigation, content and links must remain accessible.
  3. Crawl twice with Screaming Frog, with and without JavaScript rendering. The gap in discovered URLs, words and links gives the diagnosis.
  4. Check Google’s view in the URL Inspection tool of Search Console, with “View crawled page”: rendered HTML, screenshot and blocked resources.

Is a page missing from the results? Follow Google’s step-by-step procedure, Fix Search-related JavaScript problems. This diagnosis is part of any technical SEO audit.

Which JavaScript SEO best practices should you apply?

  • Serve the title, meta description, canonical and main content in the initial HTML.
  • Use <a href> links to real URLs, without fragments.
  • Return real HTTP codes: 404 for a missing page, 301 for a moved page.
  • Do not block the JS and CSS files needed for rendering.
  • Name files with a version fingerprint, for example main.2bb85551.js. Googlebot caches resources aggressively.
  • Place structured data in the initial HTML when possible, for all crawlers.

JavaScript SEO applies the checks of technical SEO to sites that build their pages in the browser. The overall framework is in our SEO guide.

Frequently asked questions

Does Google index content generated with JavaScript?

Yes. Googlebot runs JavaScript with a recent version of Chromium, then indexes the rendered content. Rendering goes through a queue and can be delayed. Rendering failures, uncrawlable links and blocked resources are the most common reasons for missing pages.

Is server-side rendering required for SEO?

Not for Google, which renders JavaScript. It is recommended for any content you want indexed. The page becomes faster and readable without delay. It stays accessible to crawlers that do not run JavaScript, including most of the AI crawlers observed in 2024.

Can a React, Vue or Angular site rank well?

Yes, if the content to be indexed is served as HTML through server-side or static rendering. It also needs links in a tags and clean URLs. These frameworks have server-side rendering solutions, for example Next.js for React.

How do you know if Google sees your JavaScript content?

Use the URL Inspection tool in Search Console and open “View crawled page”: you see the rendered HTML and a screenshot. Compare it with what you see in your browser. A crawl with and without JavaScript rendering gives the same view at site level.

Is dynamic rendering still recommended?

No. Google presents it as a workaround, not a long-term solution. It adds complexity and consumes resources. Google recommends server-side rendering, static rendering or hydration.

Sources

  1. Google Search Central, Understand the JavaScript SEO basics, updated on March 4, 2026. Accessed on September 26, 2026.
  2. Google Search Central, Link best practices for Google. Accessed on September 26, 2026.
  3. Google Search Central, Dynamic rendering as a workaround, updated on December 10, 2025. Accessed on September 26, 2026.
  4. Google Search Central, Fix Search-related JavaScript problems. Accessed on September 26, 2026.
  5. Google Search Central Blog, The new evergreen Googlebot, published on May 7, 2019. Accessed on September 24, 2026.
  6. web.dev, Addy Osmani and Jason Miller, Rendering on the Web, published on February 6, 2019, updated on January 5, 2026. Accessed on September 24, 2026.
  7. Vercel and MERJ, The rise of the AI crawler, published on December 17, 2024. Accessed on September 24, 2026.
claude-editeur Avatar

Digital marketing, SEO and GEO consultant

More about the author

Article checked and updated by the author. Sources consulted on the date shown.

Cite this article

, . (2026, September 26). JavaScript SEO: making a site indexable. Elev8 Lab. https://elev8-lab.fr/en/seo/javascript-seo/