Improving your websites load times are extremely important. Viewers do not want to wait for a site to load – period. If a site is too slow, people move on. Which often means moving on to your competition. Slow sites are just annoying.
There are several things that you can do to decrease your websites page load times. Each will improve your sites speed and if you can combine several of them, the load time savings add up.
How to Check Your Websites Speed
There are several ways to slice and dice your websites performance metrics. Here are a few we like:
Website Performance Benchmark Tools
- GTMetrix is a great online website performance analysis tool. It provides and analysis with PageSpeed and YSlow, as well as a graphical timeline and history for each site you analyze. It is free to sign up, and the paid option allows saving of site data, and monitoring of URL’s. This is a very good tool – highly recommended.
- PageSpeed, is a Firefox/Firebug extension that evaluates the performance of web pages and gives suggestions for improvement.
- YSlow, a free tool from Yahoo for analysis of website speed. It is also available as a Firefox/FIrebug browser extension.
- WebPagetest displays a waterfall view of your pages’ load performance and a performance review checklist.
- Pingdom Tools is useful for benchmarking load times, as well as looking for basic performance issues.
How to Improve Website Speed
Large image file sizes can significantly slow your website. You should reduce the file sizes of your photos, logos, and other graphics. Reducing file size without compromising image quality is the key.
You can reduce image file sizes using programs such as Photoshop or GIMP. Also, there are many stand-alone image optimization applications available such as RIOT, FastStone Photo Resizer, and ImageOptim (Mac) that will do a fine job.
Caching on a WordPress site can be done by installing a caching plugin such as W3 Total Cache, or WP Super Cache. W3 Total Cache is a bit more difficult to configure than WP Super Cache, but it has more capabilities and features. If you are looking for faster and easier setup, use WP Super Cache. If you want the best performance, go with W3 Total Cache.
Look for articles on configuring W3 Total Cache in the future.
Use a CDN (Content Delivery Network)
A content delivery network (CDN) is a collection of web servers distributed across multiple locations to deliver content more efficiently to users. Instead of loading all of your websites content from your host, some of the content can be delivered by a CDN. The content loads from different servers, based on the visitor’s geographic region (the CDN will load from the server closest to your visitor). Distributing the delivery of your website content will improve load times, and reduce the data transfer usage (bandwidth) from your server (host).
Amazon CloudFront usually works out to a lower cost than MaxCDN. CloudFront is a ‘pay as you go’ pricing model, based on usage. MaxCDN is a flat rate per month. Amazon has been very active in reducing its pricing over the past couple of years. In the case of a very active site, I cannot imagine the monthly bill exceeding $1 with CloudFront.
As far as performance, we actually did some testing and found that MaxCDN is slightly (10-20% faster) than CloudFront. But if you look at the server locations for each CDN, you will see that Amazon has more locations worldwide than MaxCDN. Both are excellent choices for a CDN, and both work very well with the W3 Total Cache plugin.
Use a Good Theme
We love the Genesis Framework (affiliate) by StudioPress because it is extremely lean and efficient.
Get a Good Host
With hosting, the old adage is true – ‘You get what you pay for‘. If you pay $8 – $10 (or less) for shared hosting, you can’t expect stellar performance (or consistent up time, for that matter). Invest in fast and stable hosting, where your site isn’t packed onto a server with loads of other sites.
Reduce HTTP Requests
Reducing the number of HTTP requests (think of it as threads, or connections) will help minimize your sites load time. If you want to get into the dirty details on this, read up on pipelining. The best ways to reduce HTTP requests are:
- Reduce the number of images – If your site uses a lot of images in it’s design (like for buttons, gradients, dividers, icons, etc), this will increase the number of requests to get those images as the page loads. You can reduce the number of images on your site by using CSS as a replacement for those images, or by creating sprites of your images.
Optimize Your Database
Did you know that each time you save a post or page, WordPress saves the previous version in the form of a revision? If you save a post eight times, then WordPress stores eight revisions of the post in your database. In reality, you do not need all of those revisions, and they clutter up your database.
WordPress allows you to limit the number of post revisions that are saved. All you need to do is add a line of code to your wp-config.php file.
define( 'WP_POST_REVISIONS', 2 );
I feel that two revisions is enough, but you could change it to three, or even one. You can also completely disable post revisions by changing the value in the above code to “0″ or “false”.
In addition to limiting post revisions, you should periodically (weekly is fine) optimize your database to reduce its size and defragment it. Fortunately, optimizing your database can be easily done by using a plugin such as WP-Optimize, or Optimize Database after Deleting Revisions.
Optimizing the speed of your WordPress website will provide your viewers with a better experience, and also improve your credibility. When added together, each of the items above can improve your sites performance by as much as 50 to 75%. So optimize your site now, and feel the speed!