logo
Page Affairs

Editing and Web Design

Choosing a CMS

Note: this post is from 2009, and though still useful, is not fully up to date.

A web content management system (CMS) provides a means for creating, editing, organizing, archiving and searching content on a website. Short of creating a CMS oneself, there are many CMSes available for ready use—many of them open-source (meaning free), while others are available for purchase.

Creating one’s own CMS requires significant experience with at least one programming language—such as PHP or Ruby—as well as a reasonable amount of spare time. For most people, the best option is to make use of a ready-made product.

Problems

The question is, Which CMS to use? There are literally hundreds of options; and each one is conceptually and functionally distinct. Unfortunately, many lack a comprehensive and/or intelligible explanation of how they work or function. It is often difficult to find a clear overview of what a CMS has to offer, even of how it works conceptually. (If you are like me, and accustomed to creating essentially static websites with HTML and CSS, you want to get a sense of how a CMS will fit all the various bits of a site together—how the architecture of a particular CMS compares with the paradigm of web creation you are accustomed to.) Moreover, any documentation that may exist is often too technical for a newcomer to understand easily. And even though many CMS makers provide an online forum, getting help from those is very hit-and-miss, making them a poor alternative to a good overview and clear documentation.

Anyhow, enough of the rant. The purpose of this post is to begin the process of sorting the various CMS offerings into conceptual groups (as best I can, given that I have not used all of them) and to consider reasons for choosing one over another. (Note that those marked with an * require a payment.)

Types of CMS

So, firstly, there are several main types of CMS that should be clearly distinguished. (There are, to be sure, major points of overlap between them, but nevertheless they are essentially distinct.) They include what I might call the General Website CMS (for want of a better term), the Blogging CMS, the eCommerce CMS, the Forum CMS, and others such as Wikis, Image Galleries, Gaming and Learning Management systems. I’ll look at some of these in turn.

General Website CMS

This type of CMS can control most or all of the pages and content of a website. There are many different options available—from tiny little ones to mammoth commercial workhorses; from remotely-hosted to self-hosted options; from those that employ a database to those that store content in simple flat files; from those that contain the whole website to those that control content for selected regions within an otherwise static site. It it therefore worth sorting this category into a number of sub-species.

Self-hosted Solutions

By a ‘self-hosted’ solution I mean a CMS that you upload to your own web hosting account. Having your own account means that you can modify the CMS code at all levels. These CMSes vary in their sophistication and complexity, but the most powerful of them allow you to create your own templates and control content in very sophisticated ways—such as with blogs, repeated content, self-generating menus, RSS feeds, ecommerce facilities and more.

Prominent examples of this sort of CMS include ExpressionEngine*, Craft*, SilverStripe, MODx, CMS Made Simple, phpwcms, Drupal, Textpattern, TYPOlight, TYPO3, Joomla!, Mambo, Wolf, Frog, Radiant CMS (built on Ruby on Rails), Bildy*, concrete5, Plone, Pixie and e107.

Hosted Solutions

By a ‘hosted’ solution I mean a CMS owned and controlled by an online provider that allows you access to its CMS for a fee. The better ones allow you to create custom templates and other features, while the back-end maintenance of your site—such as backups, security, updates, add-on modules and extensions, server configurations and monitoring—is taken care of by the hosting provider. Examples include Webvanta*, Webpop*, Business Catalyst*, LightCMS* and Markup Factory*.

There is another class of hosted solutions that are mainly intended for non-coders, meaning that you can add content to your site, perhaps alter styles and layout, but not have to worry about how the site is coded. Personally, I see this as a solution for those who want to bypass a web designer, rather than for web designers themselves (though others may disagree). Examples of these include Eden Platform* and Squarespace*.

Integrated Solutions

By an ‘integrated’ solution I mean a CMS that controls editable content which is fed into an otherwise static site. In other words, you build yourself a static site, and then define editable regions within your pages into which the CMS feeds content. There are both self-hosted and remotely-hosted versions of these CMSes—and some of them are free!

One excellent self-hosted example is Perch*. I really love this little CMS. It is actually very powerful, and has many advantages over other solutions, in that the files sit alongside the rest of your files and folders, and you have full control over templates and the rest of the code that runs it. You can have a copy of Perch for a very small, one-off price. If you want a small and simple CMS solution, it is certainly worth considering. Another like Perch is Pulse*, which is a really simple to use and install CMS that uses PHP includes.

Other examples include MojoMotor* (the new baby sister of ExpressionEngine), Unify* (another really impressive little application, costing very little); and also Contribute and WebYep, both of which can be integrated with Dreamweaver.

There are also some really nice hosted CMSes in this category. Quite amazingly, you can use them for free! These include CushyCMS, SurrealCMS and PageLime. If you are looking for simplicity (you won’t need to mess with any code), yet a powerful way to offer content management to your web clients, you can’t really go past these. The only downside that I see in them is that you have to share the login details of your server with them; but that’s really a minor point, and these services are, deservedly, very popular with designers.

Flat File CMS

Most CMSes store site content in a database, but there are some simple, lightweight versions that do not use a database at all. Instead, the content is written to ‘flat files’, which are essentially simple text files, written in xml format, that are stored on your server. The flat file solutions can avoid some of the complexities (and possible hazards) of using databases, and are suited to small to medium sites that do not require a large amount of data storage. Some nice examples of these are Statamic*, GetSimple, Stacey, CMSimple, razorCMS, Unify*, CMS from scratch and Pulse CMS.

Blogging CMS

There are quite a few excellent CMSes geared specifically for blogging. The standout of them all is WordPress. Indeed, this CMS is considered by many to be the best of all CMSes, and is probably the most widely used. Over the years, it has expanded its functionality to encompass regular websites as well as blogs. It is also free ... which is a good selling point, so to speak. There are two versions of WordPress, a hosted version at wordpress.com (which has limited scope for styling and modifying, and is really for non-designers), and the full code version at wordpress.org, which you can download, mess with and modify as much as you like.

Other prominent Blogging CMSes include Ghost, Movable Type and Habari. Links to more open-source examples are available here.

Given the great free, open-source offerings available, I’m not convinced that it is worth paying to have a blog; but if you want a really good blog service without having to worry about setting up your own hosting, it may be worth checking out a CMS like TypePad*.

eCommerce CMS

Otherwise know as Shopping Cart software, an eCommerce CMS is a complete system for selling products online. There is a range of free and powerful CMSes that can be used as the basis for an ecommerce website. You could use such a CMS as a subsection of a website, but if your website is purely for selling products it is more practical to have the whole site contained within the CMS.

An ecommerce CMS allows users to log in, create accounts and make credit card payments, while allowing the site owner to track sales and customer information, organize products, track inventories and so on. Security is a big issue here, and your site will need to have a dedicated IP address and a signed security certificate. It also takes quite a bit of skill to set up and use software like this, so unless you really know what you are doing, you should hire a web developer who specializes in such software to set up the ecommerce site for you.

Some popular eCommerce CMSes include Magento, osCommerce, Zen Cart, CubeCart*, OpenCart and DantoCart.

There are some shopping carts that are mainly designed as plugins for other CMSes, such as WP e-Commerce for WordPress and Ubercart for Drupal, which are also worth considering.

But if you only require a more modest ecommerce facility—perhaps as a subsection of your site—it is well worth considering hosted solutions, where you provide a link to a dedicated ecommerce facility that handles all the hard bits like security for you. There are many such services that are relatively low-cost. These third-party solutions vary in the degree to which you can style their look and feel to match your site—from almost completely to almost not at all. Good ones to consider include Fastspring, Shopify*, FoxyCart*, Mal’s eCommerce and E-junkie*.

Forum Software

Another significant CMS category is the online discussion forum, of which there are several very good open-source options. These include bbPress (by the makers of WordPress), phpBB, Simple Machines, Vanilla and Phorum. Links to more open-source examples are available here. A prominent commercial CMS is vBulletin*.

Wikis and More

A Wiki is a CMS that allows visitors to add and modify content. The most famous site using a Wiki is, of course, Wikipedia, the online encyclopedia. Wikipedia is built on MediaWiki. Links to more open-source examples are available here.

Finally, here are some links to a range of other CMSes: image galleries, learning management systems and some other miscellaneous offerings.

Test Driving

You may want to test drive some CMSes before deciding which one to use. You can simply download the free ones and either test them online or locally (perhaps using a virtual server environment such as MAMP or XAMMP). But you can’t always do this with a commercial CMS. There are some online services where you can test out a CMS without installing it yourself. You don’t necessarily get to try out all features, but at least it can give you an idea of how the CMS works.

Examples include: ExpressionEnginePerch, MODx, Textpattern, Drupal and Silverstripe. You can also get a feel for what Statamic is like via their demo videos.

Conclusion

If you have read through this post and are disappointed that I haven’t told you which CMS to use and how to use it, you are expecting too much. There is no getting around the fact that there is work involved in choosing and learning to use any CMS. You will need to do some research and make your own choices.

Nevertheless, most posts about CMSes usually contain a list of recommendations; and although I fear to dip my toe into such controversial waters, I might hazard a few suggestions…

If you want a blog, first consider WordPress.

If you want a general website CMS, check out ExpressionEngine* or its free counterparts MODx, SilverStripe and Drupal. A simpler alternative, and well worth considering if you don’t need all the bells and whistles of these options, is CMS Made Simple. If you want to retain more control over your site and just be able to set up editable regions, look at Perch*, Pulse* and Unify*. If these look too complex for you, then go for something like CushyCMS, which is an excellent service and is dead-easy to use. Lastly, if you want to have a fully-fledged CMS but don’t want to mess with programming and backend maintenance, have a look at Webvanta*. (Were it not for the cost, I’d be tempted to try it myself. It looks like Webvanta has excellent support and learning resources.)

As for shopping carts, unless you are really confident with coding, back-end management, security certificates and so on, go with hosted solutions like Shopify* or FoxyCart*.

Lastly, I have no experience with forums, but I’ve heard a lot of good comments about phpBB.

Acknowledgements & Links

Legacy Comments

Fred Campbell — July 23, 2012

Thanks for such a great and informative post. Have bookmarked, tweeted and will be back for more.

Charlotte McGhee — July 23, 2012

What a solid list! Great work… because I’m bored I decided to pick my #1 choice from each category.

The winners:

Self-hosted Solutions: ExpressionEngine.

Hosted Solutions: Squarespace… you didn’t list this, but you should’ve.

Integrated (“Simple” or “Light” Solutions) PageLime. Cushy is just outclassed these days and Surreal is just Cushy with a worse name. This isn’t even a competition anymore.

Blogging CMS: Wordpress… it just is. People should stop debating it. Most people, most active, easiest install, it wins.

Hope this helps narrow it down for others on the quest!

Sebastian — July 23, 2012

Great article.

I always run into this issue when I’m building sites. I think the best advice I can give is to pick the CMS that best fits your project. There is no one CMS fits all.

My personal favorites are WordPress and Perch. Both of which I have used a lot.

Another thing to keep in mind is that CMSs all have a learning curve. If you decide to use a CMS for a project you have never used before, make sure to factor in the extra time it will take for you to learn the system, templating / themeing, and adding additional functionality via plug-ins.

Adam Dexter — July 23, 2012

Nice post! You really covered basically every mentionable CMS out there!

I’ve shopped around a lot in the “integrated” category for my clients with more basic/non-blogish sites and I think Pagelime is a clear winner. The ones you mentioned were alright. But for example, with Perch, if I stop paying or their server goes down, my site won’t work right. With Pagelime, I can ditch at anytime and nothing will change, I’ll just have some extra classes in my code. Additionally, Pagelime has a live-view edit which is key when I have a page with a bunch of editable regions and better image support (with cropping and on the fly filters).

I would definitely try out Pagelime yourself and re-evalute next to Perch.

As for the others, I love ExpressionEngine and Wordpress is an easy free go-to for sites that need more depth/dynamics.

Ralph Mason — July 23, 2012

Thanks for your comments everyone!

@Charlotte: I take your point about Squarespace. It certainly is a stunning web design tool. However, even though it allows you full control over your site’s CSS, it doesn’t really give access to the HTML (as far as I can see), instead relying on a wide array of templates that can be mixed and matched. This is a great facility for those wanting to steer clear of a web designer; but my main aim in this post was to survey CMS solutions that designers could basically have full control over. For mine, the HTML behind the Squarespace sites is a bit ugly.

@Charlotte and Adam: thanks for your comments on PageLime. I should do some more comparisons.

@Adam: regarding your comment “with Perch, if I stop paying or their server goes down, my site won’t work right”; that is a danger with a number of these CMSs; although with Perch, the files are all on your own server, so I don’t think it’s a problem in their case; and Perch only requires a one-off payment. Personally I prefer everything to be on the one server.

Thomas — July 23, 2012

Have a look at Pulse CMS. It’s a light one similar to Perch and Unify but OP-EN source.

Ralph Mason — July 23, 2012

Thanks Thomas. This certainly looks like a useful, simple little CMS. It appears that this CMS is best classed with the other Flat File options. I will add it in.

Neil Lancia — July 23, 2012

This is a really thorough review… most folks neglect to describe the difference between the various different hosting models. I wish you’d included our CMS, Eden Platform, in your list of hosted options. Anyone who likes Squarespace will probably be blown away by Eden’s composition interface and built-in search engine optimization.

Ralph Mason — July 23, 2012

Thanks Neil. I hadn’t heard of Eden. I took a peek at the code behind some of your featured sites and was impressed at how clean the code is. Well done. I’ve added a mention above.

pixeltarian — July 23, 2012

@Adam: Perch will NOT fail if the server goes down. If it can’t reach the server it will function like normal. Also it is a one time payment so there is no “if I don’t keep paying” problem.

That being said, I do think Unify and Lime are looking really good. Here’s a quick condensed list of a buch of quick and easy CMS/editors for small sites:

WebYep
PageLime
Unify
Surreal
Pulse
Build or Lite
Perch
Adobe in context editing

Ralph Mason — July 23, 2012

Thanks for your comments, pixeltarian.  smile

Konrad — July 23, 2012

Great list! I personally also love Website Baker - it’s so simple and easy to set up and creating new templates for it is a piece of cake. Especially useful for brochure style websites but I wouldn’t recommend it for ecommerce. Very flexible and quite powerful too when you start to see the options available with sections and mods. Often overlooked but I really like it!

Ralph Mason — July 23, 2012

Thanks for pointing it out, Konrad. smile

Lucy Ward — October 29, 2012

Thank you so much for this readily accessible and thorough review of CMS’s. I have recently just built my first website as part of a Dreamweaver course, but by the end of it I realised that most potential clients are going to want to update their websites as a matter of course. So I am learning the basics of php and JS but need to choose which CMS to integrate into my own website (Perch or Page Lime sound interesting) and then I want to get my head around WordPress for future sites for clients. Is there anything you would add to your 2009 review in 2012? Have there been any major developments I should consider? Thanks again, best wishes from a very rainy UK!

Ralph Mason — October 29, 2012

Hi Lucy. I’ve made a few updates to this post over time, but I’m not aware of much game-changing activity over the past few years. I’ve added a few new CMSes to the list. For the smaller CMSes, I particularly like the look of Pulse as a rival to Perch, but that’s about the only one that has really captured my attention of late. smile

Tim Considine — January 03, 2013

Just wanted to say thank you for such excellent work and review.
I really appreciate you having the interest and taking the time to share your hard-won knowledge.
Muchas gracias !

© Page Affairs, 2008–2024