Content model best practices for Compose
Linking pages
Use reference fields or Rich text links to page type entries to add links to other pages. This will make it easier to resolve and render the links in the frontend application as the linked entry will contain all the information that is required to generate a URL (title, slug, page type).
We also recommend disabling the option Show: "Create new entries" on a reference field that can link to other pages.
Component reference fields
Reference fields that link to content types that are considered single-use component entries, such as SEO metadata or other page-specific content, should have the option Show “Link existing entries” disabled to prevent editors from unintentionally reusing such content.
Localizing pages
Compose supports field-level and entry-level localization of page content via the locale selector at the top of the page editor. Localization for media fields is not supported, so these fields are always treated as non-localized, allowing users to see and edit only the default locale’s values.
Non-localized fields are always displayed in the default locale, regardless of the selected locale. If the selected locale is different from the default one, a label is also displayed next to those fields, showing their respective locale.
Supported localization patterns and best practices
Avoid relying on required fields for localizing content. This can create a possible issue where localized required fields block publishing of an entry if that entry has not been referenced to a locale. (This is more likely to happen if you use reference fields for region-specific content). For this reason, we also recommend always enabling “Allow empty fields for this locale” when adding or editing locales.
For more about localization, see our guide on localization and read more about field-level vs entry-level localization.
If an entry has field validation errors in a locale where the entry isn't linked (i.e. the entry doesn't show up if you select that locale), those fields will be displayed when trying to publish the page. This allows the user to fix the issue in an otherwise unreachable value.