It’s a cliché to say we live in an age of impatience, but that doesn’t make it any less true. Internet users expect that the information they want will be delivered to them immediately, and research shows that they won’t wait around — bounce rates are proportional to page load times. The slower a page loads, the more users will click the back button and return to their search engine to choose the next link in the list, which is likely to be a competitor.
Google, in its effort to direct its users to the sites most likely to satisfy them, uses page load times as one of its signals for determining ranking. All else being equal, you could be losing ranking to a competitor because your site loads less swiftly.
There are various strategies site owners can implement to make sure that their users get the pages they want as quickly as possible, and we’re going to have a look at some of the most important ones here.
We’re going to concentrate on those factors that can be managed from within WordPress, rather than those that require changes to the web server’s configuration.
Measure First
There’s no point in working to speed up a site without a baseline measurement that you can compare improvements to.
Pingdom Tools offers a useful (and free) way to test a site’s load-time, with various information that may give a clue as to which resources on a page are slowing it down.
Remove Excess Plugins and Scripts
Many WordPress installations end up with a bunch of unnecessary plugins that just waste time. Plugins that hit the database excessively, cause it grow too large, or make requests to third-party servers will make a site sluggish — analytics and social media tracking scripts are often especially bad in that regard.
Site owners should make a thorough inventory of their plugins and JS snippets and reduce them to the absolute minimum. Consider whether the functionality they are providing is really a necessary aspect of a site’s purpose.
Use A Caching Plugin
WordPress uses MySQL and PHP to create dynamic pages. Often that creates an unnecessary overhead. Caching plugins will store database results in memory or on disk so that, unless it’s necessary to get new sources, the database doesn’t need to be queried.
There are a number of excellent plugins that will do this, and they include other methods for getting a site running as smooth as silk.
W3 Total Cache
As the name suggests, W3 Total Cache aims to be a comprehensive solution for site performance issues. It works with WordPress sites using shared hosting, virtual and dedicated servers, and even clusters.
W3 Total Cache will cache minified and compressed pages, CSS, JavaScript, feeds and database objects on disk or memory.
It also offers a fairly simple way do deploy a Content Delivery Network, using various CDN providers including Amazon’s low price Cloudfront.
QuickCache
If you’re not interested in using a CDN or the other extras W3 Total Cache includes, then Quick Cache may be for you.
It will create a snap-shot of your site, which will be served instead of the slower loading dynamic pages. It uses intelligent techniques to decide whether or not to serve the cached files. For example, it won’t serve cached files to users who have recently left a comment, because they tend to refresh frequently while awaiting a response.
Optimize Images
On the one hand, smaller images are better for load times, but on the other over-optimization will lead to poor appearance, especially on retina displays. Using a lossless method of optimization, as provided by a service like Smush.it, will reduce images to their smallest possible size without impacting on appearance.
There’s a WordPress plugin that will use Smush.it’s API to process a site’s images.
Use Lazy Loading
If you’re a reader of The Verge, and many other sites, you might have noticed that if you scroll down quickly you will catch images loading after the page had appeared to have been fully loaded.
This is called lazy loading. It allow images to be loaded only when they are about to be viewed, rather than loading all images at once. From the viewer’s perspective this gives a speed boost, because the part of the site they are interacting with loads more quickly.
BJ Lazy Load is a popular plugin that will replace images and iframes with a placeholder until they are about to enter the browser window.
Optimize The Database
Over time the WordPress database can become unwieldy and slow to query. It gathers a lot of cruft that most sites don’t need.
WP-Optimize will remove a lot of extraneous database entries, like post revisions and spam queue comments.
There are lots of other tweaks you can make to your WordPress installation that we don’t have the space to cover, so if you have a technique you would have included in this list, feel free to add it in the comments