Naming conventions
Clear names make the CMS easier to search, review, and maintain. They also protect public surfaces such as URLs, search results, anchor links, and image alt text. Use these conventions whenever Studio asks you to type a name, slug, ID, label, or description.Quick reference
| CMS item | Who sees it | Recommended format | Example |
|---|---|---|---|
| Theme name | Internal | Brand name in Title Case | Domino's, Superdrug |
| Swatch name | Internal | bg_ prefix, snake_case | bg_primary, bg_overlay_dark |
| Page display name | Internal | Title Case | Head Office, Why Work With Us |
| Page slug | Public URL | kebab-case | /head-office, /why-work-with-us |
| Page title | Public search result | {Page topic} | {Brand name} | Head Office Roles | Superdrug |
| Meta description | Public search result | One or two complete sentences | Discover careers at Superdrug Head Office in Croydon. |
| Section ID | Public anchor link | kebab-case | hero, our-roles |
| Column or block label | Internal, plus CSS targeting | Short, functional label | hero-cta, jobs-filter |
| Prefab name | Internal | Descriptive Title Case | Three-up Department Cards |
| Template name | Internal | Generic Title Case | Two-column Hero |
| Search parameter ID | Public URL | kebab-case | tab, view, filter |
| Search parameter value | Public URL | kebab-case | work-with-us, grid |
| Upload folder path | Internal | kebab-case paths | /pages/head-office/hero/ |
| Upload file name | Internal | kebab-case, descriptive | hero-team-photo |
| Asset description or alt text | Public accessibility text | Complete sentence | Three colleagues laughing at a desk with a laptop open between them. |
Naming principles
- Describe the purpose, not the position. Use
our-rolesrather thansection-2, because page sections move over time. - Use one format per surface. Slugs, Section IDs, search parameters, and upload paths should all be lowercase
kebab-case. - Keep public names especially clean. URLs, SEO titles, meta descriptions, anchor links, and alt text can be seen by candidates and search engines.
- Make internal names searchable. Someone should be able to find the right page, prefab, template, or upload from the CMS search bar.
- Match upstream structures. Page slugs should match the sitemap, and upload folders should mirror page slugs where possible.
Pages and SEO
A page has several related naming fields. The page display name is the internal name shown in Studio. The slug is the public URL path. The page title and meta description are used in search results and link previews. Use Title Case for page display names:HomeHead OfficeJob ListingsWhy Work With Us
kebab-case for page slugs:
/head-office/job-listings/why-work-with-us
/ for the home page. Do not create a home page slug such as /home.
For SEO, use a page title that combines the topic and brand name:
Sections and labels
Section IDs are used for anchor links and scroll navigation. They should be unique within the page, lowercase, and purpose-led:herowhy-work-with-usour-rolestestimonialscta-apply
section-1, top, or bottom. They become confusing as soon as the page is reordered.
Column and block labels are internal labels that help you navigate complex pages. They do not appear as visible text on the live page, but they are applied as data-cms-label attributes that developers can target in CSS overrides.
Good labels describe the element’s role:
hero-ctajobs-filterbenefits-card
blue-button or left-column.
Themes and swatches
Theme names should match the brand’s preferred spelling, capitalisation, and punctuation. If a brand has more than one theme, append the variant clearly, such asDomino's - Dark.
Swatches are reusable background fills, including colours and gradients. Name them with a bg_ prefix so it is clear they are intended for backgrounds:
bg_primarybg_overlay_darkbg_gradient_herobg_card_subtle
dominos_red, if the swatch is really serving a functional role.
Prefabs and templates
Name prefabs for what they are, not where they first appear. A prefab may be reused across many pages, so names such asHomepage Hero can become misleading.
Good prefab names:
Hero with VideoThree-up Department CardsFAQ AccordionJob Listings Carousel
Two-column HeroJob Listings GridImage-left Feature Block
Search parameters
Search parameter button groups can drive interactive page states, such as tabs or display modes. The parameter ID and value appear in the URL, so use readable lowercasekebab-case.
Use standard parameter IDs for common patterns:
| Parameter ID | Use |
|---|---|
tab | Tabbed content |
view | Switching between display modes, such as grid or list |
filter | Filter selection |
sort | Sort order |
?tab=work-with-us?tab=our-people?view=grid?filter=full-time
btn1, value-a, or selectedTab.
Uploads and alt text
Upload folders are for CMS organisation. Mirror the page structure where possible so files are easy to find:/head-office should live under /pages/head-office/.
File names should be lowercase, descriptive, and written in kebab-case:
hero-team-photodominos-logo-primarydominos-logo-whiteicon-arrow-rightheadshot-jane-doe
IMG_4521, final_FINAL_v2, or image.
Asset descriptions are public alt text. Write them as complete sentences that describe the image for someone who cannot see it:
Woman with blonde wavy hair smiles while wearing a cream blazer in front of a white brick wall.Domino's red and blue logo on a white background.Three colleagues laughing at a desk with a laptop open between them.
Before publishing
Before publishing a page or reusable CMS item, check:- Page display names are descriptive and easy to search.
- Public slugs, Section IDs, and search parameters use lowercase
kebab-case. - Section IDs are unique within the page.
- SEO titles and meta descriptions are specific to the page.
- Uploads have descriptive filenames and useful alt text.
- Prefabs and templates have names that will still make sense when reused.