CMS overview — What we use and why
There are a number of Content Management Systems (CMS) out there. We primarily use three of the larger CMSs: ExpressionEngine, WordPress, and Drupal. Each has advantages and disadvantages, and each works best for certain types of sites. Occasionally there is need for a custom CMS, which always come with their own benefits and drawbacks. In the end, it’s all about what your site’s goals are, who will be maintaining the site, and what kind of functions the site needs.
We always use a CMS when we build websites because we feel that your website should be yours to own, maintain, and update. We don’t own our clients, we don’t lock up data, and if they want to fire us they should be able to! We think of websites in car analogies: when you buy a car, you should be able to drive it, put gas in it, change the wiper blades, bedazzle the dashboard, whatever. When you want to add a spoiler or overhaul an engine, that’s when you call us.
Open source vs. proprietary
Every system has advantages and disadvantages, but there is one that is inherent to how the system is distributed. If a CMS is free and open source, that means the code is available for anyone to use and for anyone to adapt to their needs. People are donating their time and energy to making a system that they love. We love the culture of giving on the internet. As wonderful as that sounds though, the trade-off usually comes in the form of technical support. The support for open-source is dependent solely on the community behind the system. If they are too busy to help, or if they just don’t want to, that’s their prerogative. They’re giving the system to you for free, but keep in mind that nothing is ever truly free.
If a CMS is proprietary, then you will likely have to pay a licensing fee to use it. These may be one time fees (from a few dollars to a few hundred dollars) or recurring fees (could cost hundreds of thousands of dollars over time, depending on the system). In general, this could be a case where you get what you pay for. If you’re buying a system, that usually comes with a dedicated support team.
Why we love ExpressionEngine
ExpressionEngine (EE) is a proprietary CMS created by EllisLab. It’s a great system that’s both easy to develop with, and our clients LOVE it because it’s so easy to use. ExpressionEngine is great for small to medium sized sites that have mostly static content (define static content). Since it’s proprietary, there is a dedicated support team, and most of the third-party add-ons are also well-supported.
There’s a lot of freedom to customize a site with EE. From a development standpoint, it’s like building a site from scratch. There are no templates or themes to contend with, just pure HTML/CSS. From the administrator’s standpoint (the person editing the content of the site), we are able to fully customize the admin panel to make it super simple to get right in and get started.
The catchSince it’s proprietary, the code is not open source and there is a licensing fee to use it. The license fee depends on whether the site is for-profit or nonprofit and how many add-ons you’ll be using. On average, we spend around $500 in license fees and third-party plugins/add-ons for EE.
Another drawback is that it’s not very expandable to hook into other systems. If your site is going to have to integrate with a third party system (for example, we’ve had a request for MindBody Online, reservation system for classes), it’s not really the best solution. The code for it isn’t open source so you’re somewhat limited to what you can do with it in that way.
Why we love WordPress
WordPress (WP) is a free and open source CMS. It began as primarily a blogging platform, but has expanded into a full on CMS over the past couple years. Since it’s so popular, there are a ton of developers for WP and a vast number of people have used it before. There are a LOT of add-ons (WP calls them “plugins”) available to add functionality to your site, and the user has a lot of control over the content of the site.
WordPress is great for smaller sites and really shines for blogs and magazine sites where there is need for constantly updating content with lots of categorization and tagging.
Since it’s free and open source, the support is mostly from other users. Occasionally you might hear from someone who actually develops WordPress in their support forums, but those voices are few and far between. In that same vein, the plugin developers could be a 14-year-old high school kid who updates his plugin about as often as he takes out the trash (read: never), or they could be by the same people who help develop WordPress and they might keep it up to date all the time.
WP also faces some limitations when it comes to custom content. While it does allow you to have custom fields for content and custom page types now, they’re a little tricky to get used to. It’s not as clean as EE for instance, but it gets the job done.
Why we love Drupal
Like WordPress, Drupal is a free and open source CMS. With its barebones core, it’s not filled with a bunch of junk, but is highly extensible using add-ons (which Drupal calls “modules”). The Drupal community is very large, and most of the modules are generally well-supported. Since Drupal was originally built as a CMS, it tends to be more flexible in terms of content types than WordPress. Drupal is also great for connecting with third-party products; since the core is so basic you have a lot of freedom when it comes to adding functionality.
Drupal is great for large sites, sites that require uncommon functionality, sites that have a LOT of content or data, and where the user needs the ability to easily update their own content. It is still a content management system, after all.
Since it’s free and open source, it suffers the same downfalls as all things that are free and open source. Drupal has a highly dedicated community and you can usually get help fairly quickly from other users though, at least compared to WordPress.
There’s also a little more of a learning curve for using Drupal than something like ExpressionEngine, so it can take some getting used to—it’s a tradeoff that you’d make for the added capabilities.
Sum it up already!
So to put it all together, what really matters in the end is what you need your website to do, how you plan to manage it, and what sort of structure are you looking for. These are questions we ask ourselves every time we start a new web project for our clients. We always focus on what will work the best for a particular project and making sure our clients feel like their website is THEIRS.