Content Management Systems (CMS) can simplify content creation and enable sensible workflows, however without the proper planning, strategy, and implementation you can end up with a convoluted and difficult website to maintain. Proper planning and strategy considerations need to take place to insure for a smooth implementation.
CMS vs Static site
When developing for a Content Management System, the CMS the system may be selected based on the preferred technical architecture of the team, or the CMS may even dictate the technology stack that will be used. It is a bit of the “chicken or the egg” scenario. Is the CMS selected first because it best meets the business requirements for the site and therefore technology decisions will be made to meet the system requirements, or is there a technology specific team in place that chooses the CMS that most closely fits the current skill set of the developers? In any case, using a CMS introduces additional considerations:
Do you have developers that are experienced with the technology stack used for the CMS? If not do you need to hire to meet this need or contract the work to an outside development firm?
Development, QA, and Production server environments will need to be configured to meet the needs of the CMS. Do you have the necessary infrastructure to support the development and production needs, or do you need to purchase additional hardware and/or software licenses?
Does the CMS have a full featured API that you plan to use for the development of your site? If so, make sure you evaluate the API before you make your final CMS selection. Is there documentation, code examples, and an active development community?
Keep in mind that the CMS adds an additional layer of code and architecture that you will have to support. If there are issues and bugs in the CMS they are now your issues and bugs. Does the CMS have a support team? If so, ensure that their support levels and availability meet your needs. Additionally ensure that the CMS has regular and stable updates to address bugs.
No matter which CMS you choose for your website if you don’t know how to use it your experience is not going to be a pleasant one. Take the time to learn the system before you start the site strategy, design, and development. Most enterprise level CMS products offer training for developers, marketers, and administrators. There are also a multitude of tutorials and online resources available.
Training should not only be reserved for developers and content editors. It is important that the Strategists and Information Architects understand how the system works; how the content is created and related as well as any limitations of the system. Finally, as the content in a CMS is defined by the content editors, designers may need to change their normal design paradigm as page elements can not always be strictly defined.
Planning, Design and Development
A content model is a definition of fields and properties used to define any type of content. Once a model is defined, multiple instances of structured content can be created using that model as a blue print. Many enterprise CMS products incorporate some method of defining a content model, and then using that model to create content.
For example, a model can be created to define a simple promotional block. The promo block may contain a header, a link, and an image. So, our content model would contain fields for a Header, a link, and an Image. It may also define constraints or validation rules, such as the Header can not exceed 25 characters, or that the link is optional. The model does not contain any data, just the definition of the fields. From this model, we can now create as many promo blocks based on the defined fields in this content model.
Careful planning must take place when developing the content model strategy as there is a delicate balance between flexibility and ease of content management. The most basic content type in most systems contains one HTML or Rich Text field that allows editors to create content in a similar manner to using a word processor. This offers the most flexibility as they can use HTML and basic styles to create any number of custom page content and layouts. The problem that you may run into, however, is that many content editors may not know even basic HTML and the end result many times is an unattractive and poorly laid out page that offers no consistency across the site. On the flip side of the coin, you can create very specific content models for each page type and prescribe the exact content allowed. There are several benefits when using this method. When entering content, the content editor will know the specific data required to create the content and will have a structured method for doing so. This can also simplify design efforts as it is easier to design for structured content than free form content. For the developer, the data fields are specifically defined so they can discretely place the fields at defined locations to match the design comps. Additionally these fields can be used for sorting, filtering, and searching content. The downside of this strategy is that it can be very rigid and does not allow for any variance in future updates.
The content model strategy is a very complex and important step in the development of a CMS site. This task is a collaboration between the Information Architects, Copy Writers, Strategists, Engineers, and Designers and may need to be tweaked during the development cycles of the site. Here are some things to keep in mind when creating the content models:
- Create simple and reusable models. For example: if you are creating content models to define page types that contain a Related Links component; create one reusable Related Links model that can be related to the pages (as opposed to adding related links fields to each separate page model). This allows the Related Links model to be defined once and adds flexibility to the page model if you decide to remove the Related Links from the page, or swap it out with a different component all together.
- Consider combining similar models and develop the templates to display only the fields that have been populated. This reduces redundant content models and clutter in the CMS.
- When creating the Models and relationships keep in mind that the content editors may have various levels of technical ability, so a balance needs to be found between meeting development needs and maintaining ease of content entry.
- Some CMS applications have Page Builder or Site Builder features that allow editors to drop content widgets or blocks into pre-defined layout templates. This offers great flexibility for marketers and editors to create custom content, but also requires designers and developers to approach the implementation from a different paradigm. Allow for extra time for widget or custom content block creation if your team does not have experience with this development model.
One of the features of many CMS tools is the ability of content editors to create formatted content and posts for the web site. Most of the tools have a WYSIWYG editor that provides word processor functionality as well as the ability to edit the HTML markup. This can cause design challenges as there is no way of knowing what content will be entered in the future. A good style guide, both in design and in development, can go a long way towards mitigating this issue. Design should provide the fonts, colors, text-sizes, etc. of all of the basic HTML elements (headers, paragraphs, bullet lists, etc.) as well as comping out basic layouts for image placement and other common styles. Developers should create generic content markup that can be used to test all of the possible HTML elements (within reason) that can be implemented in the editor. Also keep in mind when using CSS reset style sheets to make sure the rich text content is not included.
Design for CMS sites can be challenging. Basic page types, promotions, and other content models may follow normal design patterns. However, with many content managed sites, the designers will not know all of the elements that may be on the page. Some systems allow drag and drop content widgets where the editors can create their own unique pages. Images and other assets may also be defined by content editors and administrators, so the design comps may be laden with For Placement Only images or design suggestions that may not be followed by the editors. With responsive sites, content will need to display differently at different screen widths and on different devices. It may be beneficial to design more at a component or widget level first showing these blocks at the various responsive breakpoints, and then mocking up sample pages based on these blocks.
Developers will face many of the same issues as the designers and these teams will need to work closely through the entire project life cycle. Since there may be no way to know what content will be entered into the CMS developers should create a base set of HTML markup that may be used and ensure that they are displayed correctly. Additionally, the back end engineers and font end engineers need to work closely to ensure that the markup used in the templates matches the markup generated by the CMS. For responsive sites, each content block should be developed to display correctly at the different breakpoints. For example, if your site has promotions you should create them so they display correctly if used in different footprints in the templates. This means that you may want to consider defining a finite number of promotion dimensions that can be used across all templates to limit the number of variations that need to be created.
Many times the tech lead will not only lead the coding initiative, but will also be the initial CMS site Admin, the System Administrator, as well as a technical writer and trainer who will need to be able to communicate how the system works to non-technical users. The tech lead will need to know the CMS and architecture inside and out, so ensure that there is time in the schedule for the leads to become familiar with the system before implementation begins. As most CMS applications offer flexibility on how you can create the site and access the content, a comprehensive user guide will need to be created for the editors that goes above and beyond the standard CMS documentation. Make sure you allow for time in the schedule for this documentation to be created. Finally, issues and questions will arise about how to implement features of the CMS or bugs related to the CMS. These issues will require calls to the support team or scanning user forums and knowledge base articles in search of solutions. So, especially if this is the first implementation of a particular CMS, know that there will be extra time needed to iron out CMS specific issues.
After the development of the site is complete the editors will need to load all of the content for the site. However, the content strategy and copy writing can not wait for development to finish as this could add weeks or months to the schedule. Once the content models are created and approved the copy writers and content strategists should start work on content creation.
If you are vendor or agency creating the site for for a client you must clearly define the responsibility of the content creation and loading. Depending on the size and depth of a site this task could take hundreds of hours. If it is determined that you are responsible for the content and content loading, there are additional measures you should consider.
- Create a content inventory of what needs to be created (images, files, and copy).
- Who is responsible for image creation?
- Once the content models and inventory are created, start writing the copy, do now wait for development to finish.
- Agree to a content review cycle and set limits on the number of reviews the client will have.
- Have your Quality Assurance (QA) team review the copy before submitting it for review.
- Determine the environment where the content will be loaded. Will the content be loaded in your development or QA server and then migrated to a production server? If you need to migrate content allow for this in the schedule. Also allow for additional QA once the content is migrated.
- Create a content loading plan and checklist to keep track of progress.
- Keep in mind that when creating content with links to other pages that the links can not be created unless those pages exist in the system.
- If multiple people are in the system loading content, they will need to be managed. Allow for a Project Manager resource to manage this process.
- Once the content has been created:
- Use a link checker or site spider tool to check for broken links and orphaned content after loading is complete.
- Allow for the Client to have a final review of the content in the system and allow for time to fix any content issues.
- Be prepared for functional issues to arise when the content is being loaded as you will encounter use cases you may not have considered during your planning.
As with any project, quality assurance is the key to producing bug free web sites. CMS sites add a layer of complexity that needs to be accounted for in the QA budget. The same challenges faced by engineering and design hold true for QA, you may not know what content will be entered by the client in the future, so you may not be able to test all possible use cases. This especially holds true if you are building this site for a client that is responsible for content loading. In this case the site tested by QA will most likely be populated with place holder content, or a sub-set of the final content. If this is the case, it is important to carefully develop the place holder content to try an cover as many use cases as possible.
- If the CMS tool has a rich content, WYSIWYG, or HTML editor, create content that contains as many elements as the tool will allow. For example, use bullets, links, headers, bold, italics, underscores, etc. to make sure that they are displayed correctly. Do this for each content or page type type that can have content added in this manner.
- Add QA testers as content editors and Admins in the CMS and allow them to update and administer the site.
- Include QA in any CMS training for the company and bring QA into the project cycle early so they can understand the system and create their test plans accordingly.
- Create written test plans and use cases that can be leveraged in future projects.
- Ensure that there is a strong bug tracking system in place to track issues and resolutions.
- If your company is responsible for the content creation and loading, ensure that the QA team reviews the source content documents before content loading begins. It is easier to fix issues before they are entered into the system.
While Content Management Systems offer marketers a great platform to create and manage content they also add a layer of complexity for the development team. The site will be ever changing and growing in ways that can not always be known during the strategy and planning stages of the project. At times using a CMS may not fit into the development patterns of your company and a paradigm shift may need to occur. However, with the proper planning and consideration you can greatly increase your chance at a successful and smooth implementation.