For the past year or so, the content of this website has bounced around between ExpressionEngine (EE) and WordPress—primarily because I am not completely satisfied with either platform. Both have their advantages and disadvantages. Because of this, I continue to look for better ways of doing things. The following is by no means a comprehensive list, but a few observations after working with both platforms for a while.

ExpressionEngine advantages

  • Elegant templating system—outputting content is easy, and template tags instead of PHP keep the markup clean.
  • Flexible content structure—organize your content how you see fit. You are not limited to the typical post/page setup.
  • No assumptions are made about the content or the presentation.
  • Secure and stable platform.

ExpressionEngine disadvantages

  • As a commercial product with a smaller development team, progress on the platform itself can be a bit slower than desired.
  • Some features need refinement, and add-ons may be used to fill the gaps.
  • Updating the software is a manual process.
  • Deploying can be more cumbersome than the competition.

WordPress advantages

  • WordPress is open source software with a large user base.
  • The control panel is well designed, intuitive, and accessible.
  • Content editing is a smooth process with revisions, drafts, and previews built in.
  • Updating the software is an easy process.

WordPress disadvantages

  • Templating is unintuitive and restrictive.
  • There is the potential for security problems if the software is not updated regularly, or if plugins or themes have security holes.
  • Creating custom content types and fields is not built into the admin UI by default.
  • The system can feel limiting at times, even though it can be extended with plugins and custom development.

What about Craft?

Some EE developers have moved to Craft. The control panel looks beautiful, and the templating appears to be very similar to EE and almost as elegant, though slightly more complicated (https://gist.github.com/brandonkelly/8584132). However, I don’t like the idea of being locked into another commercial platform. So that option is less appealing to me.

What about Drupal?

When Drupal 7 was released, the design and functionality of the control panel was way ahead of anything else I had used at the time. The designers factored in keyboard and other accessibility features which are often an afterthought. The Drupal system itself may be overkill for most of my projects, but I would like to take another look at the CMS when I have a chance.

What about EE as open source?

ExpressionEngine would benefit from an open source approach, and I’ve run across the idea of an open source version of EE in various forums and blogs. We do have EE core now, but it’s not open source. It’s free, but the community can’t contribute to it. Any type of modification would violate the EllisLab license agreement.

I think an open source branch of the software would make a lot of sense. Enhancements could be integrated into the commercial version, increasing the frequency of updates, and helping the software to evolve. This hasn’t happened yet, and I don’t see this as part of the company’s plan. However, there could be an open source version at some point.

Other alternatives

I’ve seen MODX and ProcessWire mentioned in a few places as comparable systems. They could be worth looking into. For now, I’m sticking with both ExpressionEngine and WordPress, and looking forward to EE 3 later this year. We’ll see what happens.