Jul
17
2011

ExpressionEngine Vs. WordPress

Update: detailed instructions and a full script for migrating from EE to WP may now be found here.

For nine months now, I’ve been working with ExpressionEngine (EE) for one of my employers websites.  Originally, I was very hesitant to make the dive into yet another content management system, and after 9 months- my hesitation was certainly merited!

Expressionengine doesn’t specify that it lacks necessary functionality, it just makes it impossible to do whatever it is that you’d like to do quietly – which I find far more irritating than directly telling me that such features are unsupported.

Before reading further, you should be aware that I did not select, purchase, or have anything to do with the implementation of EE, and I have zero previous experience using EE.  If you happen to be an ExpressionEngine guru/expert/EE specific developer/in love with expressionengine- you should probably stop reading here as it’s caused me more than a few headaches!  Additionally, I have been working with ExpressionEngine2 system with limited plugins.

Also of note is that this is my first website using WordPress, and I’ve been using it for about two months.  I have modified WordPress templates on a couple prior occasions, but have never taken the plunge into full fledged WordPress usage (until now).

ExpressionEngine Features:

  • Licensing Fees for use: $99 – $299
  • Multiple websites from same CMS?  Add another $80 – $200
  • Add-ons: Expensive.  Average cost for EE add on is $40.
  • Usability: Unable to navigate easily between posts.  System requires that you navigate back to entire list of posts.
  • User Management: Unable to assign fine tuned settings to users.
  • Documentation: Even the documentation written by EE doesn’t work properly (more recent specific example; exporting EE entries into a txt file.  FAIL).

WordPress Features:

  • Everything.  And if it doesn’t come built into the CMS, you can just click that handy “Install Plugin” button.  Done.
  • Licensing Fees for use: $0.00
  • Multiple website from same CMS?  I wouldn’t recommend a novice PHP user try it out, but as long as you can figure out how to copy-paste and have server access- no problem.  Add another $0.00
  • Add-ons: $0.  Need I say more?
  • Usability: Excellent.  Drag and drop functionality, consistency within menus, ability to navigate easily within submenus.
  • User management: User management with role assignment and advanced permissions does not come with the basic wordpress install, but easily added as a plugin (Capability Manager)
  • Documentation: Well documented by development team with occasionally useful contributions by users.  Documentation for basic needs is more than adequate, documentation for advanced functionalities is difficult to locate.

What is comes down to:

Again, I repeat- I am NOT a die-hard wordpress user.  I use what works, and generally I just opt to create a CMS for my specific needs as it takes me less time than customizing an existing CMS (thank you often awkward tagging and template systems [yes that includes wordpress]).  What it comes down to for me are a couple primary issues:

  1. Money.  I can’t (repeat cannot!) recommend EE to a client.  That would mean that they would be paying for what is in my opinion a subpar CMS, any associated plugins to extend its base system to something more useful, and they would be paying me considerably more in development and modification time.
  2. Documentation.  If I haven’t built it, you shouldn’t assume that I know it inside and out, and thusly should provide proper documentation.  Or at least have your forums open to people without a license code to post questions!!!!

I have (repeat HAVE) successfully created a way to import the current site from EE to WordPress.  Unfortunately it took several hours to sort through all of the filth on how ‘to migrate your content from EE to WordPress’, however I’ll be posting the full code very soon so that it isn’t so terrible for other people to make the switch also.

If you have used EE, and/or migrated successfully into different CMS’s- I’d love to hear about how it went for you!

7 Comments + Add Comment

  • Fair warning: i’m a big fan of ExpressionEngine, and not a fan of WordPress, so anything following here is extremely biased, and based purely on my own experience.
    That being said: my opinion is exactly the other way around: love ExpressionEngine, hate WordPress. I have some very complex and relationship-heavy sites that I would not be able to make manageable through WordPress. Say for example a “post” (entry in ExpressionEngine) that needs an Array, where each item in the array consists of a title and a many-to-many relationship: in this case a festival should have multiple stages with each stage a line-up of artists from my clients’ database of about 200-250 artists. Then pull in the photo for that artists, rescale it, truncate the description of that artist and auto-link to it. Moreover I pull these relationships in in reverse on the artist-profiles.

    About the costs: it all depends on the size of the project. If you’re running small projects of say up to € 1000, yes ExpressionEngine is expensive. In projects of about € 3000 – € 4000 the costs simply earn themselves back in reduced development-time for me. The relationships I talked about above: took me 2 hours to setup in the back end, then 1 hour to do the front-end development for, see for example http://www.elevation-events.com/events/agenda/soenda-festival-28-05-2011.

    Now I’m not saying WordPress *couldn’t* do it, I’m just saying *i personally* could not build this in 4 hours in WordPress. So the 2 modules (Playa, http://pixelandtonic.com/playa, for relationships and Matrix, http://pixelandtonic.com/matrix, for custom arrays) cost $130, but I could not build the extremely slick functionality of those modules myself for that amount of money, and then on top of it all support it ridiculously well.

    I think you’ve not given ExpressionEngine the fair chance it deserves, but I’m not the guy to push you to try it, so if you’re fine with sticking to the CMS’es you know by all means please do. It all depends on your needs/wants and those of your clients.

    • Experience certainly plays a part in my write-up, however, as you mentioned- when dealing with relationships, ExpressionEngine is inarguably superior.

      And I agree that it does depend on the size of the project and development time/experience. The individual I took over for at the position using ExpressionEngine had a wealth of experience using EE and thusly the entire project would’ve likely taken him only a few days, whereas as a newcomer to the EE world- it took me a few days just to get my bearings.

      You’re right- the development cycle for additional modules can be steep, and it is often worth it to purchase for some of the features involved with EE plugins- to clarify; the employer is a non-profit and thusly the availability of cash is limited which does play into my recommendations for WordPress.

      As I mentioned, for the most part- the CMS’s I deal with were built by me for a specific client purpose (i.e. many of my clients need to manage only specific functionality, and are willing to pay to have a custom system where the other features don’t exist).

  • This is so exciting! I don’t think you’ve taken into account the human factor, but still a good post.

  • I actually work with both WP and EE2, and from my experience, if you are not doing a lot of custom development, then it really comes down to which would be better for the situation. complex relationships? EE. simple blog or run of the mill site? WP. On the other hand, where these two CMS differ is when you are looking to build custom modifications, plugins, etc.

    From my experience, and from a back end php dev (who almost exclusively does custom stuff with both WP and EE2):

    WP is very weak for custom development. why? well.. it’s not developed very well to be honst. it’s been patched up time and time again, you have a whole mess of a mix between Function Oriented Programing and Object Oriented Programing, so the problem is, when dealing with plugin development for example, you REALLY need to watch out for other plugins and how they work with the site, every dev has their own style and way of developing plugins for WP, and because WP doesn’t have any sort of real ‘framework’, it ends up being a total cluster #$@% sometimes. This is not always the case obviously, but generally speaking.. WP is a big patch job after patch job.

    EE2 is based on the CodeIgniter PHP framework, in it’s self CI is kick ass, and EE2 follows the CI rules, and plugin developers for EE2 also have to follow teh rules. ontop of that you have to specify in EE2 what TYPE of Add-On you are developing (Plugin, Module, or Extension). And obviously, there is room for individual style but for the most part devs build within the system and methods provided, meaning, less headaches heh. The other thing I love about EE2 (which I have done many times) as being a custom app dev, I have built complete standalone apps in CI and then later the client wanted a site associated with it and as a result, CMS, well guess what. it doesn’t take much to hook any CI app into EE2, so for all those custom devs out there looking to plug a CMS into an existing app, it’s great news.

    So end of the day, I do like both believe it or not. when I get clients who want a quick easy site that doesn’t have anything unique or fancy about it (from a development perspective) I often take the structure of the site they need and then pick either WP or EE2, but if there is even a hint that they want to turn the site into something more with some unique features requiring custom development, I almost always use EE2. Mind you, I do develop WP plugins, but just rather not if I can avoid it 🙂

  • This is a pretty naive post and position to take. I have used both extensively so I think I can be taken seriously when I say that you should use the right tool for the need and both of these tools have their place. For a blog and simple CMS (limited relationships and basic content types) WordPress wins hands down. WP is very good for most cases and seems to be very easy for end users to grasp and use. EE on the other hand was build for a different need (in my opinion). EE is the best at allowing a designer to do pixel-perfect design implementations. Unfortunately, this blank slate template system requires a ton of markup. You can usually build out full EE dynamic site without a lick of PHP – that is huge for some. EE also is good and point and click content type creation. It is easy for a non technical user to build complex content types natively without a ton of plugins. EE fall flat on usability from what I’ve seen. The forms are OK, but the admin world is to abstract from the site itself. Publishing and editing navigation, media management, and UI configurations are real issues. There are to many times authors have to navigate into “module” areas. This is unacceptable.

    I totally understand the author’s frustration, but you can’t let emotion cloud your judgement and make universal declarations.

    • I do appreciate your response (don’t take my ramblings offensively), particularly it’s clarity, and that you were supporting my point regarding EE, however, I certainly do have a clouded judgement regarding the issue (see paragraphs 2 and 3 above where I mention my specific and mostly lack of any experience with either framework at the time of writing) ;).

      Since this post was originally written, I have worked on HEAPS of very complex, advanced, and mindblowing wordpress websites, and a very very small amount of EE websites (mostly only long enough for the client to decide it’s time to pay me to migrate their site to wordpress), and as it turns out- EE is perhaps an effective platform for some, but it is not an effective platform if you are a skilled programmer, or if you know better.

      But again, you’ve already backed up my point to which I give you many kudos

  • I think the benefits of WordPress over ExpressionEngine are primary when using WordPress for ‘blogging’ like situations. With add-ons, WordPress can become a capable content management system (CMS), but does require some skill to get there and still has what I consider some gaping holes. That said, if you’ve never used either, WordPress is definitely easier to get up and running with. But, I think that comes with more simplicity of purpose. If you stick with blogging or pages, then it should be fine.

    I just wanted to correct, some errors about ExpressionEngine mentioned in the article. The author mentioned he was unfamiliar with EE, so it’s easy to make these. I’ll started with the full list:

    »»Licensing Fees for use: $99 – $299««

    It is what it is, but it’s really only expensive when compared to free, not when compared to high-end CMS that can cost upwards of $10,000, and EE can provide lots of the same functionality and is easier to use and modify, with its open architecture.

    »Multiple websites from same CMS? Add another $80 – $200««

    Actually, you can add additional websites for free or for cost. EE provides both methods. The free method is frequently referred to as the old school subdomain, multi-domain method. Access to all content is shared in the backend, but you can have as many or few sites as you like or need at no additional cost. We use this method for most of our nonprofit clients. It works well.

    The preferred method, for many, is using the Multi-Site Manager (MSM). That’s what the charge of $199 (which gives you 3 sites, and you can add more is for). What MSM does is separate content. When logged into X site, you only see entries for X, templates for X, field_groups for X, etc. This appeals to a number of people, especially if the sites are widely disparate. There are other benefits with MSM as well, but I won’t go into

    »Add-ons: Expensive. Average cost for EE add on is $40.««

    I’d say less than that, since there are a number of free and open source accessories, extensions, field_types, and plug-ins; but modules are generally paid for an can run as low a $5 or as high as a $300 (possibly more). I always compare the cost to the how long it would take us (Nonprofit Tech) to develop it for the client and my perception of the skill of the developer. Generally, its far cheaper to grab a pre-built module, which has more functionality than we currently need, then to spend more than 2hrs building it ourselves.

    »»Usability: Unable to navigate easily between posts. System requires that you navigate back to entire list of posts.««

    This one is definitely a lack of experience. You can easily set-up navigation between entries with ExpressionEngine. It has previous and next tags available for use. Or if you prefer you can set-up recent post, popular post, recommended post, favorited post, most mailed or shared posts or a number of other methods you wish to come up with.

    »»User Management: Unable to assign fine tuned settings to users.««

    User management far exceeds WordPress out of the box, but I’ve never used the Capability Manager, but since it hasn’t been updated in almost 3 years now, probably never will. Though there are other plugins. But that is also true for ExpressionEngine. There is a breadth of Membership/User Management add-ons depending on what’s important to you—managing subscriptions, paid membership, providing more detailed posting and access privileges, etc.

    »»Documentation: Even the documentation written by EE doesn’t work properly (more recent specific example; exporting EE entries into a txt file. FAIL).««

    Can’t really disagree with this one. While, I can say, ExpressionEngine docs are good, especially if you come from the world of open source, where documentation sucks so hard. I can also say, their by the number methods, doesn’t do much for helping a new person really learn ExpressionEngine or guiding them through the process of building a site.

    I’ve been using ExpressionEngine from when it use to be pMachine, and even I can say, some times I read the documentation. Pause, go back and read it again, then say, ‘WTF?’ and search the forums, StackExchange or Google for a better response. Their User Guide is like an instructional manual, that primarily focuses on giving you definitions for all that new terminology. There are examples, and those are useful, if you’re already speaking the same language. If not, well, it’s like you’re speaking two different languages, with just enough common words to cause chaos.

Leave a comment