This note records one core rendering strategy adjustment in my blog: if the project itself is a better fit for SSG, then the main pages should not remain full-page client:only.
Although the blog was already using Astro at the beginning, several main pages were still rendered with full-page client:only="react".
The biggest problems with that approach were:
This site is essentially a blog, portfolio, and knowledge-base site.
Its characteristics are fairly clear:
That makes it a better fit for SSG (Static Site Generation), where HTML is generated during the build.
Once that direction is chosen, the optimization rules become clear:
client:onlyPage-level client:only is convenient.
Many client-only or SSR-incompatible parts can simply be ignored as long as they work in the browser.
But the trade-offs are direct:
For an Astro project, that is basically the wrong direction.
This round of changes did not remove React completely. Instead, it made a trade-off that fits Astro much better:
client:onlyThis is not “do not use React”. It is “do not make the entire page wait until React starts.”