How to build dynamic service pages with a CMS
PraismaHub team · November 13 2026 · 4 min read
When a business offers eight services, duplicating eight pages makes every layout change an eight-page job. A CMS template gives each service its own content and URL while the design lives in one place.
Choose fields based on what visitors ask
Start with name, slug, short description, featured image, duration and booking link. If price varies, use a field for a useful estimate or an explanation. Keep genuinely different details in each entry. A massage page might cover session length and preparation, while a consultation page explains what happens after the first visit.
Build the listing and detail template
Create a Services content type and add two sample entries with different amounts of copy.
Add a Collection to the service listing page. Bind the card title and summary to fields in each entry.
Create a CMS template using Services as the source. Set the URL and lookup field so a slug like
skin-consultationresolves at/services/skin-consultation.Bind the detail page’s content and action to the relevant fields. Preview both sample entries and publish the template.
Test the edge cases before adding the rest
Open a service with a long name on mobile. Check that the booking button works and confirm what the template does with an optional field that is empty. Publish the entries you want visitors to see. Once the first two look right, use the same fields for the rest of the catalogue.
Example: build three pages for one service business
Imagine a studio offering a skin consultation, a facial and a home-care workshop. Put the shared design in one template: a title and introduction, a section about what happens, a block for practical details and a booking button. Each entry supplies its own information. The consultation may take 30 minutes and use an appointment link. The workshop may need a group booking link and an explanation of what is included.
Put enough detail into each entry to answer a real customer question. A description that repeats the same two sentences with a different service name gives readers little reason to open each page. Explain what happens in the session, what to prepare and which customers it suits. Use the same field structure so the page remains easy to scan.
Decide which fields are required
Name and slug: Use a descriptive name and a short, stable slug. Agree who can change a slug after launch.
Summary and detail: Put one sentence on the listing card and keep fuller explanations for the detail page.
Image: Choose a consistent aspect ratio and give the image an appropriate text alternative where the template supports it.
Duration and pricing: Decide how to show an estimate, range or quote request when an exact price is unavailable.
Booking destination: Confirm that the link points to the specific service or to a form that lets the visitor identify it.
Choose what the listing page should show
A compact listing needs enough detail to help someone choose. Show the service name, summary and a link to the detail page. Use a fixed filter if the listing should only show a category, such as treatments available at one location. Once the list gets longer, use pagination and verify that visitors can still reach the entries beyond the first page.
Check URLs and publishing order
Open the published listing, follow the card link and confirm that the page uses the right entry. If a page returns an error, check whether the template and entry are published, whether the collection source matches, and whether the URL lookup uses the same field as the entry’s path. Test a second entry before assuming the first fix applies to all of them.
If an existing service moves to a new URL, inventory links in navigation, email templates and campaigns. Update the links you control and add a redirect from the old address when it has a close replacement. Test the old URL from outside the editor.
Make ownership visible after launch
Give the service owner responsibility for changes to prices, duration and booking links. Let the site editor own layout and field bindings. When the owner updates a service, check its detail page and listing card once. When the editor changes the template, review several representative entries, including one with short copy and one with unusually long details.
See the guide to collections and dynamic pages for the product setup.
