55
SSR / SSG / SPA
Where the HTML is born: server on request, at build time, or only in the browser. Search, first paint, and auth all change.
What is SSR / SSG / SPA?
SSR renders HTML on the server per request. SSG renders at build time. A SPA sends a shell and builds the page in JavaScript. Most apps mix them.
Why does SSR / SSG / SPA matter when vibe coding?
The model defaults to a client-only app. Marketing pages then show “enable JavaScript” to Google. Auth-only apps then flash a login on every load. Name the mode per route.
How do you do SSR / SSG / SPA?
Public, searchable, cacheable: SSG or SSR. Logged-in app chrome: client is fine. Do not SSR a dashboard that needs cookies you did not pass.
How do you ask a model for SSR / SSG / SPA?
Marketing and article routes are SSG or SSR for search. The signed-in app may be client-rendered. Do not make the whole site a SPA by accident.
What goes wrong with SSR / SSG / SPA?
Hydration errors ignored. If the server HTML and the client disagree, you do not have SSR. You have a flicker.