A collection is a table of content inside the site: one row per item (a service, an area, a team member) and one column per field. A dynamic page is one page design that becomes a separate live page for every visible row.
Collections
Open CMS > Collections.
- New Collection starts an empty one. Import CSV creates one from a spreadsheet.
- Fields can be Plain text, Rich text, Image, Link, Number, Date & time, Location, Video, Email, Phone, Social accounts, Multi-select or Image gallery. Use Add field, then Edit Field to rename or change one. Renaming a field never breaks connected widgets. A Video cell is set with Choose video: a client video, an upload, one from the site's library, or a YouTube / Vimeo / DailyMotion link.
- Add Row adds an item. Each row has an Item (page URL) value, which becomes the end of its web address. A row's menu has Edit Row, Duplicate and Delete; a field's menu has Edit Field and Delete field. Hide item (the eye on a row) keeps it off the live site. Tick several rows to Show, Hide, Duplicate or Delete them together. Drag rows to reorder them.
- The collection menu has Rename, Duplicate, Export to CSV, Download Template, Import from CSV and Delete. In an export, a Link field that points at one of your pages shows the page's address (for example
/about), so importing the file back keeps the link working. Changing a Link field to Plain text keeps those addresses too. - Each collection holds up to 500 items.
Create a dynamic page
- Pages > Add Page > Dynamic Page.
- Enter a Page name, choose a Starting layout (Blank Page or Designed Page), and Connect to a collection (or Create Collection).
- Design the page and connect its widgets to the collection's fields (see Connect to data).
The dynamic page bar lets you pick a Collection item to preview, open Page URL (the entry's full address with Open and Copy, and the Base URL to change — the same window as the Pages panel's ⋯ → Page URL, see Pages panel; a published dynamic page gets a 301 redirect for every entry's old address), and use Edit Row, Manage Collection and Refresh Data. Dynamic pages start hidden from the navigation. For menu items, use the page menu > Show items in navigation.
Dynamic pages in the Pages panel
When a dynamic page lists its items in the menu, the Pages panel shows it under that folder or page, after the folder's own pages. This matches where the items appear in your menu.
- Drag a dynamic page into a folder to list its items there. The menu text field you chose is kept. If you never chose one, the panel picks a "Name" or "Title" field.
- Drag it out to the top level to stop listing its items in a menu folder. Your menu text choice is remembered for next time.
- Changing Show under in Show items in navigation moves the page in the panel too.
- Each folder can hold one dynamic page's items. Items can't go under another dynamic page, a popup or the blog. The panel tells you if a drop isn't allowed.
- Nesting doesn't change any web address. Item pages stay at
/services/item. Breadcrumbs on an item page show the folder, for example Home > Services > Roof Repair. Breadcrumbs use each page's name (as in the Pages panel), so a renamed page shows its new name.
The page's own address
Each item lives at an address like /services/roof-repair. The dynamic page's own address, like /services, isn't a page by itself. By default a visitor who opens it goes to your home page. To show a page there instead, open the dynamic page's menu in Pages > When someone visits /services (the menu shows your page's own URL):
- Go to the home page (the default).
- Show a page, then pick one of your regular pages, for example an "Our Services" overview. That page's content and SEO title show at
/services.
The page you pick still works at its own address, so menu links to it keep working. Search engines are told that /services is its main address, and the sitemap lists it only there. A URL redirect you add for /services in Site settings always comes first. In Preview, clicking a link to /services follows the same choice. Publish the site to put a change live.
Convert a page
In Pages, open a page's menu:
- Convert to dynamic page keeps the layout and connects it to a collection you pick.
- Convert to regular page disconnects collection connections and removes the per-item SEO and menu items. You'll be asked to confirm.
SEO for every item
Click Page SEO in the dynamic page bar. Next to each SEO field, the Connect data button links it to a collection field (Connect SEO). For example, connect the meta title to a "Title" column. Each item's page then uses its own row's value and falls back to the page's value when a cell is empty.
Hide a section when a field is empty
Some items don't have everything. For example, only some services have a video. You can hide a section on the item pages where its field is empty:
- Click the section (or a column, container or widget) that shows the connected field.
- In the Design panel, under Visibility, turn on Hide this section when [field] is empty (for example "Hide this section when Service Page Video is empty"). If more than one field is connected inside it, choose which Field decides.
- Pick items in the Collection item menu to check. In Edit mode, a hidden section stays on the canvas, dimmed, with a Hidden on entries where [field] is empty badge, so you can still edit it. Preview hides it like the live page.
On the live page (and share previews), the section isn't shown at all on those items, so no empty gap is left. A cell counts as empty when it has no text, no picture or video, no link, or an empty list. The toggle shows only when the element, or something inside it, is connected to a field of the page's collection. Inside a Dynamic Repeater, it works per card: a card hides when its own row's field is empty.
Show a collection on any page
Add Dynamic Repeater (Add > Dynamic) to repeat one card design for each row. Choose the collection, filters, sort and limit.
Items in other languages
When the site has more languages (Settings → Languages), every item has its own words and address in each one.
- Open an item (the pencil on its row) and choose the language in Edit in.
- Write the item's text and rich text fields in that language. Links, emails, phones, numbers, images and choices stay shared. Empty fields show the main language's words.
- Optionally give it an Address in that language, like
plomeria. With the dynamic page's own address set in the page's settings → Languages (servicios), the item lives at/es/servicios/plomeria. The main address (/es/services/plumbing) keeps working too. An address can't be one another item of the collection already uses. - Save, then publish the site.
Translate every item with Zeus (in the same view, for the agency) translates all visible items into that language: 1 credit for every 5 items. Zeus also gives each item an address in languages written in Latin letters (Spanish, French …); other languages keep the main address. Text someone already translated is never replaced, and Zeus's translations are Zeus drafts until someone reviews them.
While you edit a language, the dynamic page in the editor shows the chosen item in that language, and its address in that language. Items count in the language's "% translated".
Item pages, Dynamic Repeaters, collection lists and items shown in the menu all use the translated words and addresses on the language's pages, and the sitemap and language links (hreflang) list each item at its own address.
Examples
- A roofer's service pages: a "Services" collection with Name, Hero Image, Description and FAQ fields. One dynamic page at
/servicesmakes/services/roof-repair,/services/guttersand so on, each with its own SEO title from the Name field. - A cleaning company's 15 town pages: import a CSV of towns into a "Service-Area" collection, build one dynamic page, and connect its Map to the location column. Each town page gets its own pin.
- A team page that updates itself: a "Team" collection shown with a Dynamic Repeater on the About page. Add a row and the new person appears; hide a row when someone leaves.
- Services with and without videos: turn on Hide this section when Service Page Video is empty for the video section, so services without a video show no empty gap.
Limits and what it can't do
- Up to 500 items and 150 fields per collection. A CSV import adds new rows only up to the 500 ceiling.
- Collection and field names: up to 50 characters.
- Item (page URL): up to 350 characters, lowercase letters, numbers, dashes and underscores only, and unique in the collection.
- Plain and rich text fields: up to 5,000 characters. Multi-select: up to 50 choices of up to 60 characters. Image gallery: up to 50 images.
- A dynamic page's own address (like
/services) isn't a page by itself: it goes to the home page or to a page you pick. - Each menu folder can hold one dynamic page's items.
Credits
Collections, dynamic pages and item pages are free. Translate every item with Zeus costs 1 credit for every 5 items, per language.
Who can use it
- Agency team members with the Mount Olympus tool.
- Client people: Content Library lets them edit collection items. Dynamic pages & Connect to Data lets them change collections, fields and dynamic pages, and connect widgets to data. Translate every item with Zeus is agency-only.
Troubleshooting
- "Item is required", "Lowercase letters, numbers, dashes, underscores only" or "Must be unique within this collection": fix the Item (page URL) value. Use something like
roof-repair. - "Item already exists in this collection": another row already uses that page URL. Pick another.
- "Collections are limited to 500 items": delete or merge rows, or split the content into a second collection.
- "Collections are limited to 150 fields": remove fields you don't use.
- "A field named "…" already exists": field names must be different within a collection.
- "This type change is not compatible with the field…": some cells can't be converted to the new field type. Fix or clear those cells first, or add a new field instead.
- "Text must be 5,000 characters or fewer": shorten the cell, or split it across two fields.
- "Must be a valid email address" or "Must be a number": the cell doesn't match the field type.
- An item page shows the 404 page: the row is hidden, its page URL changed, or the site hasn't been published since you added it. Check the row and publish.
/servicesgoes to the home page: that's the default. Use When someone visits /services > Show a page in the Pages panel.- A connected widget shows the wrong item in the editor: pick a different Collection item in the dynamic page bar, or click Refresh Data.
Good to know
- Item pages go live at /page-url/item-url when you publish. Hidden rows aren't served. A missing item, like
/services/nope, shows the 404 page (or follows a URL redirect you added for it). - Sites built by Zeus get "Services", "Service-Area" and "Header Images" collections. Business Text > Add Zeus collections adds them to any site.
- A Map can be connected too: Connect to Data → Connect Location to a column that holds a place as
latitude,longitude|Town, ST(for example38.23258,-122.63647|Petaluma, CA). Each item page then shows its own pin. Area pages built by Zeus use the Service Area Page Map Location column.