Definition
Dynamic Rendering is a technique recommended by Google as a temporary solution for JavaScript-heavy sites that cannot implement SSR. The principle is to detect bot user-agents (Googlebot, Bingbot) and serve them a pre-rendered version (static HTML) of the page, while human users receive the standard JavaScript version. Google does not consider this cloaking because the content served is identical; only the rendering method differs. Popular tools include Rendertron (Google open source), Prerender.io, and Puppeteer. However, Google recommends migrating to SSR in the long term, as dynamic rendering adds complexity and can create inconsistencies between the two versions.
Key Points
- Temporary solution recommended by Google for JS-heavy sites
- Serves pre-rendered HTML to bots and JS to users
- Not considered cloaking as long as the content is identical
Practical Examples
Implementation with Rendertron
An Angular site configures Rendertron as middleware: when Googlebot is detected, the request is routed to Rendertron, which executes the JS and returns the resulting static HTML.
Prerender.io in production
A single-page e-commerce application uses Prerender.io as a cloud service to serve pre-rendered versions to all bots, improving its indexation rate from 45% to 95%.
Frequently Asked Questions
No, according to Google. Cloaking serves different content to users and bots. Dynamic rendering serves the same content but with a different rendering method. However, if the versions diverge, it can be considered cloaking.
Dynamic rendering is useful when migrating to SSR is too costly or complex in the short term. It is a transitional solution. Google officially recommends migrating to SSR whenever possible.
Go Further with LemmiLink
Discover how LemmiLink can help you put these SEO concepts into practice.
Last updated: 2026-02-07