movie icon image

ExpressionEngine How-to Articles

Topics range from beginner to advanced, but are all born out of real world, professional, day-to-day use of ExpressionEngine.

Resources for Optimizing Your EE Website

Many of us have been in this situation. You launch a snazzy new website and once the traffic starts to hit it, the site drops to its knees and begins crawling its way through the day. Your client or boss starts emailing and then calling, asking: “Why is the site so slow? Can you fix it?”

With a little planning and an eye towards EE template coding best practices, you can prevent the situation I described above. Below are some resources I’ve collected that will help you optimize your ExpressionEngine-powered website using caching, server tweaks and other methods.

I haven’t used all of these, but I’ve launched high traffic websites on EE and had to implement some of these solutions to manage traffic.

Caching

Caching is the easiest way to reduce the load of heavy traffic on a server. By caching, EE is saving otherwise dynamically-generated pages and queries to text files, which are quicker to display in the browser than querying the MySQL database.

Reducing Queries

If you can reduce the number of queries needed to render any given page, your site will show some speed improvement.

  • Reduce Queries on the EE Wiki - A nice, quick overview of things you can do to reduce the number of queries.
  • Query Disabling - If you don’t need the data, don’t make the database fetch it! Disabling queries at the tag level is easy as pie.
  • EE Tracking Preferences - Last year EE included a new feature, which allows you to easily disable certain user tracking features (or all of them) to help minimize server load due to MySQL table locking.
Server Tweaks
Third Party Solutions

Sometimes third party add-on developers come to rescue with useful add-ons that make site optimization easier.

  • Static Page Caching - A new module from Solspace and Fiery Tea, Static Page Caching “allows you to cache an entire page in ExpressionEngine based on its URI.”

This is by no means a comprehensive list and I plan to add more resources as I find them.

Have something to add? Post it in the comments.

Posted on May 13, 2009 by Ryan Irelan

Filed Under: How-To, ExpressionEngine Development, Web Development

Brent11:06 on 05.13.2009

I highly recommend SL Combinator to optimize CSS and JS and reduce server requests:

http://experienceinternet.co.uk/resources/details/sl-combinator/

Judd Lyon14:30 on 05.16.2009

Great post, performance is often an afterthought. I’m eager to learn more about the caching options.

@Brent – I have been doing this manually in EE with PHP and mod_rewrite, I’m thrilled to see an extension. Epic!

Drew Stauffer10:52 on 01.13.2010

Now with speed being a bigger part in Google’s algorithm these techniques are really going to be useful.

I need to get better at Query Disabling.

Post a Comment




Please notify me of follow-up comments.


Search EE Insider
Private ExpressionEngine Training
EE Screencasts