How to Skin an ExpressionEngine Website in One Easy Step
1. Go find a CMS that forces you to skin it.
Wasn’t that easy?
I read something earlier that got me thinking about the way people customize websites that they build in a content management system. So I laid this twegg:
I realized that my tweet comes off as sort of elitist, so I decided to expand upon the thought in this article. Keep reading and you’ll see why I took that angle.
Let’s be clear on this one major point: You don’t “skin” a website in ExpressionEngine. You start with a blank slate. Sure, you can purchase pre-built templates for ExpressionEngine, but there are not hundreds of design shops churning out templates for ExpressionEngine for sale, as there are with many other popular content management systems. The few developers that reputably sell well-built templates for ExpressionEngine (such as Marcus Neto’s eetemplates.com linked above) are integral to the ExpressionEngine community. They contribute to and learn from the EE community that exists on the forums, Twitter, Facebook and other social sites. They know the system well and the product they sell is as top notch as any client site they or I have ever built.
I’ll tell you a story that I have told several times, which has been useful in demonstrating several different points about competing CMS systems. I used to rent an office space from a web shop that had made a business decision to standardize on Joomla, much in the same way that I had chosen to standardize on ExpressionEngine. They had quite a few clients, as did I at the time, and we regularly compared notes about our chosen system.
But more vital than the conversations we had together were the conversations I heard from my office between the members of their team. I’d be working away and hear them spend hours, no, days fighting against a template they had purchased that barely resembled the design that their contracted designer had given them. They’d be tearing apart a “skin” that they had bought, revamping the CSS and imagery to try and ramrod the designer’s look and feel into it. They’d install and remove and move modules called “topupperleftmenu” and “redleftnavsearch” and “subsubfooter” around trying to get them all to line up with the shoehorned new design elements.
I finally got an explanation out of the technical director one day. They had plenty of expertise to write HTML, CSS and Javascript. But Joomla’s method of assembling the parts of a site were so difficult to work with that the company had decided it was easier to bastardize a pre-built template that had all the right functionality (drop down menus, newsletter subscribe forms, etc.) and looked completely different, than it was to build the site functionality and templates from scratch in the CMS.
The designer, after several of these types of projects with them, had but one comment, and I remember it clearly. “I am scared of CMS systems because the sites never look like what I designed.” She and I collaborate on ExpressionEngine-based websites regularly these days.
Now, I’ve never worked with Joomla, so I am not saying it can’t be done easily. But this is my experience working for months next to a shop who had chosen this platform as a business decision.
Back to the topic at hand. Exactly how does one skin an ExpressionEngine site? One doesn’t. Once you remove ExpressionEngine’s default demo “site” templates and weblog settings, you have a 100% blank slate. Call your designer and instruct them to design to their heart’s content. Make it gorgeous and abstract and functional. Meet the client’s needs. Enhance the usability. Whatever the final design, ExpressionEngine can accommodate it. ExpressionEngine assumes nothing about your site. Until you define the types of information and pages that you want to include in your website, no pre-existing elements even exist in ExpressionEngine for you to skin. When I say blank slate- I really mean it.
I have built somewhere around two dozen ExpressionEngine sites as of the time of this writing. A few have been massive undertakings with hundreds of entries, categories and custom fields. Dozens of templates and embedded templates. A few have been your average corporate site with typical business needs. And a few have been the most simple this-really-should-just-be-a-few-HTML-pages type sites that are CMS enabled for ease of future maintenance. Its pretty easy to find examples of huge, and I mean gargantuan, sites run with ExpressionEngine that perform flawlessly and conform precisely to the pixel perfect vision of the designers involved.
The process is very similar to designing a static site.
- Create the design with real or placeholder imagery and data in Fireworks or Photoshop
- Slice it up and build the HTML/CSS/JS files
- Create a blank template in ExpressionEngine
- Paste in the HTML
- Setup your CSS files (either through EE or standalone)
- Upload the images to the file system
- Make sure everything displays correctly in a browser
- Cut out the common header, footer, and other elements into their own embedded templates
- View your web page in a browser, just as the designer intended
Really, that’s about it. It can become a lot more complicated, but in reality, that is the very basics of what we do on every site to get it started. There is not a single function or design element that I haven’t been able to implement using the core ExpressionEngine functions or some of the excellent community-built add-ons that are readily available.
Plain and simple, ExpressionEngine does not limit your creativity by forcing you to use pre-built templates or functional elements on your page. There is no skinning. What there is, is taking any website design you can imagine, and knowing that ExpressionEngine will allow you to use it exactly as it was intended. With no skin off your back.
(No Joomla devs were harmed during this article writing.)


8 Comments
posted on June 05, 2009 at 7:32am by Marcus Neto:
One of my good friends was the founder of JoomlaShack, which is arguably one of the top Joomla Template shops on the interwebs. The pain and agony that he has relayed to me of building templates for Joomla is enormous. Early in my web career I thought I might head in that direction so I started using Joomla quite a bit(and we still have to maintain some of those sites today). I know the pain of trying to change colors or functionality in Joomla and even Wordpress to a certain extent. ExpressionEngine was a dream when I found it. I have pretty much abandoned all other CMSs as I find the functionality and usability just ridiculous with EE.
Well said!
M.
posted on June 05, 2009 at 9:49am by Ryan Masuga:
Great article, Chad! Well written, funny, and to the point. I laughed, I cried, it was better than Joomla!
posted on June 10, 2009 at 3:11pm by Brian Klepper:
Thanks for the post! I can only say good things regarding EE and all of it’s wonders. I enjoy the power and simplicity so much that it’s the only CMS that I will offer to my clients, not because it’s easier on my end but the learning curve on their end is very manageable.
I am really looking forward to EE 2.0!
posted on June 23, 2009 at 9:35am by jack Andrews:
I was recently asked to quote for a small CMS site, now I have to admit to having done many a static site but zero experience of CMS. So I downloaded Joomla, Drupal and Wordpress and after three days of sedatives and going nowhere, I thought I should perhaps take up another profession! I then came by chance upon a UK web magazine with an article on Expression Engine, I rushed home with said publication tucked under my arm, downloaded EE, activated MAMP on my Mac and two hours later had a working page. Admittedly it had some pretty rough edges, but it worked none the less.
I think I will not change profession just yet!
posted on July 21, 2009 at 1:59pm by Emily Heath:
You have summed up one the main reason I use Expression Engine perfectly, thank-you!
posted on November 01, 2009 at 5:37am by Mike:
Hands down Expression Engine is the best CMS out there when it comes to being able to being able to design whatever you want and not dealing with the pain of skinning a site. The $250 price is what stops many people from using EE and instead using Joomla, Drupal, etc. and that shouldn’t ever be an issue anyways as that cost should be passed along to the client. On the client’s end, the control panel is pretty simple to use and there is no steep learning curve so the extra cost is well worth it for both parties. I’ve only discovered EE about 3 months ago but love the flexibility it offers and wouldn’t use anything else from this point on.
posted on January 02, 2010 at 2:22pm by Jack:
Nice real-world comparison. A lot of the same arguments against Joomla apply to Drupal as well. I’m not a critical person when it comes to meeting other designers/devs working with other CMSes and I stand back and ask questions just like Chad does — but you’ll hear that Drupal, Joomla and etc users do a lot of excuse-making for non-straight forward processes.
posted on January 18, 2010 at 7:18pm by San Diego SEO:
hmmm, I never thought about using ExpressionEngine, but this post makes me strongly consider it. Good write.
Leave a Comment