Are you struggling to keep visitors on your site? Bounce rates heading up and engagements down? Wish you knew how to reduce page load time in WordPress?
Before you throw in the towel. Hold Up! It may well be that your content isn’t at fault, but your website’s speed is. In this post I’ll walk you through FOUR quick-fixes that helped me increase my own website’s speed by over 70%.
You won’t need a computer science degree, either! Just follow these steps and you can implement these changes in around 30 minutes.
The result? Geek out on the immediate and dramatic boost to your website’s speed!
This post contains affiliate links. I may make a commission if you buy a product or service through such a link. Please see my Affiliate Disclosure for further information.
The skinny on slow websites – why it matters
Slow load times are one of the top reasons why people leave your website. The average page loads in around 3:2 seconds, according to Pingdom. Google’s own benchmark is just two seconds. For most of us, that’s an unattainably supersonic figure.
To illustrate how page load time affects visitor engagement, Pingdom recently gathered data from a sample of e-commerce websites and looked at how load times affect bounce rates. No surprise, bounce rates head skyward after just 3 seconds and really begin to soar at around 5 seconds and up.
A high bounce rate alone is not necessarily a cause for concern, however. Instead drill down to look at engagement – time on page. If visitors are sticking around for longer than a couple of minutes, they’re actually reading your content (which is good), even if they aren’t sticking around.
If this is the case, try adding more internal links to move them deeper through your website.
#truthbomb IF IT’S SLOW, THEY GO!
A more devastating affect can be seen on conversions. If you’re building an email list or selling products or services, a slow loading site can be the difference between a sale or a sign-up.
A slow website doesn’t only irritate visitors and hits you in the pocket, it’s a potential signal to Google that your site might not be as user-friendly as your competitors’.
Search engines only want to send visitors to high quality websites which perfectly ‘scratch’ their ‘itch’. If your website is just a second or two slower than your competitors’, it could spell disaster for your organic search results. Particularly if you’re in a competitive niche.
Is Your Shared Host to blame?
Well, kind of, but, hopefully for reasons that will seem pretty obvious. If you’re on a shared hosting provider, it’s very likely you’ll run into speed issues at one time or another.
Not all shared hosting providers are created equally. I’ve hosted with all the big names and I can tell you from bitter experience that the speed and uptime boasts don’t always stack up.
Even providers like Siteground (who I currently host with) who have built a reputation for the best speed and uptime record amongst budget shared hosting providers, can only do so much for your blog’s overall speed.
Shared means exactly what it says on the tin. You’re a small fish in a big pond with a lot of other mouths to feed.
The cold truth is that, unless you’re able to to budget for dedicated hosting or a managed WordPress-focused hosting solution like WP Engine, it stands to reason that resources will always be limited when you’re only paying a handful of dollars a month.
For most of us, shared hosting is fine but if your site is gaining upwards of 25-30 thousand page views a month, it’s probably time to bite the bullet and look at these solutions. Think of it as a great problem to have!
What’s really causing your slow site
In truth, much of the blame lies at our own feet. Sloppy blog housekeeping; poorly coded themes and plugins, or just too many plugins, tons of header scripts and long, image-heavy blog posts (guilty) can all act to slow your site down.
Your server location is also another factor. If your shared host’s servers are based in the U.S, a visitor from Asia might notice a significant lag compared to even someone in the UK.
Choose a host which offers a choice of server locations (including the option to switch if necessary) and always opt for the location closest to where the bulk of your audience is located. A Content Delivery Network (CDN) can help alleviate this issue, however, and we’ll cover this in more detail below.
If your website seems clunky and you’re worried about losing visitors, it’s time to run some speed tests and look under the hood of your blog to figure out what’s really going on.
How to test your site’s speed
Head over to Pingdom’s Website Speed Test (it’s free). Enter your blog’s url and select a server location to test your blog from (Tip: test where the bulk of your audience is located). Hit ‘Start Test’. This is what the results look like:
I’m pretty happy with this result. It’s a massive change from a whopping page load of around 10 cringingly slow seconds a few weeks ago.
Let’s look at Pingdom’s report in a little more detail:
Looks for common speed killing errors on your site and grades them according to the severity of impact. Don’t panic when you see a sea of red ‘F’ grades. This is normal.
Things like ‘Leverage browser caching’, ‘Combine external CSS’ and ‘Remove Query Strings from static resources’ are all very common errors experienced by the majority of websites.
This ‘waterfall’ style report is a nice visual representation showing how long your site’s files take to load. This is where you’ll look for individual file errors (shown in red under the ‘File’ section).
Those lengthy yellow bars may only represent a few milliseconds but you can see here how it affects page load speed. This is normal if your site redirects from HTTP/HTTPS and you’ll probably get this on your report too:
It’s important to note that even if you do implement the fixes set out below, these will only apply to files hosted on your server.
If you’ve installed third party software on your site and plugins like Woocommerce, Google fonts, Cookie Solutions, Google Analytics etc, because you don’t have access to these third party servers, they’ll still trigger errors.
Unless you intend to remove them permanently, don’t worry about it. The improvements you can make will be enough to boost your site’s speed.
Don’t overthink the technical stuff here or boggle your brain trying to understand what everything means. Simply follow these steps to help speed up your website and you should see an immediate improvement.
Fix 1: Set up Cloudflare Content Delivery Network
Cloudflare is a free Cloud-based CDN service which stores copies of your website’s files and, depending where your visitor is located, serves your website’s cached files from a server closest to them.
The easiest way to install Cloudflare is via your shared hosting provider. Siteground and Bluehost both offer easy integration via your account’s C-panel. Here, I’m walking you through Siteground’s integration because it’s what I use and recommend:
- Go to your C-Panel and click ‘Cloudflare‘ in Site Improvement Tools:
2. Select your domain > Click ‘Activate Free’:
3. Once you’ve activated Cloudflare, click ‘Manage‘ under ‘Manage Your Account‘.
TIP: If you haven’t yet moved your site to HTTPS, you can easily install a Let’s Encrypt SSL certificate in seconds via C-Panel. Simply go to Security > Let’s Encrypt > Install New Let’s Encrypt Certificate > Under ‘Let’s Encrypt SSL Type’ select ‘Let’s Encrypt SSL’ > Install.
5. That’s it! Your Cloudflare account is now set up. Your username is provided at the bottom of the page, you can also follow the link to look up and change your password too. Or you can access your Cloudflare account by clicking this link.
Now head over to your Cloudflare account and select your domain. This will take you to your account overview page. Click ‘Get Your API key’:
6. Scroll down to the bottom of page to ‘API Keys‘ > Click the blue button to view ‘Global API Key‘:
7. Enter your account password and Captcha. Click View:
8. That’s it! Your API key is now revealed. Either keep this browser tab open or copy and paste your key somewhere safe. We’ll need it again in a moment!
Fix 2: Add W3 Total Cache WordPress Plugin.
- Go to your WordPress admin dashboard to Plugins > add new > type in W3 Total Cache > Install Now > Activate:
2. You’ll now see a new menu – ‘Performance‘ – on the left side of your Dashboard. We’ll only focus on the settings which need changing. Go to ‘General‘ settings:
Click on Page Cache > Check ‘Enable’:
Skip the Minify section as we’ve already managed that through Cloudflare : )
Skip Opcode Cache and Database Cache
Object Cache: Check ‘Enable‘ and select ‘Disk‘ method
Browser Cache: Check ‘Enable‘
Skip CDN as we’ll be configuring it elsewhere
3. That’s all for General. Click ‘Save All Settings and head to the ‘Minify’ menu. Scroll down to the ‘HTML and XML‘ section. Select the checkboxes for ‘Enable‘, ‘Inline CSS minification‘ and ‘JS minification‘ only. Click ‘Save all settings‘:
Scroll down to the ‘JS’ section. Select the ‘enable‘ checkbox and select ‘Combine Only’. Click ‘Save all settings‘:
Finally, scroll down to CSS and ensure ‘Enable‘ is checked in CSS minify settings (don’t worry about unchecking the line break removal checkbox). Click ‘Save all Settings‘:
4. Now move to the ‘Page Cache’ menu. Go to ‘General‘. Tick the checkboxes for ‘Cache front page‘, ‘cache feeds: site, categories, tags and comments‘, ‘cache SSL (https) requests‘ and ‘Don’t cache pages for logging in users‘. Click ‘Save all Settings‘ and scroll down to Cache Preload.
Tick the checkboxes for ‘Automatically prime the page cache‘ and ‘Preload the post cache upon publish events‘. Click ‘Save all Settings‘:
5. Now head to the ‘Browser Cache’ Menu and ‘General‘ options. Tick the checkboxes for the following:
Skip everything else and click ‘Save All Settings‘.
5. Nearly finished! All that’s left to do is configure W3 Total Cache with Cloudflare and Yoast plugin. Go to the ‘Extensions‘ menu:
Scroll down to Cloudflare > ‘Activate‘. Once activated, click ‘Settings‘:
Now click ‘Authorise‘, select your website in ‘zone‘, enter your Cloudflare account’s email address then paste in the Cloudflare API key you saved earlier, click ‘next‘:
Finally, while still in Extensions > Cloudflare Settings scroll down to Cloudflare: Content Processing. Leave everything as is, but make sure the following checkboxes are checked ‘Enable‘ if not already (Minify JS, Minify CSS and Minify HTML):
Click ‘Save Cloudflare settings‘ and go back to the main ‘Extensions‘ menu to activate and configure the Yoast SEO plugin (if you have it installed – which you should!) No need to do anything else!
Nearly there! Next up…
Fix 3: Optimise your website images
For this we’re going to install an image optimising plugin – Smush – which will run through all current images and files on your site and reduce their size. The free version lets you batch process up to 50 images at a time, so it can take a while if you already have a lot of images, but it’s absolutely worth it.
Simply head to plugins > Add New > search for Smush > Install Now > Activate.
Now click ‘Settings‘ to to go to the Smush Dashboard: You can now see how many of your images need ‘Smushing’:
Click ‘Bulk Smush’ to optimise up to 50 images at a time:
Tip: Once installed, after you create new posts and upload new images, remember to check your Dashboard so you can ‘Smush’ any files that arent automatically optimised.
That’s going to make a huge difference. Well done! Phew! We’re on the home stretch. Last fix….
Fix 4: Remove Query Strings
Query strings are simply URLs containing either a ? or &. Servers and CDN’s won’t cache files containing query strings meaning more load time for your site. Thankfully it’s easy to remove most of them in one hit.
W3 Total Cache actually has a feature to remove query strings, but I’ve found installing ‘Remove Query Strings From Static Resources’ plugin is more effective.
To install go to plugins > Add New > search for’Remove Query Strings From Static Resources’ > Install Now > Activate.
That’s it! You don’t need to do anything else : )
Now all that’s left to do is flush your website’s Cache (yes it’s a bit like flushing the loo). Hover over ‘Performance‘ menu at the top of your WordPress dashboard and select ‘Purge all caches’:
Tip: If you’re hosting with Siteground. Enabling ‘Supercacher’ under ‘Site Improvement Tools’ also helps to speed up your site and allows you to perform a deep system flush at three levels. This means you can be completely sure you’ve flushed out any cached files before running a final speed test or two:
Once you’ve flushed all your caches (is it just me or does that sound a bit rude?), wait a few minutes then run another speed test to see if your efforts have paid off.
Are you seeing an improvement? How about from different server locations? If there’s a reduction across the board, congratulations!
I also like to run tests across four different testing tools. They all give different results but it’s a good way to get a general feel for your site’s overall performance:
…and my new favourite testing tool from Varvy.com. Pat’s site is the best for demystifying all speed-related jargon and gobbledegook.
Written in plain, easy-to-understand English, if you want to dig deeper into Speed insights and SEO, with some of the best free tools available, go check it out.
And finally…run one last check for GZIP compression:
Wrapping it up
Here’s a recap of how to speed up your website page speed:
- Pick the right web host – cheapest isn’t always best. If you’re on a budget, Siteground is my recommendation for shared hosting and if you have the budget and need dedicated WordPress Managed Hosting, look at WP Engine.
- Run a mini site audit and determine which software and plugins you really need. Remove any redundant scripts in your website’s header for analytics or tools you no longer use.
- Choose a well-coded HTML 5 theme by a reputable developer (I recommend Genesis framework by Studiopress along with a child theme by Hello You Designs or Restored 316). Keep it simple and avoid themes with sliders and carousels, or gimmicky design features which increase load time.
- Check you’re running the latest versions of your website’s theme and plugins along with the latest version of WordPress. Move to the latest PHP version (ideally version 7 – ask your web host for guidance).
- Run speed tests to get insights into what’s slowing your site down.
- Implement the four fixes in this post!
Don’t panic if you’re still seeing D grades in GT Metrix or F grades in Pingdom. Nearly all of us have redirects in place (e.g. your top level domain to www or HTTP to HTTPS) and these are essential but do cause a small delay. And remember, third party apps and software files can’t be minified or combined in the way your own website’s files can. This will lead to more lag. Accept it and move on.
While we’d all like perfect technical grades, the aim of the game here is to reduce your website’s load time so visitors stick around – both on mobile and desktop. Focus on this rather than getting bogged down by appeasing every speed testing tool.
If you’ve achieved across-the-board reductions in load time, even just 20- 30%, that’s fewer visitors lost, more conversions and, ultimately, more revenue.
If that’s not worth half an hour of your time, I don’t know what is!
Did you find this post helpful?
The Blog Lab is my weekly newsletter; a fluff-free dose of what it takes to build a blog from scratch. Subscribe and you’ll get secret ‘in-the-trenches’ tips and actionable strategies to implement on your own blog. I promise not to bombard you with thinly veiled sales pitches!
It’s a juicy, warts and all take on what’s working and what isn’t, along with current news and trends affecting your blog.