I would recommend pre-building html markup as much as possible for performance boost and hydrate on the client for dynamic content, instead of going the SSR route. Obviously this may not be applicable for all use cases though.
Shameless plug: I just wrote a guide to approach dynamic content on static sites a few days ago.
https://blog.hasura.io/approaches-to-add-dynamic-content-sta...