Peter recently asked me if I prefer Textpattern (TXP) or ExpressionEngine (EE), and I thought this would make a good subject for a post to bring this blog back from oblivion.

There is no short answer to that question. I love both CMSs, and lately have been choosing between them based on the project at hand. I recently switched HSU’s site from TXP to EE because the latest versions of TXP wouldn’t work with the configuration of our server. If TXP had still been an option I would have stuck with it. But partway through the project, I realized that EE was really better for the job, due to some of the project’s parameters.

I haven’t abandoned TXP though— I just finished a project for HSU’s Vertebrate Museum that uses it.

So, here is a quick breakdown of what I see as the strengths of each.


TXP’s admin interface is much easier to grasp than EE’s, especially for clients that may be using a CMS for the first time. It is clean and logical and easy to get around.

The Textile integration is very nice, and again this is very useful for clients that don’t know HTML. Textile can be added to EE with a plugin and some configuration, but TXP has a nice Textile “cheat sheet” right next to textarea where you compose your articles that makes using it really easy for newbies to use.

The TXP community is amazing, updates are frequent and always bring great new features, and the forum, wiki, and plugin sites are really useful.


When comparing EE to TXP, the first thing that comes to mind is that EE has more. More functionality built-in, more options, more flexibility, and more to configure and learn.

This can be a good thing or a bad thing. Some projects don’t need all the flexibility that EE offers. Some clients will be confused by all the admin options. However, for me as the person that runs a large university site, all this functionality built-in is a godsend.

EE allows you to fine tune your RSS/Atom feeds, gives you intimate control over tag, template, and query caching, lets you manage the database from the admin interface, and has very sophisticated member options. It also has extensive flexibility with custom fields and relationships among data. It has a built-in gallery, configurable moblog and XMLRPC modules, word censoring, capcha support, and find & replace for posts and templates. And that is just the stuff I have learned about. It is truly an amazing piece of code.

Of course, it is also not free. Some of the things mentioned above are available only in the paid version, although most of them are found in the free core version. I think the price is very low for the amount of flexibility EE offers, and the excellent responsiveness of the support staff.

But, sometimes what EE has to offer is just too much. Not too much money, just too much… stuff. TXP, while still being very sophisticated and flexible, is much more in line with the “less software” approach championed by 37signals that is taking off all over Web 2.0. Much of EE’s functionality is available in TXP through plugins and extensions, which you only have to install if you need them. In some cases, this is a better approach.

How to choose?

Before deciding on solutions, I make sure I understand the problem. What are the specs of the project? Who is the client? What is their skill level? How much traffic will this site see? What is the budget?

For smaller sites or sites where laypeople will be managing them once I am done with my part, I choose Textpattern. For sophisticated projects or projects where the clients are like me and want intimate control over every little detail, I choose ExpressionEngine.

I’d like to hear your thoughts on this as well— what tools do you use and why?