Expression Engine: My CMS of Choice.

For about the past 3 years, I have been all about WordPress not only for blogs, but also to be used as a content management system. The core of WordPress is for blogging, but many people have started to adapt WP for their CMS needs. WP is a great platform, very small footprint, incredibly easy to theme and extend with a plethora of plugins available.

WP has come a long since v1.2 when I started using it years ago, v3.0 is in beta and to be released soon – but it still isnt able to address my needs for a real CMS. It seems as though there has been a new release every month for the past 2 years. I’m still a big fan of WordPress for blogging, this blog ( is run on WP, plus about 5 other websites I run.

Recently, I was approached by a client to build out their website. The client had a long list of requirements for how they’d want to manage their data (they have 60 products with 25 different attributes per product, then about 25 pages of content). My first thought is always to use WordPress and to get it to play/manage the content, which I could get to work fine for me as web designer/developer. But the real benefit of a CMS is that the client can login and easily manage that data. I feel that WordPress does not offer that with their admin, as it is geared toward blogging and isn’t as customizable, without really hacking the core.

I was looking for a system that I could control all the fields for the data, control how much the client was able to edit, and control every aspect of the website from a high level. At first glance, since WP was out of the question – I started to explore CodeIgniter, which is a php framework very similar to Ruby on Rails. I spent 1 week planning out the database tables, then started coding in CodeIgniter. CodeIgniter allows you to get up and running quickly, all the config files, database queries, and templating are much easier to setup – as long as you use their API. If you prefer you can still write OOP PHP or just regular php, CI just gives you the tools to get a head-start. CI didn’t offer it all, I would still have to build the whole application (front-end and back-end).

I was on the CodeIgniter Forums for the better part of the 2nd week, when I noticed this product called Expression Engine which is a CMS built by the guys at EllisLab, who created CodeIgniter. I downloaded a trial of Expression Engine and played around, I couldn’t believe my eyes – how did I never know about this software before. I felt like a kid in a candy store, I was so excited – this software offered me everything I was looking for and so much more!

In a nutshell, I able to setup both a front-end and back-end in less than 2 months. I was able to offer the client a fully customized admin interface for managing 60 products with 70 custom fields – in 8 different categories. Plus, I was able to also setup their 25 pages of content in custom fields, so every piece of content is managed. EE also offers built-in cacheing, a very flexible/scalable templating system with conditionals/variables built-in, a robust user management system which allows us to block off certain content to certain users, integrated search with the custom fields, the ability to upload/manage images/pdf’s directly in the cms, all within this incredible scalable package called Expression Engine. For a complete list of features click here.

I would highly advise everyone to take a closer look at ExpressionEngine for their next web project that needs a customizable back-end interface. The only downside to Expression Engine is the cost of a commercial license ($299) – but the more I use it, the more I think what a bargain $299 is!

Check out, which is the website that I have been referring to in this post.

Plus, I launched the site on 1.6.8 – but version 2.0.1 is soon to be out. (in public beta 2.0 currently). v2.0.1 will offer many more features, but the biggest improvement to me is that its running on CodeIgniter, which really opens the doors for custom development.

7 thoughts on “Expression Engine: My CMS of Choice.”

    1. Ive used Drupal in the past, wasnt that impressed – the admin interface was clunky and there was too much setup involved. I wasnt a fan of nodes, stories, etc. You should definitely check out Expression Engine before using Drupal for your next project.

      Drupal offers different benefits, like more of a social aspect than expression engine. I think that might be the downfall of Drupal – trying to offer too much.

  1. I also discovered ExpressionEngine via CodeIgniter. I was attempting to build a new version of my site's homebrew CMS on CodeIgniter, stumbled across some mention of ExpressionEngine, and quickly ditched my CMS because EE had everything I was attempting to build… and then some.

    That was nearly 3 1/2 years ago, and I've never regretted the decision.

    1. Exactly, that was basically what happened to me. I haven't been excited about a software like this since the new version of WP came out a few years back. But this cms platform has really opened up the possibilities to what I can offer clients! Im loving it!

      Plus, the support in the forums is great – not to say Ive ever had a problem with finding support for WordPress issues.

  2. Ever since WP 3.0 beta was released (and nighty builds) I have been comparing whether it may prove to be a better system than EE, do to the large community, free price tag, one click updating of core and plugins and elegant design, and most importantly custom post types and meta boxes (not custom fields) that do what channels do.

    In all the reviews people were comparing EE to WP2. And without custom post types, I completely agreed EE was better for non blogs. But even though you dont explicitly mention what WP3 can do with custom post types, your high knowledge of WP in general and still switching to EE makes this the first article to temp me to seriously look into EE for custom solutions. Thank you very much for this.

    Christopher Beckwith

  3. It's a mistake to think of EE as a "content management system". It's a cold-fusion style middleware between you and PHP/MySQL. I've been working on an EE site for a new client. I'm hoping to find something that EE allows me to do easily, but the simple things I need it to do have been a tremendous pain in the rump. Part of the problem is how the EE documentation uses language – there are no "pages" in an EE site. I wasted a lot of time chasing that snipe around. New users would be greatly served by more extensive tutorials on the EE site. Most of the work I'm currently doing for other clients is much easier to produce and easier for the client to manage in WordPress.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: