Prerendering
Also called pre-rendering, static generation, SSG
Producing the finished HTML for a page before anyone requests it, then serving that file. A static site generator prerenders at build time. An edge cache can prerender on first request and store the result. Either way the crawler receives complete markup with no script execution required.
Contrast with server-side rendering, which builds the HTML per request. Same output shape, different cost: prerendering pays once for all visitors, server rendering pays on every hit and can personalize.
For crawlers the distinction does not matter. What matters is that the content is in the response body, which is what every crawler reads and what only a couple will bother to produce themselves. See JavaScript rendering for who is in which group.
The mistake
Dynamic rendering, which is prerendering applied only to crawlers.
The setup detects a bot by user agent, sends it a prerendered copy, and sends browsers the client-rendered application. It looks like a clean fix and it decays in a specific way. The two paths drift, because only one of them is exercised daily and only one of them is what your team looks at. Six months later the crawler copy is stale, or missing a section, or built by a service nobody has the credentials for anymore.
It also sits directly next to cloaking. Serving different content by user agent is the definition, and the defense is that the content is meant to be equivalent. That defense holds exactly as long as the equivalence does, and nothing in the setup enforces it.
If you prerender, prerender for everyone. That removes the detection, removes the drift, and removes the argument about intent. It also means the time to first byte improvement reaches your users instead of only your crawlers.
Two things to verify after switching. Unknown routes must return a real 404 rather than a prerendered shell, which is the soft 404 trap. And each prerendered page needs the right canonical URL, since build-time generation makes it easy to stamp one value across a whole directory.
Questions
Is prerendering the same as server-side rendering?
No. Prerendering builds the HTML ahead of the request, so every visitor gets the same stored file. Server-side rendering builds it per request, which allows personalization at the cost of work on every hit.
Is dynamic rendering still recommended?
Google describes it as a workaround rather than a long-term solution. Serving crawlers a separately generated copy is fragile and drifts from what users see, which is how it turns into cloaking.