A web content management system (WCM or WCMS) is a software content management system (CMS) specifically for web content. It provides website authoring, collaboration, and administration tools that help users with little knowledge of web programming languages or markup languages create and manage website content. A WCMS provides the foundation for collaboration, providing users the ability to manage documents and output for multiple author editing and participation. Most systems use a content repository or a database to store page content, metadata, and other information assets the system needs.
A presentation layer (template engine) displays the content to website visitors based on a set of templates, which are sometimes XSLT files.
Most systems use server side caching to improve performance. This works best when the WCMS is not changed often but visits happen frequently. Administration is also typically done through browser-based interfaces, but some systems require the use of a fat client.
A web content management system controls a dynamic collection of web material, including HTML documents, images, and other forms of media. A WCMS facilitates document control, auditing, editing, and timeline management. A WCMS typically has the following features:
A WCMS can use one of three approaches: offline processing, online processing, and hybrid processing. These terms describe the deployment pattern for the WCMS in terms of when it applies presentation templates to render web pages from structured content.
These systems, sometimes referred to as “static site generators”, pre-process all content, applying templates before publication to generate web pages. Since pre-processing systems do not require a server to apply the templates at request time, they may also exist purely as design-time tools.
These systems apply templates on-demand. They may generate HTML when a user visits the page, or the user might receive pre-generated HTML from a web cache. Most open source WCMSs support add-ons that extended the system’s capabilities. These include features like forums, blogs, wikis, web stores, photo galleries, and contact management. These are variously called modules, nodes, widgets, add-ons, or extensions.
Some systems combine the offline and online approaches. Some systems write out executable code (e.g., JSP, ASP, PHP, ColdFusion, or Perl pages) rather than just static HTML. That way, personnel don’t have to deploy the WCMS itself on every web server. Other hybrids operate in either an online or offline mode.