When to Use Static Generation v.s. Server-side Rendering
In general, it is recommended to use Static Generation (with and without dynamic data) whenever possible because your page can be built once and served by your CDN, which makes it much faster than having a server render the page on every request.
Statically Generated content can improve you request response times, reduce server side load, improve your user experience, and can set you up for SEO (search engine optimization) success with pre-rendered pages.
You can use Static Generation for many types of pages, including:
- Marketing pages
- Blog posts
- E-commerce product listings
- Help and documentation
You should ask yourself: "Can I pre-render this page ahead of a user's request?" If the answer is yes, then you should choose Static Generation.
On the other hand, Static Generation is not a good idea if you cannot pre-render a page ahead of a user's request. Maybe your page shows frequently updated data, and the page content changes on every request.
In that case, you can use Server-Side Rendering. It will be slower, but the pre-rendered page will always be up-to-date. Or you can skip pre-rendering and use client-side JavaScript to populate data. Though, requiring JavaScript to be enabled could lead to a poor user experience for the subset of users who do not have JavaScript enabled.