About pages and flows
An experience has two kinds, and the dashboard makes you choose between them when you create one. Why two, and how do you know which one a piece of work needs?
The two kinds
| Page | Flow | |
|---|---|---|
| What it is | A standalone experience that your server renders from a content entry. | An interactive experience of more than one step, which the browser renders. |
| Use it for | A landing page or a campaign page where the search rank matters. | A quiz, a survey, a product finder, onboarding of more than one step. |
The split is not about how complex the content is. It is about who has to read it.
Why the split exists
A crawler and a social preview read the HTML your server returns. Neither waits for JavaScript in the browser. Content that a search engine must find is therefore content that must be in the first response. Only a server render puts it there.
A flow has the reverse constraint. Its value is in the interaction: a visitor answers, the flow branches, the next screen depends on what came before. None of that can be in the first response, because none of it exists until the visitor acts.
Choose a Page when the content must reach a search engine. Choose a Flow when the value is in the interaction and a browser render is acceptable.
What backs a page
Four pieces sit behind every Page, and they are separate on purpose:
- A page layout sets the shape: which fields the page can hold.
- A content entry fills that shape with real data.
- A Page binds one entry, so the SDK can render it.
- The SDK reads the entry and renders it on your server.
Layout and entry are separate because one layout backs many entries. Describe a campaign page one time, then make many pages from it. Change the layout and you must check every entry again. That is why the dashboard reports an invalid entry and does not serve it.
A step layout does the same thing for one step inside a flow. The parts behave the same way. Only the thing that they give shape to is different.
They meet at the same publish
Both kinds are experiences. Both live in a workspace, both go into the same immutable version, and both come out of the same Delivery API. The SDK decides where to render each one, and every step before that treats them the same way.
This matters, because it means a project mixes them freely. A server-rendered landing page can carry a browser-rendered quiz inside it.
Related
- About how Picked works — the path that both kinds take.
- About server-side rendering — how a Page reaches the browser.
- Pages — the page editor.
- Experiences — the flow options.
