A content management system (CMS) is a software system which provides website authoring and administration tools designed to allow users with little knowledge of web programming languages or markup languages to create and manage the site's content with relative ease.
Most systems use a database to store content, metadata, or artifacts that might be needed by the system. Content is frequently, but not universally, stored as XML, to facilitate, reuse, and enable flexible presentation options.
A presentation layer displays the content to Web-site visitors based on a set of templates. The templates are sometimes XSLT files.
Most systems use server side caching boosting performance. This works best when the WCMS is not changed often but visits happen on a regular basis.
Administration is typically done through browser-based interfaces, but some systems require the use of a fat client.
Unlike Web-site builders, a WCMS allows non-technical users to make changes to a website with little training. A WCMS typically requires an experienced coder to set up and add features, but is primarily a Web-site maintenance tool for non-technical administrators.