There is a wide spectrum of ways to create new websites, starting with solutions that require no coding at all, such as Weebly and WordPress, all the way to coding your website entirely by hand using a text editor like Vim. ExpressionEngine (various pricing, buy-only) is a serious content management system that sits close to Vim on that spectrum, and has a vibrant community of users and developers.
Traditionally, one of the main problems of using a content management system (CMS) such as Wordpress is that your website ends up looking like a Wordpress website. Meaning, no matter how much you play with the graphics, colors and typography, the basic layout of the page often still looks like it was made with Wordpress. ExpressionEngine solves this by being completely open-ended and not enforcing any sort of hierarchy or default layout. In fact, when you first install it, your homepage shows nothing: Just a blank, white page, completely devoid of any markup or skeleton structure. This makes building a new website significantly harder, but it also makes it possible to achieve almost any layout you can think of.
ExpressionEngine is aimed at experienced Web developers: Just to get started, you need to upload it via FTP, change file permissions manually on a list of folders and files, create a new MySQL database manually, and then provide its credentials to the ExpressionEngine installer. If you know how to do all of that, and have a good understanding of HTML and CSS, you will probably be able to handle ExpressionEngine.
This is not a system you are supposed to just play with until you figure it out, but thankfully, its documentation is excellent. Once you get it installed, you use a slick control panel for creating content and presentation templates, but you still need to code your templates as pieces of HTML using that interface. To embed content into your templates, you will have to use special ExpressionEngine tags, which are clearly explained. There is also an excellent Getting Started tutorial that introduces many of the concepts you will need to get started, such as Channels (pieces of content) and Templates (controlling presentation).
ExpressionEngine is priced to make it easy to get started: EllisLab offers a $100 Freelancer license, which you can use exclusively for building your own website. The next level up is the $150 Non-Commercial license, strictly for non-commercial, non-profit, or educational websites. If your project is commercial, you will need the Commercial license, which costs $300.
If you'd like to use ExpressionEngine but don't want to code a theme from scratch, websites such as ThemeForest offer commercial, ready-to-use ExpressionEngine themes. Then again, if you're considering using a ready-made theme anyway, you may be better off with WordPress. It is not as open-ended as ExpressionEngine, but doesn't have its price tag and initial learning curve, either.
If you are an experienced Web developer looking for a powerful CMS that allows complete customization, check out ExpressionEngine, but be prepared to spend some quality time with the documentation.
Note: The Download button takes you to the vendor's site, where you can buy the latest version of the software.
This story, "Web Pros: Could ExpressionEngine Be Your Next CMS?" was originally published by PCWorld.