A content management system is a fast, easy way to deploy a complex, content-focused site. Content management systems (CMS) are developed and designed largely on a modular basis, so that you can create a visual template and then "plug" your content in as you go. CMS solutions today run a vast majority of websites, from blogs to e-commerce portals. They are incredibly beneficial to professionals and businesses because they allow for the development of a fully-featured website in very little time. But choosing the best content management system can be a bit of a challenge: they all have their own unique benefits and drawbacks.
Budget and Features: Choosing Between Open Source vs. Commercial
Almost all of the major content management systems are open source. Drupal, Joomla, WordPress -- they are all distributed on an open source license. And there's a reason for this. Open source products have more community support; they grow faster and are easier to learn and develop for. And, obviously, they're much cheaper. An open source product has many benefits. Not only is there a vast library of code out there, but it will be easier to find a developer who is familiar with the product. More third-party applications support open source solutions, and there's a certain level of familiarity.
But that's not to say there isn't a place for commercial content management systems. In general, a commercial CMS is best used when there are security or regulatory concerns, or when there is a very specific type of content that you wish to manage. As an example, many educational portals use OU Campus, a content management system that is designed specifically for universities and colleges. In this situation, a commercial CMS is preferable because it will secure student data and because it will be geared specifically towards managing education-related information. It will also meet the regulatory standards for these educational institutions. Commercial CMS solutions tend to be easier to develop for because they have better direct support; they also have a higher level of quality in their extensions and add-ons.
Product Support: Documentation, Popularity and Community Content
When you develop a website of any complexity, you often find yourself relying upon a combination of documentation and community help. Some content management systems are more popular and well-documented than others, and this may influence which one you choose. When looking for a CMS solution, you want to look for something that has a lot of community activity and many avenues through which you could acquire help, such as forums and a help desk. When looking through community content, you want to find a solution that has a significant amount of add-ons, plug-ins, and other out-of-the-box systems.
Some solutions have smaller communities and thus they have less documentation available -- but that doesn't mean they are poor choices. It simply means that niche solutions will usually need to be programmed from the ground up, which may require a more advanced level of developer knowledge. It's also important to make sure that a content management system has been updated recently and that the community is still active -- this is especially true of open source content management systems. In general, a commercial CMS will have more support available and less of a reliance on the community itself.
Versatility: Under-the-Hood Mechanics and Extensibility
Depending on your website, you may be fine with an out-of-the-box CMS or you may need to customize it a great deal. Any open source solution will be able to be modified and extended, and most commercial content management systems have ways to customize their templates and features. But the ability to which you can easily enact these changes will depend on the content management system.
As an example, while WordPress is user-friendly, its focus is primarily in blogging and that is what its programming is focused on. To extend WordPress into a non-blogging site may be prohibitively difficult compared to more open content management systems. For more extensive e-commerce portals and non-blogging applications, Drupal, Joomla, and ExpressionEngine would all be significantly better choices.
Though Drupal, Joomla, and ExpressionEngine support blogging, they were designed as more general purpose platforms. These CMS solutions may be used for a recipe site, a language dictionary, or a movie review site: essentially anything that deals with snippets of content. In WordPress or most commercial CMS platforms, you will be focusing mostly on assembling pre-coded components. In Drupal (and to a lesser degree Joomla), you will be more likely to be hard-coding many aspects.
Customer Experience: Speed, Appearance and Ease of Use
With all that going on in the background, it can be easy to forget the most important thing of all: customer experience. Some CMS solutions simply create more user-friendly websites out-of-the-box because of their architecture and templates. Other CMS systems may feel clunky or outdated until you update them personally. Depending on your personal level of development skill, you may want to find a content management system that offers a wide variety of polished, professional, and responsive design templates. Looking through a catalog of these templates will tell you how your site will actually look and feel to your user -- which can be just as important as how it operates in the background.
WordPress, Drupal, Joomla, and ExpressionEngine all come with templates -- and most of them today are also responsive. WordPress has more templates, but Drupal and Joomla still have hundreds of professional (and often free) options. Joomla tends to be more current with web standards and thus look more polished, and ExpressionEngine is driven by professional designers and developers who have created a wide variety of commercial and non-commercial designs.
Once you know what you require of a content management system, the choice should be much simpler. You may want to test out a prototype of your project in a few systems before you make the final decision. Moving forward, the management and maintenance of your website will be highly dependent on your content management system -- and you may find some modifications more challenging in different CMS platforms than others.