CMS Made Simple™ provides complete control for specifying canonical URLs for each content page. This greatly improves the SEO capabilities of your website, and assists in navigation.
This functionality was introduced in CMS Made Simple release 1.9 and resulted in the removal of the
use_hierarchy config option. Additionally, this functionality is specific to the CMSMS "Content" page. Third party modules that implement different content types may not support this functionality.
When creating or editing a content page a field exists on the "options" tab (though the ability is provided in global settings to move this field to the "main" tab) to allow specifying a URL (relative to the sites root url). The value of this field is combined with the page extension and root_url from the config.php to generate the URL used in creating navigations and individual links to content pages.
For example, when editing a content page the value
path/to/page.html is supplied in the URL field, viewing the site the URL generated for this page would be something similar to
CMSMS automatically checks for duplicate page URL's, and prevent the editor from saving the content page if a conflict is detected.
The "Global Settings" panel of the CMSMS admin console provides options to assist in the creation of, and management of page URLs:
- Automatically Create Page URLs:
This option indicates that if the URL field is empty when submitting a page, that the system should automatically create a URL.
By default, automatically created URLs will represent the hierarchy where the page resides in the page structure, and will use the alias of the page at the last level. i.e:
- Automatically Created URLs are flat:
This option changes the behaviour of the option described above to create page URLs that are a match to the page alias. i.e:
This option replaces the "use_hierarchy" config option from older versions of CMSMS.
- Page URLs Are Required:
This option influences the behaviour of the add/edit content form. If enabled, the system will not save changes to a page if the URL field is empty. However, it will work if the "Automatically Create Page URLS" field is also enabled to ensure that a page URL always exists.