Pages & menus
The site’s pages, in a tree the client can tend.
Your client’s team adds pages from the templates you made, and moves them around the tree. Menus link to pages, not addresses, so they follow.
![The Pages list in the Studio: the Moteur Journal’s tree, with Accueil at /, listings like Journal at /journal/[slug], and an À propos folder holding three pages, each marked Live, Draft or In review.](/_astro/studio-pages.Dd9AXa1H_Z1nx3EJ.png)
![The Pages list in the Studio: the Moteur Journal’s tree, with Accueil at /, listings like Journal at /journal/[slug], and an À propos folder holding three pages, each marked Live, Draft or In review.](/_astro/studio-pages.folio.BJ1EQ8IX_1LFQAD.png)
Try it
Move a page, and its links follow
Take “Les usines” out of “À propos”, or change its address. The menu links to the page, not to its address, so it follows. The sitemap lists what’s live.
- Accueil
/Page - Journal
/journalCollection - Modèles
/modeles · /modeles/maison-3Collection - À propos
/a-proposFolder - Notre histoire
/a-propos/histoirePage - Les usines
/a-propos/usinesPage - L’équipe
/a-propos/equipePage - Contact
/contactPage
Main menu, in English
sitemap.xml
<loc>https://journal.moteur.test/</loc>
<loc>https://journal.moteur.test/journal</loc>
<loc>https://journal.moteur.test/modeles</loc>
<loc>https://journal.moteur.test/modeles/maison-3</loc>
<!-- and 24 more models -->
<loc>https://journal.moteur.test/a-propos/histoire</loc>
<loc>https://journal.moteur.test/a-propos/usines</loc>
<loc>https://journal.moteur.test/contact</loc>The pages and the menu are the demo journal’s, shortened. L’équipe is in review, so the sitemap leaves it out. Change a live page’s address and Moteur adds a redirect from the old one, for your site to follow.
The parts
Building the site
You set the templates once. The client’s team adds the pages, and the site reads them back.
Templates
Templates, with blocks
A template says what a kind of page holds, and which blocks its body takes. The writer picks the order.
- You choose the blocks
- Required fields asked for before going live
Listings
An address for every entry
A listing page shows one kind of entry and gives each its own address, like /journal/the-factory.
- The address pattern is yours
- Live entries only, or drafts for previews
Menus
Menus that follow
Menu items link to pages, so moving or renaming a page updates them. Labels in every language.
- Pages, links or files
- Up to five levels deep
Sitemap
A sitemap from the tree
Live pages go in the sitemap for search engines. Drafts and folders stay out.
- Each page in or out
- With how often it changes
Reviews
Reviewed like the rest
With reviews on, a writer’s new page waits for a reviewer. Going live can tell your site to rebuild.
- Each change a commit with a name
- A webhook when it goes live
Previews
Seen before it’s live
Your site can show drafts and pages in review to the people checking them, before anyone publishes.
- One token, given to the site
- Drafts and pages in review
In the API
The tree, as the site reads it
The demo journal’s navigation, built from its pages. Your site draws its menu from it, or from a menu the team arranges.
- One call for the whole tree
- Or the menu the team arranged
GET …/navigation?depth=2 (four of eleven, ids left out)
[
{
"label": "Accueil",
"url": "/",
"type": "static"
},
{
"label": "Journal",
"url": "/journal",
"type": "collection"
},
{
"label": "À propos",
"url": "/a-propos",
"type": "folder",
"children": [
{
"label": "Notre histoire",
"url": "/a-propos/histoire",
"type": "static"
},
{
"label": "Les usines",
"url": "/a-propos/usines",
"type": "static"
},
{
"label": "L’équipe",
"url": "/a-propos/equipe",
"type": "static"
}
]
},
{
"label": "Contact",
"url": "/contact",
"type": "static"
}
]Questions about pages
An agency owner asksCan a client add pages without us?
MoteurYes. Anyone who writes can add a page from your templates and place it in the tree. With reviews on, it waits for a reviewer.
A marketer asksDoes the old address redirect when a page moves?
MoteurYes. When a live page or entry changes address, Moteur adds a redirect from the old one. Your site reads the list in one call, or asks what lives at a path. Add your own for the old site’s addresses, under Pages › Redirects.
A marketer asksDoes each language get its own address?
MoteurYes. A page has a slug in each language, and an entry takes its slug in each language from its fields: /about and /fr/a-propos. The sitemap lists both and tells search engines they’re the same page.
A developer asksHow does our site read the pages?
MoteurThrough its channel, with the client: a page by its slug, a menu by its name, and the whole tree, breadcrumbs or sitemap in one call each.
Build your client’s tree.
Start a free project with room for 50 pages, and add the first from a template.