Speed up WordPress and improve SEO
Follow this collection of easy to follow practical hints and tips for improving the speed of your WordPress site
Since 2010 Google has used site speed as a ‘signal’ in its search ranking algorithms. The fact is that faster sites create happy visitors, and when a site loads slowly they spend less time there.
Initially, Google has stated that this wasn’t a significant ranking factor, but if you want happier visitors and better search engine rankings (and who doesn’t), site speed is something that you’ll want to take a careful look at. In this tutorial we’re going to look some popular and free tools for evaluating the speed of your site. We’ll explain the most important factors that affect your site speed and suggest some of the most effective and easiest ways of making changes to improve your site speed, your visitor experience, and hopefully your search engine ranking. First you’ll need to evaluate how your site currently performs…
YSlow performance analysis
Yahoo!’s Exceptional Performance team identified 34 rules affecting site performance, and YSlow is based on the 23 of those 34 rules that are testable. It is available as a plug-in for most popular browsers (except Internet Explorer). With Firefox you’ll also need Firebug installed, which includes other useful dev tools.
Working with YSlow
Once installed, click on the YSlow (or Firebug) icon in the browser toolbar. There are a few differences in the results provided by different versions of YSlow, so stick to one version and concentrate on your site’s grade for each of the 23 rules.
Hold that thought
Every website is different, so the most relevant recommendations will be specific to your circumstances. All of the recommendations have detailed advice and there are many further online resources. At this stage it is worth taking a screenshot of your current site performance for referring back to after you’ve followed some of the tips in this article.
This service from Google analyses 29 factors affecting a site’s page speed, ranking them in High, Medium and Low priority order. An additional useful feature is that you can generate reports for desktop clients and mobile devices. Take a screenshot of your current ratings here so you can compare back later when you have made performance tweaks.
How’s the host?
Your host’s performance can be the most significant factor determining site speed. Changing hosts can be a hassle, but if you are stuck with one that isn’t delivering good WordPress performance it really isn’t worth your time wondering about what else you can do to speed up your site. Take some time online to choose a (new) host carefully.
Do you mod_rewrite?
It’s important that your host supports mod_rewrite. First, you won’t easily be able use ‘pretty’ permalinks without mod_rewrite so your page addresses will have to be… err… ‘ugly’ permalinks. Second, without mod_rewrite you will not be able to use the most efficient form of disc caching – more on this later. For us a host with no mod_rewrite is a no go.
Profile those plug-ins
You’re probably aware that the plug-ins running on your WordPress site can affect its performance. The P3 plug-in from godaddy.com profiles the performance of each plug-in by measuring its impact on your site’s load time. Simply install the plug-in and from the Tools menu select P3 Plug-in Profiler and Start Scan.
A word of caution
With all these evaluation tools it’s important to understand the potential benefit of any changes you make. In our tests Jetpack took a disproportionate 39 per cent of the total plug-in load time. Should we stop using Jetpack? That depends on a number of factors, but it only took 0.1857 seconds to load, so it probably shouldn’t trouble us too much.
Test that theme
Theme performance is the next most important factor that determines your site’s speed. When creating your own theme you’ll need to keep this in mind. If you’re choosing a pre-built theme, take some time to assess it. You should read up on the theme’s support site (if you have pre-sales access to it) and feed its live demo through an evaluation tool to gauge its performance.
Content Delivery Networks (CDN)
These are large distributed server systems deployed across multiple data centres, serving content with high availability and high performance. Once the preserve of large companies, there are now CDN services for even the smallest websites – including some (very nearly) zero-configuration solutions. If you’re new to CDNs we recommend you start off simple and take it from there.
Photon was launched as part of Jetpack 2.0. Jetpack is installed through plug-ins and you’ll need to create a WordPress.com account if you don’t already have one. Then select the Connect to WordPress.com option to Authorize Jetpack. If you’re already using Jetpack, once you’ve upgraded to version 2.0, just click Activate on the new Photon panel.
This is a network performance and security service delivering the benefits of a CDN and extra security features. Visit cloudflare.com to sign up and select the free option. Once you’ve added your website you will be given new DNS settings to replace the existing ones in your hosting control panel. Online analytical tools provide reassurance that everything is working.
The full CDN
If you’re ready for a more fully-featured solution, consider services like S3 (aws.amazon.com/s3), CloudFront (aws.amazon.com/cloudfront), or MaxCDN (www.maxcdn.com). Each offers low costs for smaller websites and you should compare each to see which best meets your needs. W3 Total Cache, the better of the two main WordPress cache plug-ins, offers CDN configuration.
Managed WordPress solutions
If you’re serious about performance and have the budget to pay for it, you may prefer to opt for a managed WordPress solution. These dedicated WordPress hosts will typically take care of a whole range of WordPress related services you would otherwise have to do yourself. Some come complete with a built-in CDN and others offer this for an extra cost.
Choosing a managed solution
Dedicated, managed WordPress hosts (versus hosts that have just added a page to their website) are a growth area as WordPress continues to grow in popularity. The two best known are WP Engine from $30 a month (without CDN), and ZippyKid from $25 per month (including CDN). Did you notice the dollar signs? Unfortunately there are no comparable UK providers at the moment.
Pages or posts with comments will check externally for Gravatar images, so even where a user has no avatar set, your page will make an external call for the default icon. You can set the default to Blank to avoid this, but most importantly look at what other external calls your site makes that keep your visitors waiting.
Use Google Libraries
Think home first
For most websites the bulk of traffic arrives at the homepage, so ensure this page loads quickly. If you’re running a blog with posts on the home page, don’t feel the need to deliver all this content in one go. If your reader is engaged they’ll happily dig deeper, but a first-time visitor might not be so happy to wait for a large page to load.
Optimise your images again
There must have been more written about optimising images for online use than any of these other subjects put together – and with good reason; a single improperly optimised image could wipe out all of the other improvements you’ve made in one go. If speed really matters to you, get brutal and shed some Kb off those images.
Once you’ve made some changes to your site you might like to re-visit the evaluation tools. If you’ve configured a CDN you can add your CDN hostnames in the CDN rule in YSlow, and this should improve your grading. Hopefully you will see some improvements in your results, or at least have a good idea of what still needs to be done.
Keep up to speed
We’ve focused on changes that should give you the best return, but everyone’s setup is different. YSlow will urge you to look at expires headers and entity tag settings (your cache may already be looking after these); some developers swear by minification, and image sprites. Do avoid experimenting with live sites, and know when you’ve done enough.