5 Quick Things You Can Do Today to Speed Up Your ExpressionEngine Site!

| In Content Management Systems, ExpressionEngine | by Stevan Fickus

In today's day and age, everyone wants to have fast, reliable service. If the drive-thru lady at McDonald's takes 30 seconds too long, you get irritated. If the Domino's delivery guy doesn't deliver in less than 30 minutes, you call the manager. If it takes you 47 minutes to speak with a Comcast representative (and, it will) after dealing with their automated system, you become irate.

Let’s not even discuss the DMV…

Well, you get the point. Whether it’s in-person, over the phone or electronically, things need to be quick -- we don't have time to wait and our patience is shorter than it was 75 years ago. The web is no exception. When users comes to your website looking for information, they expect to find it quickly and easily. When consumers visit your online store, they expect to browse quickly and easily. They will get turned off if the website slows them down -- it may mean one less person learning about your company or organization; it may mean one less sale.

Companies and organizations frequently come to us with page load issues. After further investigation, we find inefficient code resulting in a terribly slow load speeds that turn away visitors by the day. Below are 5 ways to increase load speeds across your ExpressionEngine site today:

1. Turn on GZIP compression inside ExpressionEngine

Every discussion you have about the resources needed to properly load each page on your site effects page size and load speed. One quick way to reduce the size of each file requested is to enable ExpressionEngine’s Gzip feature. This is easy done by going to: Admin › System Preferences › Output and Debugging  > Enable GZIP Output. It’s important to remember this is only for files that live within EE, so make sure to add your CSS and JavaScript files into a template group or you will not get the compression benefit. For more information on this feature visit ExpressionEngine’s user guide.

2. Take your file size one step smaller

In addition to GZIP compression, decrease HTML, CSS and JavaScript files by reducing unneeded characters and spaces. There are many ways to accomplish this if you would like to read a bit more about it and find non-ExpressionEngine approaches. Check this resource out over at Yahoo. However, there are some great tools out there that make this process pretty easy in ExpressionEngine. One of these tools is Minimee. Not only does Minimee minimize files for you, it also combines common file types to reduce your number of HTTP requests. All in all, it’s an important piece of your ExpressionEngine load speed toolbox to make sure you are taking these extra steps to decrease your file size as much as possible.

3. Cache Your Templates!

Turn on caching after development! Why wouldn’t you? Well there are some cases where you would not want to, like when you need to use the sort by random feature inside a channel entries loop, but beyond certain cases not turning on template caching is just plain wrong. The increases you see in page load speeds are significant and it’s just not worth ignoring this feature. To learn more about how to enable caching check out this link over at the ExpressionEngine user guide.

4. Optimize Your Site Images

We have seen this time and time again, a page that takes 15 seconds to load. Not because it has bad code but because the end-user uploads images directly from their camera or other hi-res source without downsizing for the web. Normally, optimizing web images is done with Photoshop or another image editing software before uploading them to the site, but ExpressionEngine has some great resources to avoid this common issue. One great solution is an add-on made by yours truly, EZ Image Resize. This add-on takes images uploaded by the user, no matter what there size, and creates a web-optimized version on the fly to be displayed on your page. This allows for faster page loads without worrying about whether your site users uploaded a huge image file or not.

5. Disable All Features Inside of ExpressionEngine You’re Not Using

You can find these features at the following location: Admin > Security and Privacy  > Tracking Preferences. We’ve found that most people don’t use all of these features and many of these can be turned off with no real effect on the overall success of the site. To read more about what each one of these settings does check this link out.

There you have it: five ways to optimize your ExpressionEngine site! All in all, you can drastically speed up your ExpressionEngine site in mere hours. A couple extra hours spent in development to keep that visitor on your site and/or close a sale sounds worthwhile to me! Stay tuned for next month’s article about 5 more (not so quick) ways to optimize your ExpressionEngine site.


Picture of Nick Benson

Nick Benson

With regards to number 1…

You’re much better of enabling gzip via .htaccess, which will allow all of the content that can be gzipped (including the JS and CSS that Minimee cranks out). The HTML5 Boilerplate project has an example .htaccess file with some well thought out compression rules: http://html5boilerplate.com/docs/htaccess/#gzip-components

Also, you should be taking your CSS and JS out of the EE template system - every time EE does anything with a template you’re opening a can of worms that’ll slow things down.

Picture of Brendon Carr

Brendon Carr

Anyone trying to improve site performance should consider Causing Effect’s CE Cache. This addon has the greatest bang for the buck of any EE addon.

Picture of guest


Hi there would you mind letting me know which web host you’re utilizing? I’ve loaded your blog in 3
different web browsers and I must say this blog loads a lot quicker then most.
Can you recommend a good internet hosting provider at a fair price?
Cheers, I appreciate it!

Picture of Stevan Fickus

Stevan Fickus

guest we use MediaTemple as our host. You can get a really solid dv from them starting at $50 a month. I would recommend you check them out.

Leave a Comment

Commenting is not available in this channel entry.