Skip to main content

Frontend engineering · Rendering

Single Page Application

Also called: SPA, Client-side rendering, CSR

A kind of website that loads the page shell once. After that, JavaScript in the browser handles every page switch without a full reload.

In detail

On a traditional website, every link you click makes the server send a whole new page. An SPA is more like an app: the first time you open it, it downloads the shell and the JavaScript, and after that, switching pages is just JavaScript swapping content in the browser and fetching data as needed, so it feels smoother. React and Vue projects created with Vite are SPAs by default.

The trade-off is that on first load, the JavaScript has to download and run before you see any content, so the first screen can be slow. And the initial HTML search engines get is nearly empty, which is bad for SEO.

How the three differ: a Single Page Application builds the page in the browser. Server-Side Rendering (SSR) has the server build the full HTML on every visit. Static Site Generation (SSG) builds the HTML ahead of time, at build time. Admin panels and tool-style apps suit an SPA. Marketing sites and blogs suit SSG or SSR better.

Developer info
Term ID
eng-spa
DOM selectors
No DOM cues. This concept isn't detected directly on a page.
Priority
1 · when several match at the same level, the higher priority wins
Version
v1 · updated Sep 29, 2026