A website CMS (content management system or systems) is a server program that creates a website without any pages pre-existing on the server. It interacts with a database, and builds the pages on-the-fly when requested by a browser, using text and publishing instructions from the database. Images or other content are added into the resulting pages from the usual folders on the server, and the page layout is based on a template. As there are no pages on the server, there is normally a cache (a 'memory pool'), so that if a page has been requested recently it can be delivered directly from memory and does not need to be built again. Pages are normally built in a fraction of a second in any case.
See Also: More About CMS at the end of this article.
The best lightweight CMS and the leader in the micro-CMS class for good reason.
Platforms/Download: [field_blackberry_download] | iOS | Linux | Mac OS | Web App | Windows (App) | Windows (Desktop) |
Version reviewed: 3.1.2
|Our Rating: 5/5
The best brochure CMS and the #1 rich media publishing tool.
Platforms/Download: Web App |
Version reviewed: 1.6.3
|Our Rating: 5/5
A rock-solid CMS with access control levels for multiple user groups.
Platforms/Download: Web App |
Version reviewed: 7.0
|Our Rating: 5/5
Related Products and Links
You might want to check out these articles / sites too:
- Best Enterprise-Class CMS - our stub article on the Best Enterprise-Class CMS
- CMS Matrix - a good comparison matrix site
- OpenSource CMS - big site, comprehensive resources
- CMS Review - a long-established site, good resources, but boilerplate software reviews though
More About CMS
Why Do I Need A CMS?
All modern, capable websites are dynamic - that is to say, they can change easily as they run off a database not web pages. Page content and even site structure can be changed live online in no time. The older method, HTML web pages, is called static because once built those pages cannot be changed except by re-coding them.
A dynamic site has huge advantages, in fact far too many to list here. The core advantage is that content is separate from structure, and either can be changed rapidly and independently from the other (in other words you can change the site content, or its design and layout, with no effect on the other - in contrast to an HTML site). As far as practical features go, for example the site owner can edit page content live online or even create new pages, with changes going live instantly; site structure can be changed quickly; templates control the page appearance and can be changed rapidly or customized to suit; different managers can be given logins to control different aspects of the site; managers can be given logins to the site software admin and not the server admin; plugins are used to add functionality and features that would have taken days of coding before; and so on. The best-known dynamic sites, ie DB-driven ones, are CMS, forums, ecommerce / shopping carts and wikis. In the past, managing a dynamic site was a specialist job but now the software is much more usable.
Disadvantages? Not many - but like anything, there are pros and cons:
- A CMS needs decent hosting - but not all hosts actually know what they're doing.
- They are not good where every page has a different layout involving complex artwork.
- A webmaster is definitely needed, to keep an eye on things.
- Unless you are a CMS expert, you wouldn't use one for a site of less than 4 pages.
Which Is The Best CMS?
In practice the question of 'best CMS' is impossible to answer, since all of these programs are designed to work in a particular way for a particular purpose. If you look at the wide range of different types of websites, it becomes obvious that no single application could create websites of all those types. Therefore a CMS is simply a tool for a job; it has to be designed for a fairly narrow range of duties or it won't work well. Which is the best: a screwdriver, a saw, or a hammer? Obviously, there is no answer to this - it depends on what job you are doing. Content management systems are the same - you have to pick the right one for the job. Therefore, part of the solution is to pick one of the right class.
CMS can be divided into groups, for different roles, so you first need to define your requirements and choose one from a suitable group. There are around 3,000 - so there's plenty of choice. The standard CMS type is called a 'brochure CMS', and is a full-feature online publishing tool. Virtually every CMS handles basic publishing tasks like creating an ordinary website with pages that have text and image content. The difference between them all, though, is how capable they are, what else they can do, and how they do it.
Types of CMS
Here are some of the types or groupings you could start with:
- Free or commercial
- Lightweight ('micro-CMS'); standard ('brochure CMS'); enterprise-class CMS
- Server type: LAMP ((PHP - MySQL, the normal type of server); or IIS (ASP - .NET - Microsoft SQL Server - the MS proprietary route)
- SQL database or flat-file DB type
- Pre-defined templates or grow-your-own
- Basic text and image publishing, or rich media capability
- Community use, or one-person publisher
- Single ownership structure, or sections owned by different groups
- Remote installation, or on local machine only
- Normal shared hosting, or dedicated server only
- Good ecommerce support / basic / none required
And as this isn't even the complete list, there are a lot of questions to be asked.
How We Will Choose A CMS
Because the situation is complex we've taken a few short cuts. We're going to assume that you require a free / open-source program; a normal LAMP server compatible CMS (since this is the vast majority); that you will be using the usual MySQL database (again, the most popular choice); that you will be installing it over the web, on your shared hosting account, as is normal; and that ecommerce is a subsidiary function that may or may not be required, so we won't prioritise for it.
That cuts the choice down to a sensible number. We can now look at some CMS software that would suit some simple and obvious profiles:
- a new user who needs quick 'n easy publishing
- a user who needs a capable brochure CMS*
- a user who needs to have the CMS compartmentalized for different user groups
* A 'brochure CMS' is the standard type that publishes content of various sorts in various ways: a full-feature publishing tool, which is an ordinary CMS.
This done, we'll pick three to suit those profiles. There is no 'top pick' here because we're looking at some website CMS (aka WCMS) for different uses, so they are each right for their user profile. However, our three chosen CMS applications are my top picks in their class.
CMS Security Note
All dynamic sites of this type (those that use databases) have many more attack vectors than an HTML website, the older type with web pages. This has some very important consequences:
1. A CMS is not a fit-and-forget solution, like a fridge or TV. It's more like a commercial truck, it needs someone to run a maintenance sked. A CMS needs a webmaster to handle upgrades and other security issues. You cannot install a CMS and leave it, unlike an HTML site, unless you don't care about the consequences.
2. Hosting - ie the quality of it - is a thousand times more important than with an HTML site. You pay the hosts for security above all else. If you cut costs here and end up with a less than competent host, your site can be exploited.
3. You should be especially careful with a new CMS or a new version of a CMS, since it is inevitable that there will be security issues that will need fast action from the webmaster.
This software category is maintained by volunteer editor Chris Price. In the computing area his interests include freeware / open-source software, website software, web usability for all, and web business management.
Registered site visitors can contact Chris by clicking here.
Please rate this article: