BlogTechnicalExpression Engine: An Overview of a Developer-Friendly CMS

Expression Engine: An Overview of a Developer-Friendly CMS

After the arrival of WordPress in 2003, an abundance of CMS systems appeared on the scene. One of those was ExpressionEngine, and it soon earned a reputation of being both flexible and developer friendly, and with great support directly from its maker, EllisLab, and a growing developer community.

History of ExpressionEngine

Founded in 2002 in Bend, Oregon, EllisLab first foray into software development was pMachine Pro, which was weblog software. It was basically a precursor to what would become a CMS.

A few years later, ExpressionEngine followed. It became EllisLab’s core product, a CMS made to deliver all types of content, not just for blogging, even though EllisLab released two other products called CodeIgniter and MojoMotor. The former is now supported by a different organisation while MojoMotor was retired in 2015.

Free and Open Source

For 16 years, a paid license was the only way to get a full version of ExpressionEngine until at the end of 2018 when Rick Ellis, Founder of EllisLab, and Derek Jones, CFO of ExpressionEngine, announced the CMS would be re-licensed as open source.

The reason for this change, according to Jones, is the “potential it has to drive incredible growth and opportunity for everyone in the ecosystem… And it will bring ExpessionEngine to new customers all around the globe.” Another reason for the change, Jones states, is that open source “has become…such a dominant and overwhelmingly popular licensing model.”

And Rick Ellis’s view is similar. He states that even though EllisLab saw “open source as a viable licensing model when we launched our first CMS in 2002, it was not apparent then how dominant open source would become on the web.”

ExpressionEngine by the Numbers

ExpressionEngine’s usage has been steadily climbing since 2011 with a reported 146,193 websites using the CMS as of December 2018, 33,808 of those considered as being live, and 18,304 sites in the United States.

ExpressionEngine Features

Developers building websites with ExpressionEngine rave about the wide array of features the CMS offers.

Like most software companies, ExpressionEngine explicitly lists the features of its CMS, such as spam prevention, that it is infinitely extensible for solving difficult developer issues, powerful templates, flexible content types, and strong security.

What developers really like is how the CMS can be customized, how it uses Channels and Fields for different types of content and template groupings, powerful user/ membership management, the ease of updates, and, last but not least, security. To see a deep dive into the CMS, watch ExpressionEngine’s 10 minute primer.

Real World Use

While a large amount of ExpressionEngine’s user base exists in the United States, the CMS is finding usage in other countries around the world like Australia. Right now, there are close to 1,300 live websites in Australia using the CMS. Some prime examples are for The Australian Ballet, a Christianity website, and a digital agency called Happy Content.

Web Developer Review of ExpressionEngine

Ben Bailey, a web developer with Happy Content here in Australia, states what he likes most about ExpressionEngine, in general, is the ability to customize the build.

Some businesses update their content once or twice a year and can forget how to use a “do everything” interface. They end-up contacting their developer for help [to make] updates and that’s no good for anyone. Being able to customize/ simplify the publishing process [as a web developer] is important and this is something ExpressionEngine does well.

Building Client Websites

As far as from the developer side of building websites with ExpressionEngine, Bailey likes the “long list of custom fields that you can mix and match to build your content. I also like how it stores information in channels, which can be related and displayed in different ways.” He goes on to say that ExpressionEngine is “more flexible than a typical page-based CMS…ExpressionEngine was one of the pioneers in this way of thinking and one of the best at doing it.”

Of course, the website build process has to lead to a completed project for delivery to a client. From that standpoint, Bailey praises ExpressionEngine by saying it is “a stable and secure system, so on-going maintenance is straightforward.”

Maintenance and Support

Since ExpressionEngine is not a typical CMS and requires some knowledge of coding, the company sells support plans to those who feel they might need it with focus on the pro web developer. Although skilled at what he does, even a pro developer might encounter some anomaly with the software.

According to Ben Bailey, it’s great to obtain the software “at no cost [as well as] having the option of going to EllisLab…for paid support.” He states that even though he has built sites with ExpressionEngine, he’s glad to know he can “get timely support “from the horse’s mouth” should I need it.”

ExpressionEngine Hosting Support

Building a website is only part of the process. Web pages need a web server with a dedicated network address that is obtained from a web hosting company. Not only that but depending on the software used to build the website, there may be other backend (server) requirements.

That is the case with ExpressionEngine, which requires that the latest versions of PHP and MySQL be installed along with their extensions. In fact, PHP is required and the latest version is recommended, although a website may run fine with a slightly older version. The problem with older versions of PHP aris that they are no longer being supported.


ExpressionEngine has come a long way in 16 years from the days when pMachine Pro was its main product. ExpressionEngine is making headway into the CMS marketplace, and the decision to change licensing to free and make the software open source are both positives. It’s too early to know yet if these changes will be beneficial over time.