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 anhrefattribute (Google’s rules on crawlable links). Anonclickon a button is not enough. - Fragment-based navigation: URLs in
#/pageare 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.
| Mode | Principle | How search engines read it |
|---|---|---|
| CSR (client-side rendering) | The browser builds the page with JavaScript | Depends on rendering; content invisible to crawlers that do not run JS |
| SSR (server-side rendering) | The server sends complete HTML for each request | Content readable from the initial HTML |
| SSG (static site generation) | HTML pages are generated when the site is built | Content readable from the initial HTML, fast pages |
| Hydration | Server HTML, then JavaScript that adds interactivity | Content readable; watch the script weight |
| Dynamic rendering | Pre-rendered HTML served only to crawlers | Workaround that Google advises against |
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?
- 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.
- Disable JavaScript in the browser and browse the page: navigation, content and links must remain accessible.
- Crawl twice with Screaming Frog, with and without JavaScript rendering. The gap in discovered URLs, words and links gives the diagnosis.
- 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
- Google Search Central, Understand the JavaScript SEO basics, updated on March 4, 2026. Accessed on September 26, 2026.
- Google Search Central, Link best practices for Google. Accessed on September 26, 2026.
- Google Search Central, Dynamic rendering as a workaround, updated on December 10, 2025. Accessed on September 26, 2026.
- Google Search Central, Fix Search-related JavaScript problems. Accessed on September 26, 2026.
- Google Search Central Blog, The new evergreen Googlebot, published on May 7, 2019. Accessed on September 24, 2026.
- 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.
- Vercel and MERJ, The rise of the AI crawler, published on December 17, 2024. Accessed on September 24, 2026.
Cite this article
, . (2026, September 26). JavaScript SEO: making a site indexable. Elev8 Lab. https://elev8-lab.fr/en/seo/javascript-seo/