Rendering and architecture · Concept

Multi-page app (MPA)

A website where each link loads a new page from the server, the classic way the web works. It is simple, robust and easy for search engines to read.

App shapes · updated

How it works

Each URL is its own HTML document, rendered on the server or at build time. Clicking a link makes the browser fetch and show the next page, with history, scrolling and accessibility handled by the browser itself. WordPress, Laravel and Django sites, and most static sites, are MPAs.

The old downsides, a flash between pages and lost state, have shrunk: browsers cache pages well, cross-document view transitions can animate between pages in Chrome, Edge and Safari, and tools such as htmx or small islands of JavaScript add interactivity where it is needed. Frameworks such as Astro build MPAs on purpose.

Multi-page app (MPA) pros and cons

Pros

  • Fast first load and strong SEO by default
  • Simple mental model: the browser handles history and focus
  • Keeps working when JavaScript fails or loads slowly
  • Each page can be cached separately on a CDN

Cons

  • Full page loads between screens, which can feel slower
  • State such as a playing video resets on every navigation
  • Rich, app-like interactions need extra JavaScript

When to use Multi-page app (MPA)

Pick it when

  • Content sites, blogs, stores and marketing pages
  • Sites where SEO and reliability matter more than an app-like feel

Skip it when

  • Long sessions with rich interaction, such as editors or dashboards

Multi-page app (MPA) vs the alternatives

More in Rendering and architecture

App shapes

All 16 Rendering and architecture terms

Crafted in the dark. Shipped to the world.

Tell us what you are building. You get a private project space with a proposal and a line-by-line quote within a day.