ExpressionEngine (EE) is well suited to a custom site design. It’s the fastest way that I know of to convert a static custom site design into a dynamic site powered by a CMS. I’ve been using the software since 2008 to build custom websites for my clients. I’ve always appreciated the approach that EE takes to site design. The general idea is that you fold the CMS into your design, and not the other way around.
Back in 2008 or so when I was looking for a CMS to use, the standard approach of most CMS software was to build your design on top of the CMS framework. There was an existing structure that you had to deal with, and good luck if you wanted something a bit more out of the box. You could wrench your average CMS into a pretzel to get it to do approximately what you wanted, and you were then stuck with markup that was less than ideal, odd class names, weird structure, and general wonkiness.
If I remember correctly, my first experience with a CMS (aside from websites with a custom back-end) was with Mambo, which was eventually forked into Joomla. It had a lot of useful features like advertising banner campaign management and a mailing list, but it felt like using a sledgehammer to drive a nail. Try to use a blunt object for a task that needs precision and you end up with a mess.
In my search for the perfect CMS, I evaluated many along the way: WordPress, Movable Type, Textpattern, LightCMS, Joomla, Drupal, SilverStripe, concrete5, Squarespace, and others that I no longer remember. I eventually found my way to ExpressionEngine. When I first tried EE, it was refreshing. I could add the template tags into my design very easily. Converting a static site to a dynamic one was now a matter of hours and not days.
At the time, I had also worked with WordPress on and off but considered it more of a blogging platform. I always liked the WordPress environment and considered the interface more user friendly than EE, but it did not suit my need to easily build a site with a custom design.
EE has worked well over the years for building custom sites. However it does have some drawbacks. Maintaining the software itself is a bit of a hassle as it requires a manual update, or the use of a plugin. Updates don’t always go smoothly and sometimes things break. My own installation became a bit unwieldy due to changes in design, and use of the Multiple Site Manager. And there are core features that are simply lacking and require the use of third-party plugins.
Recently, I needed to update my portfolio, and make sure all pages of the site used a responsive design. I made a few attempts at redoing the design, but ultimately it became easier to switch to WordPress and use an existing theme. I spend my days implementing custom sites for individuals and companies, and I just did not have the motivation to build my own design on the off-hours.
I want to get back to generating content and working on side projects when I’m not handling client work. Switching to WordPress frees up some time otherwise spent on updates, maintenance, tweaking the design, and allows me to focus on the content.
If you have a significant amount of text content, WordPress is ultimately a better tool to manage that. Drafts are saved automatically, revisions are built in offering a form of version control, previewing content works well, and different user levels assist with multiple authors. The process of writing just feels smoother on this platform than it does on ExpressionEngine.
One could argue that it’s just a matter of picking the right tool for the job. I will still use EE to build custom sites. I am also using WordPress more to build custom sites due to client demand. For the time being at least, this site will be running WordPress. I look forward to the next version of EE, and with some needed updates, I could be convinced to move back.