by Ryan Irelan
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 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.
- EE Docs: Data Caching and Performance - Official ExpressionEngine documentation overview of the caching features available.
- EE Screencasts: Caching Your EE Site - Watch me as I walk you through how to set up caching on your EE site.
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.
- EE Wiki: Server Tuning - An overview of some server tweaks you can do to get the best performance.
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.