1. Introduction
A web content management system is a software system that provides website authoring, collaboration, and administration tools, designed to allow users with little knowledge of web programming or markup languages to create and manage website content with relative ease.
When selecting a CMS, clearly define all requirements, as these will vary depending on the specific needs of your website.
2. Core functionality
A CMS is used to create, delete, edit, and organise pages. Changes to the website’s content or design are made once and automatically reflected across all relevant pages. A CMS also makes it easier to interlink pages on your website.
3. Requirements for a CMS
3.1 WYSIWYG editor
If you add text to a website, a WYSIWYG editor is essential. The editor should also be able to handle images and downloadable files (such as PDFs) and provide extras, such as forcing the user to add an alt tag to images. Users should not have to use HTML to edit content. Users must be able to create links from within the text to internal or external website pages and add anchors within the content.
Useful features include a spellchecker and the ability to edit tables.
The WYSIWYG editor should restrict users from altering colours or fonts to ensure that design consistency is maintained through predefined style sheets.
3.2 Search functionality
For larger websites, a robust search functionality is essential to help users quickly locate content.
3.3 Customisation
The content management system should allow flexibility in the way content is retrieved and presented. For example, can you retrieve news stories in reverse chronological order? Can you display events in a calendar? The CMS should support the ability to dynamically extract and display recently added content, such as news articles, on specified sections like the homepage.
3.4 User interaction
The CMS should facilitate the creation of custom forms and the collection of user responses, with customisable fields and automated email responses. Users should be able to specify an email address for the collected results.
The CMS should allow for sending email newsletters listing, for example, the latest additions to the website. It should include news feeds, RSS, and social media integration.
3.5 Roles and permissions
Even if the website currently has only one content uploader, this may change in the future, and control over who can change what will be required. For instance, HR may need to post job advertisements but not alter content on the homepage. This requires a content management system that supports permissions.
The CMS should allow for authenticated security and access rights for different types of users and roles based on responsibilities and business rules governing each role. Access should be controlled via authenticated usernames and passwords. The content manager should be able to specify whether users can edit certain pages or entire sections of the website.
Default roles should include author (content creator), editor and approver. Define the specific functions for each role. The CMS should support version control to prevent multiple users from editing the same content simultaneously (utilising a check-in/check-out system).
3.6 Workflow management
Workflow refers to the sequential or parallel processes involved in content creation, review and approval. The CMS should support configurable workflows to accommodate different organisational needs. For example, one or many content creators or authors can submit a story, but it will not be published until the editor refines it and the approver signs it off.
3.7 Versioning
The ability to revert to a previous version of a page allows for quick recovery if content is accidentally posted or modified.
3.8 Multilingual support
Departments may be required to post information on the website in more than one official language in the future. The CMS should therefore provide multilingual support, including special characters and diacritics required for languages such as Afrikaans, Venda, Sepedi and Setswana (e.g. ṱ, ḓ, ê, ë, š).
3.9 IT architecture
Consult your IT section to ensure that the selected CMS integrates seamlessly with your existing IT infrastructure.
3.10 User statistics and generation of reports
A CMS should be able to generate reports on its use, such as audit trails. These reports should record a sequence of actions taken on any given body of content within the CMS (e.g. author; editor; approver; publisher; deletions; editing; declining content; date published; date modified).
3.11 Design/presentation/layout
The content generated by the CMS must be displayed within the current look and feel of the website, controlled by style sheets.
Content should be separated from design elements to facilitate easy updates to the website's look and feel without altering the underlying content.
3.12 SEO built-in
Fields in the CMS should support search engine optimisation (SEO).
The seven most common metadata fields used in a CMS are:
- Title
- Keywords
- Description
- Publish date
- Review date
- Expiry date
- Author
Some information, such as the author’s name, could be created automatically on login and would not necessarily require a manual field when adding content.
Ensure that all content and metadata stored within the CMS are accessible to external search engines, such as Google, to enhance the site’s visibility.
3.13 Extras
The CMS should also offer the following:
- Automatic site map generation and updates whenever a page is added.
- The ability to display one content item on different pages.
- Users should be able to edit content without it disappearing from the live website.
- The CMS should allow global changes to specific URLs/links across the entire website.
- The ability to schedule publish date and time (start and end dates/times) for each content item.
- Users should be able to maintain every page - dynamic and static - without requiring a developer’s assistance.