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 immediate information delivery. Research indicates they won’t wait long.
Bounce rates increase with page load times. Slower loading pages lead to more users clicking the back button. These users will then return to the search engine. They will likely choose the next link, which could 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.
If you don’t want to use a CDN or the other extras in W3 Total Cache, then Quick Cache might suit 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
Smaller images improve load times. However, over-optimization can result in poor appearance. This is especially noticeable on retina displays. Using a lossless optimization method is recommended. Lossless optimization reduces image file size. Importantly, it does so without affecting the image’s 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. Lazy loading prevents all images from loading at once. Instead, it loads images only when they are near the viewport. From the viewer’s perspective, this feels faster. The part of the site they are currently viewing 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