If you've followed the blog for a while, you know that I've struggled with WordPress. Out of the box, WordPress is a fairly fast content management system. However, once you fully customize the site and get it where you need it for users, it's often a dog. Our pageload times on the new template were exceeding 10 seconds – terrible, terrible performance.
We've done a number of things to help speed up WordPress:
- We moved hosts to MediaTemple. Often, when you sign up for a hosting platform you wind up on their fastest servers. As their system grows, though, they don't replace the servers with faster ones – you wind up being left behind.
- We added a database server. When WordPress is running on a simple hosting package, the server is translating code, serving images and running the database. If you can add a database server to your hosting package, you can significantly speed up the site.
- To make another split, we put all of the images on Amazon as a content delivery network. We were using an Amazon S3 plugin for WordPress but have since stopped. The plugin required you to load images on Amazon and didn't synchronize the images – not good.
- We've recently implemented W3 Total Cache from W3Edge. While incredibly robust, the plugin is not for the weak of heart or the non-technical. I'd recommend hiring a professional to implement it.
The W3 Total Cache plugin has allowed us to implement Amazon as our Content Delivery Network but the plugin synchronizes and rewrites image paths. This is a fantastic means of implementing it because if you ever decide to stop using the plugin or CDN, you're not left out in the cold. Turn this plugin off, and you're good to go!
The plugin also allows you to cache pages and database queries along with a number of other settings. Don't know what caching is? For a page to load, the page reads the code, executes the database queries, and dynamically generates your page. When caching is implemented, the first time the page is opened, it displays the page and writes the contents to a cache file. The next time the page is opened, it simply opens the cache file.
Speeding up your site has a much larger impact on your readership than you might think. In fact, your site is slowest when you need it to perform the best – when thousands of visitors are on it. If you don't have it finely tuned (and we're still working on ours), visitors are often met with a blank screen, a time-out error, or they simply bounce on you after waiting for the page to load a couple of seconds.
Speeding up your site makes your site friendlier to Google as well. Google has confirmed that they do rank high-performing sites higher. Beyond these tips above, you can also work to reduce your image sizes on your site, implement page compression, implement EC2 or Akamai geographic-based content delivery networks… and even move to load balancing and synchronization. That's getting into the big bucks, though!