Managing a website can be a daunting, time-consuming chore. Even the simplest of tasks, such as updating a sentence, can be an annoyance depending on your workflow. That’s why content management systems (CMSs) were created. They attempt to simplify the process tremendously by providing a customized interface and unified structure in which users can administer websites.

Rather than talking about the semantics of a CMS and why you should (or shouldn’t) use one, I’m going to focus on three of the most commonly used CMSs: WordPress, ExpressionEngine, and Drupal. Chances are, if you dabble in the art of web development, you have heard of at least one of these.


Originally thought of as “just a blogging platform,” WordPress has evolved into something much more. It can be installed quickly, has some of the most easily digestible documentation available, and can be integrated with ease into most layouts. WordPress’s interface (and workflow) has been improved over many iterations and continues to get better with each new version.

The WordPress community is enormous, boasting over 60 million users, making it one of the most-adopted CMSs in existence. Because of this, countless themes and plugins are available on the website, giving users the ability to add complicated functionality and design to their website in just a handful of clicks.

Also, did I mention that it’s free?

One major pitfall of WordPress lies in the simplicity of its design, which is intended to be accessible to even the most entry-level of users. Because of that, you’ll soon find out that many of the features you want require a plugin. This will keep happening over and over again until you have many plugins installed, which can hurt your website’s performance and cause potential security risks.

Speaking of security, WordPress is one of the most targeted websites when it comes to hacking attempts. Unfortunately, WordPress’s large following means that simply comes with the territory.


One of the biggest barriers to entry for people looking to use EllisLab’s ExpressionEngine is the fact that it costs around $300 for a full, single-site version. This unfortunately prevents many users from ever experiencing its glory.

Simply put, ExpressionEngine is a CMS for developers, by developers. It’s fast, secure, and provides a level of flexibility that even a yoga instructor would envy. Through channels, entries, global variables, and templates, you can put together a dynamic website much more easily than in WordPress.

Additionally, it is very easy to implement PHP or ExpressionEngine script into individual pages, which really helps lift the limitations off the environment. And, like WordPress, a large (albeit smaller) community surrounds EE.

On the downside, ExpressionEngine’s complexity may deter some from adopting it. Understanding channels, entries, and templates (by looking at sample websites) is key to unlocking the power behind ExpressionEngine.

The number of plugins available for ExpressionEngine is nowhere near the number offered for WordPress, and they often have a cost associated with them.

Lastly, EE documentation, although decent, leaves a bit to be desired. When you’re updating a site and have no one to call for assistance, good documentation and help forums make all the difference.


With over one million Drupal users in the world, it’s clear why this CMS belongs on this list. Like WordPress, Drupal is free to download and use. And because of the large user base, many have taken to developing custom themes and modules that you can download for free from the website.

Something that Drupal does well is to provide a customized experience to users through its module section. You can enable and disable aspects of Drupal’s core functionality easily, thus improving its efficiency and security.

In addition, a massive upgrade (Drupal 8) will be available in the near future and promises to add even more features.

So what could be better?

Ironically, one of Drupal’s biggest weaknesses is how flexible it is. It’s very difficult to know where to begin if you’re new to it. You might think the best place to start would be the Drupal documentation. Unfortunately, the documentation is so extensive and watered-down that it can be overwhelming and frustrating to search through. And the sad truth is that even if you find the correct section, you’re at the mercy of the section’s creator, who may have felt the need to be as technical and unclear as possible while providing few-to-no examples. Users are often left to search Google for answers or visit the likes of StackOverflow in hopes of a solution.


There are multiple tools for any given job out there. Using the “right one” depends greatly on your specific needs and preferences.

My personal favorite is WordPress. With the streamlined interface and vast plugin library, it’s hard to go wrong. Plus, it’s easy for clients to adopt.

The runner-up (and close second) is ExpressionEngine. Although the lack of free plugins is disappointing, EE makes up for it with its open-ended nature and clean interface.

This leaves Drupal in third. However, with the imminent release of Drupal 8, it may very well gain ground on the other two.

Which CMS do you like best? Let us know on Twitter, Facebook or below in the Comments section.

Date: February 3, 2014