General content modeling recommendations

This page is a part of the Content modeling guide which you should follow sequentially from beginning to end.

A good content model that matches your business’s unique requirements and challenges is vital to a successful online presence. When deciding how to model content in Xperience, always respect the project’s business requirements and the preferences of website editors and marketers.

On this page, you can learn about general recommendations that you or your developers should consider when planning the content model for your project.

Digital marketing features

Xperience comes with a set of digital marketing features. Marketers can use these features to attract new customers, promote content, or automate workflows to keep in touch with existing customers. Using digital marketing can directly impact your content model and how content editors work with the content.

Find out more about the digital marketing features in the documentation.

Recommendations – Digital marketing

  • If you want to leverage the built-in digital marketing features, store your content in the Content hub and use Page Builder widgets and page templates to display it.
  • We recommend using Page Builder on pages where your editors benefit from content personalization. Marketers can personalize their content based on contact groups across the website.
    • Typical examples of content personalization include frequently changed pages, such as the website’s home page, campaign landing pages, or thank-you pages. Marketers create variants of content that is dynamically displayed to different visitors based on visitors’ previous interactions with the website and business.
    • Less common scenarios include personalization on pages that display aggregated content. For example, an Articles listing page can contain an editable area with a Featured articles widget. Editors can personalize the widget and offer different featured articles to visitors based on their assigned contact groups or based on the phase of the visitors’ contact journey.
    • Developers need to prepare custom Page Builder widgets that allow editors to personalize content based on contact groups.
  • Use custom content assets type and store your images, PDFs, videos, and other similar media in the Content hub. In specific cases, such as when you need to upload large amounts of data in bulk, use media libraries to store your images and other assets.
  • For collecting data from users, we recommend using built-in forms. Ensure that your editors have rich options for customization of their forms via custom Form Builder components. Include requirements for custom form components, their styling properties, or custom form section properties in your project requirements. Once developers prepare your project, editors can adjust their forms’ layout to match the rest of the pages.
  • We recommend using the Data protection and cookies functionality to ensure your website complies with relevant legislation.

General content modeling recommendations

Routing and URLs

We recommend using content tree-based routing for most scenarios. With content tree-based routing, the system generates ULRs for pages based on their position in the content tree. The content tree-based routing also allows editors to easily change the URL slugs of their pages and store the URL history in the Former URLs application. 

Sometimes, editors use characters considered suboptimal (or even invalid) for URLs. For example, some accented characters from extended Latin alphabets, such as ö, can be encoded into SEO-suboptimal URL slugs. We recommend building custom field validation on any URL-related page type fields and constraining forbidden (or suboptimal) URL characters. To validate custom URL fields, your code can reference the Settings for URLs in the administration. You can use the ISettingsService and retrieve specified URL restrictions.

Aim for content reusability

Follow a simple rule of thumb: if there is a chance that specific content will appear on the same website in multiple places or various channels of marketing communication, use structured content and store your reusable content items in the Content hub.

Ensure a seamless editing experience

When you prepare the structured content hierarchy, we recommend that every developer participating in the project steps into the content editor’s shoes and tests their workflow by creating several pages in the content tree. Developers should to try how editors will work with the website content. Knowing the inner workings of their implementation, they can suggest changes to improve the editing experience significantly. Talking from experience, you can often:

  • Slightly flatten the content tree hierarchy.
  • Convert large, monolithic content types that aggregate various content units storing different types of data into smaller, separate content types. Using these smaller content types, editors will compose content, such as campaign pages or app screens.
  • Use content tree predominantly only for navigable items with URLs.
    • Temporarily: If you need to ensure that items display in a specified order, temporarily use the content tree hierarchy to define the sequence with a parent-children relationship.
  • Guide editors on how they should work with specific content types or what kind and format of data they should input in the content items.
    • We recommend specifying editor guidance in the project requirements. To build a flexible and scalable content model, use editor guidelines to strengthen the content reusability and independence. It helps strengthen its reusability when you concentrate on what the content is rather than on its presentation. Your guides need to help editors focus on the type of content they should input rather than describing what their content will look like on the website.
    • User different icons to provide visual guidance and distinguish between different content types.
    • Use the Tooltip text or Text below the input settings for content type fields to provide editor guidance.
    • As Page Builder is preferably used to present the information rather than store it, use Label and Explanation text widget and section properties to help editors understand the data their content needs and what will happen once displayed in the dedicated channel.
  • If your editors use widgets to display structured content, set restrictions against a specific content type within the widget properties.
  • Help editors quickly compose their pages. Request that developers set restrictions on editable areas, sections, and widget zones to limit confusion about which widget to choose. Use appropriate components to ensure editors cannot stray and input widgets in places where these widgets don’t belong. Setting up these fences helps with the content editing experience and ensures brand consistency.

Ensure seamless content workflow

Make sure that editors have complete control over their content. Preview tab in website channel applications allows editors to see what their content looks like before publishing.

We recommend that

  • Editors create and manage their content on the production version of the application,
  • Developers use a pre-production UAT environment to create, test, and prove their code changes before synchronizing it with the production site.

Model navigation

Website navigation helps users find the content they are looking for. Well-ordered navigation menus provide an overview of how the website’s content or its segments are structured. It can also keep users engaged and lead them to explore more of the site.

We recommend modeling website navigation using a dedicated section of the site’s content tree. Developers prepare a dedicated Navigation item content type. Editors then manually build the website navigation in the content tree. Based on the site’s designs, they create the hierarchy and desired order of individual menu items that developers then display in the relevant locations.

You can also request developers to build a custom Menu widget. Editors can place the widget into appropriate section and select which content tree items the widget processes into a submenu. Similarly, you can request a custom Breadcrumbs menu widget. When editor places the widget onto the page, the widget automatically displays the breadcrumb path to the page’s location.

Depending on your project requirements, the Navigation item content type might contain some or all of the following properties:

  • Page to link to - pages from the content tree are selectable using the Page selector. The selector populates its assigned field with the GUIDs of selected pages, which developers can use to retrieve the corresponding pages and their URLs.
  • Depending on the project requirements, you might want to add some of the following fields:
    • External link
    • Link title
    • Link caption
    • Link icon
    • Additional properties (e.g., open in a new tab)

The following screenshot shows the Navigation item content type on the Xperience sample site Kbank. As a proof of concept, the Kbank site uses the Website settings custom module, where editors create their website navigation.

Navigation content model

For more information and a sample implementation, see Model website navigation.

Website system pages

A good website administration experience doesn’t only mean that editors can easily create and manage website content. A well-structured website offers editors ways to adjust system-specific features without asking developers for help whenever they need to change the website’s SEO performance. For example, you can create a ”Website settings” section in the content tree and create specific page types that content administrators can use to change system settings. We recommend including the following system pages in your project:

Search result pages

Xperience doesn’t currently provide any solution out of the box that will search through website data and display results on an internal search results page. To implement search functionality for the website, use a custom solution.

Recommendations – Search

Considering your project requirements, we recommend using available integration with the Algolia Search, Lucene Search, or building a custom solution using Azure Cognitive Services.

Xperience comes with extensive Data protection functionality that allows for building websites compliant with many different e-privacy laws and legislation.

Administrators can use the data protection features to create and manage tracking consents or easily remove personal data from the administration UI. Once the personal data is in the system, marketers can easily use the built-in Xperience online marketing features, e.g., ensure that marketing emails are sent only to visitors who provided appropriate consent.

To comply with data privacy regulations, developers must implement data collection and erasure features to match project requirements and accommodate how the website gathers, processes, and stores personal data.

Find out more about customer data protection in Xperience:

Recommendations – Consents

To ensure marketers stay within legal boundaries with their marketing activities, we recommend leveraging the Xperience data protection functionality for collecting and managing every piece of visitor data in the customer life-cycle, from cookie tracking up to data submitted through online forms. We recommend building a consent settings page to allow users to manage their consent.

SEO-specific pages


Sitemaps help search engines correctly index website content and significantly affect search rankings. You need to create a custom generator to build a website sitemap.

Recommendations – SEO

We recommend doing a custom implementation of the sitemap generator, including a mechanism that enables editors to decide which page URLs to include in the sitemap and a way to canonicalize URLs. For example, add a custom URL canonical field to the page’s Content tab.

Error pages

Errors can appear on different occasions. Visitors can request content that’s no longer available on the page, or they can make a typo in the URL. A user-friendly error page and simple website navigation can improve user experience and guide them to relevant content. Xperience uses MVC conventions for handling error pages.

Recommendations – Errors

Give editors the power to personalize the content of error pages by enabling Page Builder. It can help if your website contains much content and the menu needs to provide quick navigation. The most frequently used error pages are:

  • 404 - Page Not Found.
  • 403 Forbidden - You do not have permission to access this page.
  • 400 Bad request - Your browser performed an invalid operation.
  • 500 Internal server error - The server encountered an error while processing your request.

Robots.txt and no-indexing content

Website administrators sometimes want to prevent search engine agents from indexing specific pages or parts of the website. The Robots.txt page can help in such situations.

Recommendations - Indexing

We recommend providing editors or administrators with means to disallow parts of the website from search engines:

  • Add dedicated fields on the Content tab to disable indexing of individual website pages. Selecting the fields should include the no-index directive in your output markup.
  • To disable indexing parts of the website, create a dedicated page (or a section in a custom module) for Robots.txt file with, e.g., a Text area form control and use custom code to process the directives administrators want to input into the Robots.txt. The implementation could also restrict the website’s indexing by specific search bots.


Even though content models show similarities across different organizations, every model is unique. Projects where editors and other website stakeholders collaborate on defining, are more successful in results and user satisfaction.

The key points for building content models are:

  • Prefer structured content and use widgets for styling rather than storing the content in Pages.
  • Depending on the skillset of the editor team, consider breaking up complex content types into several smaller types to improve content reusability and overall content composing experience.
  • Regularly validate your model with stakeholders, both internal and external.
  • Website developers should use the created content model and create content on the website themselves.
  • Feel free to experiment or deviate from the recommendations above to satisfy the project requirements.

Happy content modeling!