What Is Dynamic Rendering?
Dynamic rendering sits between server-side rendering and client-side rendering as a pragmatic middle ground. It works by inspecting the user-agent of each incoming request. When the request comes from a known search engine crawler such as Googlebot, Bingbot, or a social media bot, the server responds with a pre-rendered, fully formed HTML snapshot of the page. When the request comes from a regular browser, the server responds with the normal JavaScript bundle that builds the page client-side.
This technique is useful when a website has been built primarily as a client-side application using a framework like React or Angular and is experiencing indexing issues. Rather than rebuilding the entire architecture, the development team can add a rendering service, such as Puppeteer, Rendertron, or a commercial pre-rendering provider, and configure the server to route crawler traffic through it. The crawler sees a complete HTML document and indexes it without delay, while human users continue to experience the rich JavaScript application they are accustomed to.
Google has officially endorsed dynamic rendering as a workaround for JavaScript SEO challenges. It documented the approach in its developer guidelines and noted that it is a reasonable solution for complex JavaScript applications where full server-side rendering would require substantial engineering effort. Importantly, dynamic rendering is not cloaking. Cloaking involves serving fundamentally different content to crawlers and users to deceive search engines. Dynamic rendering serves the same content in two different technical formats, which Google explicitly allows.
The trade-off is maintenance overhead. You need to keep the pre-rendered snapshots in sync with the live content. If your site updates frequently and the rendering service caches snapshots for too long, crawlers may index outdated content. Many pre-rendering services allow you to configure cache expiry per URL pattern or invalidate snapshots when content is published, which mitigates this risk for SEO-critical pages.
Dynamic Rendering In Practice
A South African comparison website for motor insurance built its frontend as a single-page Angular application for a fast, interactive quoting experience. When the team audited their coverage in Google Search Console, they found that many informational pages, including car insurance guides and FAQ articles, were either not indexed or had been indexed with missing content. The JavaScript was not being executed by Googlebot before indexing, so Google only saw the bare HTML shell.
Rather than migrating to a different framework, the team set up a dynamic rendering pipeline using a self-hosted Rendertron instance. Crawler traffic is now routed to Rendertron, which executes the JavaScript and returns fully rendered HTML. Human traffic bypasses Rendertron and receives the standard Angular bundle. Within two months, Google Search Console showed the previously missing pages appearing as correctly indexed with full content. Organic impressions for the informational content increased noticeably. For any Johannesburg or Cape Town-based business operating a JavaScript-heavy site that struggles with indexing, dynamic rendering is a faster path to recovery than a full architectural rebuild.
FAQ
Is dynamic rendering the same as cloaking?
No. Cloaking shows different content to users and crawlers to deceive search engines, which violates Google's guidelines. Dynamic rendering serves the same content in two different formats: pre-rendered HTML for crawlers and JavaScript-rendered output for users. The substance is identical. Google explicitly acknowledges dynamic rendering as a workaround for JavaScript-heavy sites.
Should I use dynamic rendering or server-side rendering?
If you are building a new website, server-side rendering or static generation is generally preferable because it serves pre-rendered HTML to everyone. Dynamic rendering is typically a remediation strategy for existing JavaScript-heavy sites that cannot be rebuilt immediately. It allows South African businesses to fix indexing issues without a full architectural overhaul.