Choosing a Content Management System (CMS) - Wordpress, Joomla, Drupal

Users, who want to build a blog or develop a full content-rich news site or social community, are frequently confronted with the problem of which CMS or blog application they should choose. This article hopes to answer some of the most frequently asked questions about blogs and CMS software such as Wordpress, Joomla, and Drupal.

What is a Content Management System (CMS)

Content management systems (CMS) are designed to facilitate the rapid development of content rich websites, such as websites that contain articles, images, video, chat, etc.. CMSs are used by small and large businesses, consultants, professionals, entrepreneurs to educated and inform potential clients about their businesses and the markets in which they specialize. In today’s world, CMS-based sites are frequently used to replace printed brochures, create news sites, build social communities, etc. Content driven websites tend to be informative, flexible and current. The very best of these sites are huge drivers of Web traffic and a magnet for new customers/clients.

Other than business sites, there are literally millions of personal CMS websites out there that are often referred to as blogs. These websites are written by people who just want the world to know more about their lives - for whatever reason.

What is a CMS

CMS is software that can be used to develop and manage a diverse set of content that you might want to display on a site. For example, a site might have articles, images, video, all appearing on one site and/or one page on that site, that is being created and maintained by one or more content creators.

All of this content has to be stored somewhere. The CMS will typically store the information in a database as well as individual files. When someone wants to look at a page of information, the CMS will retrieve the information, combine the information, and present it to the user. While CMS is technically different, in order to perform all of these functions, the typical CMS will utilize the following technologies:

1) An SQL database that stores news articles, posts, comments, that appear on the website. Other types of administrative data such as users information, security privileges, category information, tagging information, site information and descriptions, etc., are also stored in the database. Database are more secure, provide better performance, and are more flexible than other types of storage mechanisms, so they are a good fit for CMSs. SQL database storage is usually augmented by individual file information which may hold images and videos which are integrated by the CMS into a single page when the page is requested.

2) PHP or equivalent programming code which is used to update and access the data from the database and files, and implement additional administrative, privacy, anti-spam, and security functions. The CMS provides high level functions that make it much easier to develop a site when compared to developing from scratch.

3) HTML markup language which basically describes the way the content will be presented to the user.

4) Cascading Style Sheets which describes the way the data will look on the screen, such as font, colors, margins, etc.

A good CMS will provide a good balance between ease of deployment, ease of use, flexibility, and functionality. Hopefully the CMS is also stable and secure, though this is always a fluid situation, especially with the free, open-source CMSs, such as Joomla, Drupal, and to a certain extent Wordpress.

What is a Blog and What is a CMS?

There really isn’t any definitive way of distinguishing blogging software from a CMS. One might say that a blog has less functionality than a CMS, and to a certain extent this is true. But blogging software such as Wordpress, have been extended so that they are capable of doing many more things such as integrating with forum software, managing images, taking user polls, leaving messages, etc. Many of the functions that you might want to build a social network community.

Other CMS packages such as Joomla and Drupal, which are open-source CMS (i.e, those that you can use for free) are more extensible, (i.e., have more components available, such as social community applications), than Wordpress, but this comes at a cost. These type of CMSs have a much longer learning curve, probably require professional assistance, are more difficult to maintain, and in general are less stable because they have more moving parts. All of this comes at a considerable cost. So there is a trade-off that all users have to consider. Don’t let anyone believe that extensibility does not come at a cost. There is a very substantial cost that cannot be ignored.

Choosing a CMS

The first question, anyone who is looking at building a content-rich website, has to ask, is whether they want to host their own CMS or blog, on their own website, or used a hosted version like Wordpress.com or TypePad.com.

The advantage of hosted CMSs and blogs are that you do not have to worry about setting up a site, or maintaining the software which can cost lots of time and money, especially for those who are not used to managing their own sites. The disadvantages of hosted blogs and CMSs are that they have limited functionality, since they are basically set up for simple blogging sites and and only a very limited number of extensions, such as changing the look-and-feel with themes.

One big advantage of Wordpress.com, over its competitors, which makes it my choice for a hosted CMS, is that if you outgrow it, you can export all of the content and easily move the content to the self-hosted version of Wordpress, and enjoy the additional benefits of the full fledge single and multi-user versions of Wordpress.

Large enterprises have the option to host their sites on much more robust CMSs like Ektron, which can easily handle multi-user blogs, but also has a great deal more additional functionality and flexibility, for building community and news sites. However, these are expensive sites that need to be paid for on a monthly or annual basis, and are only appropriate for organizations that have the budget to run their applications on these type of hosts. Also, you have to consider that all of the data and application software is owned by the hosting firm, and it may be very difficult to migrate away from the platform, if you want to change your platform, your application, or if the firm goes bust.

As I mentioned, most of the hosted platforms like Wordpress.com and Typepad.com, have limited functionality and are difficult to extend. Self-hosted Wordpress can be extended in a number of ways. There are hundreds of free and premium themes that are available on sites such as Wordpress.net, and a wide array of extensions, which are called plugins, available on Wordpress.org. You can add capabilities like users polls, image galleries, Flickr management, slideshows, tag clouds, spam protection, etc. using various plugins. The downside - and this is big, so pay attention - is that plugins are developed outside of the core application by independent developers. Many times these plugins create security holes, conflict with each other, crash the main system, and are not maintained so that they continue to be compatible with new versions of Wordpress. So my recommendation is that “less is more”, and use only those plugins that are very popular and will likely be well tested and maintained. If you use a plugin, make sure you check out other user comments. Frequently, bugs will have been discovered and fixed by someone else.

For certain type of applications, such as social network communities, you may want to try out more extensible CMSs, such as Drupal or Joomla. I find these platforms are indeed more flexible, however I have always been scared away from them, because they seem to be held together by thin threads. How does the saying going?: “Two many cooks spoil the broth”. It is the tight design structure that makes Wordpress so easy to maintain, so easy to upgrade, so easy to change themes, etc. Joomla and Drupal seem to be all over the place. Upgrading between versions of Joomla is difficult. Plugin compatibility between versions is often lost. In other words, the flexibility comes at the cost of maintainability. This is very true in almost all types of software, and particularly true with CMSs, since there are so many moving parts. So be cautious and do lots of due diligence, before making a discussion.

One self-hosted CMS that I am impressed with, but never used, is ExpressionEngine. I admire its clean architecture, flexibility, stability, and security delivered by this platform. It may not seem as robust as some of the other CMSs, but you do get a cost-effective platform, that has a good blend of flexibility and extensibility, without sacrificing maintainability.

There are many other niche CMSs, that are geared toward video, photo, game communities, etc. In general these platforms are excellent solutions for their niche, but have very little extensibility, so it would be difficult to add new capabilities to the application, should you ever need to expand the functionality of your website. You may have to go in and rewrite the application entirely, which would be expensive.

My Recommendations

My recommendation, in general, is to start small and build. If Wordpress.com fits what you need, then I would recommend that you start there. Generally you will learn a lot during the early stages of website development and deployment, that will give you a better idea of what type of CMS you might need, or whether you should develop from scratch. If you need more flexibility, better themes, more functions, then check out self-hosted Wordpress and the plugins. Make sure the plugins work and are secure before you go live.

I think that Wordpress should be enough for the majority of applications, but if you think you want more control of the presentation, and possibly some forum and wiki capabilities, then you might step up to ExpressionEngine. However, ExpressionEngine is more costly, and doesn’t have the out of the box solution that Wordpress offers. You have to know CSS, HTML and are able to style your own themes, since there are only a limited number of themes offered on their site.

For even more capabilities, you might want to test out Joomla and Drupal. I never felt comfortable with any of the versions of these products. I felt that I might spend lots of time and money, and at the end discover it would have been cheaper to build the site scratch without any CMS. Trying to fit a complicated website application into a CMS framework does not always end up well. So tip-toe in, rather than jump, learn before you spend, and always ask questions on technical forums or elsewhere so that you know exactly what you are getting into it, before you move ahead with your project.

Related posts:
Wordpress Tips and Hints

If you like this article, you can DIGG it at:
DiggIt Here

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

Drupal can also be a good choice for multi-user blogging platform.
Also it has great access control mechanism, which can be very helpful in multi-user environment.

I have one client site running in Joomla!, but keep coming back to WordPress. The database structure is simple so it is easy to write scripts to retrieve information to display on static pages as includes. I have been using Perl with the CGI and DBI modules to retrieve the list of recent blog topics in the right column here: http://mitoaction.org/

Nice review!

Kathy

wrong! best CMS is joomla. its by far the most customizable, extensive and elaborate CMS i have ever seen. wordpress is just so basic and so ugly when it comes to admin interface. for a newbie its just a mess. i do accept that installing joomla can be hard, but the bad news is that it is same process as wordpress.

Nice article, I have an additional question. I have heard, When it comes to search engine optimization, there are some CMS that are easy to “optimise” and other systems that might cause “problems”. I s that correct? Anyone here has experience with this?

Thanks for the comments Klaus.

Wordpress needs to be tweaked a bit in order to get good SEO optimization. The All-in-One SEO plugin gets you where you want to be.

Rich

Rich, this is a great article, one of the best for people looking for a news site CMS. But you, like everyone else, gets lost in the CMS features — blogging, posting by users, comments, news feeds, response buttons, etc.

If only someone could forget all that stuff and address the question — what is the BEST CMS for a NEWS SITE (i.e. news media website). We want NO blogging, no comments, no user feedback — nothing but news articles following a template.

Every big news site has 10-20 categories — breaking, top news, national, local, health … etc. and ALL of these CATEGORIES of the news sites have DIFFERENT templates, but a general unifying theme.

If you want an example, the best I can think of is — http://news.bbc.co.uk/2/hi/science/nature/default.stm

Each category is different, but all are unified in theme.

I need a news site CMS that can do EXACTLY that — no other features, and be as LEAN and FAST as possible, as you so rightly pointed out in your superb article. Help me !

I also forgot to mention … crucial feature … it must be automated for the writer. News writers know nothing of HTML, they just write the content, and all the formatting as well as layout, and especially relevant links to similar articles, all have to be handled by the CMS itself. Writers are not web designers. That is CRUCIAL to a really good news site CMS.

I agree wordpress is good for making blog. But comparing with other CMS is bad idea since you view wordpress from what have you done with that. Philips right, you get lost in the CMS features, guys! Many people like you and want to burn their home than move to rational useful things. Worpress is not the best, nor have no problem. The Fact’s Joomla got a award as the best CMS. Is award given by stupid people? Are you paid by wordpress? of course not, for don’t try make your self look stupid.

Leave a comment

(required)

(required)