How to Improve WordPress Website Speed

People viewing slow website

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

1

Optimize Images

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.

WP Smush.itYou 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.

Or you can use WordPress plugins such as WP Smush.it and EWWW Image Optimizer to reduce images on the fly as you upload them to your site.

2

Use Caching

When someone accesses your website in their browser, they have to load several things like CSS files, javascript files, images, your logo, and other resources. Caching keeps visitors from having to continually ask your server for a resource each time they visit. On the first visit to your site, all resources are loaded from your server. On subsequent visits, resources are loaded from cache, which is much faster than loading them from your server.

W3 Total CacheCaching 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.

3

Use a CDN (Content Delivery Network)

CDN Map Amazon CloudFrontA 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).

There are several choices for a CDN provider, but we prefer either MaxCDN or Amazon CloudFront.

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.

4

Use a Good Theme

take_wordpress_further_genesis_300x250This is one of the basics. If your site loads 22 javascript files, and 18 CSS style files, it’s a certain bet that your theme is affecting load performance. If your theme is not lean and optimized, you are fighting an uphill battle.

We love the Genesis Framework (affiliate) by StudioPress because it is extremely lean and efficient.

5

Get a Good Host

WordPress-Optimized-Hosting_300x250With 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.

6

Reduce HTTP Requests

Each time a viewers browser loads your website, it requests various files to build the site in their browser. Examples are javascript, CSS, and image files. The higher the number of requests for files, the greater the possibility it will increase the load time of your site.

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.
  • Reduce the number of javascript & CSS files – Instead of loading each javascript and CSS file individually, they can be combined. In addition to combining files, you can also remove extra space and comments, further reducing file size. The best way to do this is to use the W3 Total Cache plugin, and enable the “Minify” option. The minify option in W3 Total Cache can be a bit tricky (certain files do not combine or minify well, and the order you combine them in is critical), so take care.

7

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.

Conclusion

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!

Stay tuned for more in depth articles that will help you optimize your WordPress websites performance.

WebEndev.com runs on the Genesis Framework

Genesis Framework

Genesis by StudioPress empowers you to quickly and easily build incredible websites with WordPress. Whether you're a novice or advanced developer, Genesis provides the secure and search-engine-optimized foundation that takes WordPress to places you never thought it could go. It's that simple - start using Genesis now!

Take advantage of the 6 default layout options, HTML5 with microdata, comprehensive SEO settings, rock-solid security, flexible theme options, cool custom widgets, custom design hooks, and a huge selection of child theme that make your site look the way you want it to. With automatic theme updates and world-class support included, Genesis is the smart choice for your WordPress website or blog.

Discussion

Leave a Reply

Your email address will not be published. Required fields are marked *