Updated Guide: How to Fix a Slow WordPress Website

How to make WordPress faster UPDATE TO THIS POST (December 2016): We first released this guide over 5 years ago. Since then, we’ve updated it regularly with the latest information, and now we get dozens emails per week now about WordPress speed problems and fixing issues around slow WordPress load times.

There is a lot of troubleshooting you can do to speed up your WordPress site, but the majority of WordPress issues usually come down to poor quality web hosting or hosting-related problems.

To begin with, I’m going to give you a brief overview of each of the steps you can take to speed up your site, and then we’ll get deep into the details further down the page. Whether you’re a tech newbie or you’ve done this a few times before, you’ll find an answer to your question of, "How do I fix my slow WordPress website?"

1. Get Rid of the Bargain Basement Hosting

Host your site on the best web hosting you can afford. This means NO $5/month hosting. If you're on Godaddy, Hostgator, Bluehost, Dreamhost or any other host owned by EIG, then it's time for you to find a new hosting solution.

Generally speaking, expect to spend a minimum of $25 per month for high quality WordPress hosting. Some people balk at spending $50 or $100 a month on hosting, but you get what you pay for.

If your website is your main source of revenue, then it makes sense to pay for the best hosting you can get, because it’s going to have a direct impact on how much money your business makes.

This is the perfect example of spending money to make money, and if you want to make a lot of money, you’re not going to do it when you’re spending $5 a month on your hosting.

Remember that your hosting is the foundational component of everything you do online. Your SEO and Google rankings, your Adwords and Facebook ads, and the enquiries, calls and emails your site generates are all tied to the quality of your hosting.

Faster, more reliable hosting will easily pay for itself in the form of more enquiries, calls and sales coming through your website.

SIDE NOTE: some common advice you’ll see around the web is that if you want a high performance site you should run your site on a VPS, but this is bad advice!

Yes, a VPS has more raw server power than a regular hosting account, but server power accounts for only 25% of total performance. Server configuration is significantly more important, and unless you’re a server specialist, you’re not going to have the skills or knowledge to optimize your server to a higher standard than that of a managed WordPress hosting provider.

If you’re running a commercial website you should be using a managed WordPress host. The two WordPress hosting providers we usually recommend are WPEngine and WPX Hosting (which used to be called Traffic Planet).

WPEngine is a little more pricey, but they have a bunch of additional features like snapshot backup capability and WordPress updates that make it worthwhile (and cheaper than trying to wrangle technical patches yourself). If you're interested in this option, here's a WPEngine Review we wrote recently.

Note if you're reading this in Australia:

Neither WPEngine or WPX have a retail level or single site hosting plan that gives you hosting in Australia. We actively manage the assets for hundreds of businesses and couldn't find an Australian Based Managed WordPress Host so we built our own — click here for more info. This service was built to be the best hosting service anywhere, but all the servers are in Australia and it includes WordPress maintenance and SEO configuration to boost your website’s overall performance. Click here to check it out.

2. Set Up Cloudflare.com

Cloudflare is a content delivery network, web acceleration service and WAF (web application firewall). It will speed up your DNS resolution (often the cause of slow websites) and also adds caching and optimisation, which in some cases can cut load times in half.

Cloudflare is free, and even if your website is already fast, Cloudflare will speed it up even further and increase the number of visitors the website can handle at any given time.

Having a content delivery network is especially important if you have a business that serves customers worldwide. The further people are from your server, the slower your website will load for them, and Cloudflare removes most of the issues surrounding this.

3. Compress Your Images

Compress the images on your site using lossless compression (which creates smaller files sizes with no reduction in image quality). WP Smush is excellent and has a free option.

Often images can be compressed by 20 to 50%, which can easily cut 1 to 2 seconds off the load time of a page. This might not sound like a lot, but it can be the difference between someone taking the action you want them to, and losing their patience and clicking away from the site.

4. Try the Most Common Fixes. You Might Get Lucky!

Below we are going to dig into each of these solutions in detail. It’s amazing how often the same problems crop up for WordPress sites, so try out the common troubleshooting steps listed.

You might get lucky with an easy fix, and you’ll save yourself a lot of time, energy and money tackling these before you go looking for something much more complex.

Before making any changes, make sure you do a baseline speed test using tools.pingdom.com so that you have a baseline to work from. As a general rule, the site load speed needs to be under 5 seconds: 3 seconds is fast enough, and around 1 second is ideal.

5. Get Someone to Fix It For You!

If you're still stuck after all of these options (or don’t want the headache of handling it all yourself), check out our WP Speed Fix service. For $179 we’ll fix your WordPress speed problems or we’ll give you your money back.

We’ll do a full back-up of your site, diagnose the root cause of your problem, explain it all to you in plain English, and then get it fixed immediately. The whole process is handled in 3 to 5 business days, so that you’re straight up and running faster than ever before.

Check out the WP Speed Fix here to get your speed issues sorted out in the next week.

Alright. Let’s get into the weeds for each of these solutions so you can start troubleshooting the problems with your slow WordPress website.

Option 1: Set Up Cloudflare & Move Your Site to a Better Web Host

Most WordPress websites are hosted on a cheap hosting provider that stacks ten thousand other websites on top of each other on the same server. This means that all the websites are competing for CPU power and server resources.

Unsurprisingly, this makes your site slow, especially when you start having more than a few people visit your site at once. Overloading servers is the only way hosting companies can make any money on those cheap $5/month plans.

The Number 1 Priority to fix your WordPress speed issues is to set up Cloudflare (a caching and acceleration service) and move your site to WPEngine (here's our WPE review) or WPX Hosting. These are two high-performance, managed WordPress hosting providers.  

(And if you're in Australia then check out our Australian Based Managed WP Hosting.)

Let me be straight with you here: If you’re being a tight-arse and spending $5 a month on hosting, your site is absolutely going to run slowly.

It will annoy your customers and cost you money. For most WordPress sites, moving to managed WP host will bring your site load time down to 1-3 seconds, immediately, and save you all the stress and hassle of having an underperforming website!

Why Good Hosting is Important…

Hosting is the foundational component of everything you do with your website. Better hosting means a faster, more reliable website. That means that your SEO, Adwords and traffic generation efforts will drive more new visitors with higher engagement (faster site = better SEO rankings; faster site = customers more likely to stick around).

Because the user experience is better, better hosting will also normally improve your conversion rate slightly too (better customer experience = more likely to buy from you).

So yes, good hosting does cost more than the ‘bargain bin’ hosting most sites run on. But if you’re running a business off that WordPress site, then better hosting WILL more than pay for the additional cost.

If you have a tight budget, then the best option is to go with WPX Hosting. While we prefer and recommend WPEngine, it is is a locked environment that doesn’t allow some custom coding and plugins. WPX does allow customisation, so while the majority of our sites are with WPEngine, we have a handful of custom sites hosted with WPX.

Both are good options if you’re taking your business more seriously and need the additional speed and support.

If you have an Australian or NZ business, then I’d like to invite you to check out our managed WordPress hosting. All our servers are based in Sydney, and were built to provide the fastest possible load time on all our hosted sites.

We've combined multiple technologies from cutting edge vendors such as Cloudflare, MaxCDN and WPEngine to ensure your website loads lightning fast, not just in Australia, but worldwide. Websites hosted on our platform can handle thousands of visitors at once AND have rock solid reliability.

The hosting is configured to be friendly to search engines and comes with plugins that help you to rank better, and includes regular WordPress maintenance. Check it out here.

Once you’ve got your hosting sorted out, it’s time to add Cloudflare into the mix.

Why Use Cloudflare?

Even if you’re using hosting that’s total rubbish, Cloudflare can often cut load times in half. Here’s how it helps with your WordPress speed:

    • Cloudflare takes over your DNS hosting. There are 4 parts to common business hosting: Your domain name, DNS hosting, email hosting and web hosting. Often slow DNS hosting (the system that ‘calls’ your website up when someone types it into the URL bar) manifests itself as slow website load times. Cheap hosting companies usually have extremely slow DNS hosting, to the point where DNS lookups often fail, adding precious seconds onto your load time. Cloudflare is one of the top 10 fastest DNS hosts worldwide and in almost all cases moving DNS hosting there will speed up your site.
    • Cloudflare does acceleration and optimisation. These  acceleration and optimisation features reduce the size of your site, help it load faster and help it render faster (so the visitor feels a speed increase).
    • Cloudflare is a type of content delivery network. Cloudflare is a CDN (content delivery network) which means your content is distributed across hundreds of servers. This reduces the load on your web host and means that some of the files that make up your website are loaded on servers much closer to the visitor. This means that is less latency (distance for the information to travel) when someone loads a page, which again, results in a much faster load time. Loading files from the CDN also bypasses your web server, which cuts slow hosting out of the picture for some files.

Note that this is a different type of CDN to what WPEngine and some hosting providers offer. You should use both, but don’t use Cloudflare caching on third party CDN hostnames.

It introduces lossless image compression, a content delivery network for faster worldwide delivery, Javascript, HTML and CSS compression/combining ,and other intelligent browser systems to make the site feel like it’s loading faster.

As I mentioned, Cloudflare also takes over your DNS hosting. There are two distinct issues with slow sites — either the site itself is overloaded and slow, or the DNS hosting and DNS lookups (at the hosting servers) are slow.

Usually it’s the DNS that’s the issue, and as long as you’re on poor quality hosting, it’s out of your control. This is why I’m so adamant about using Cloudflare — even if you stay on your cheap hosting, it can drastically increase the performance of your site.

(Of course, I also think you should get better hosting so that you don’t get stuck in a bad situation when their servers inevitably crash.)

Cloudflare is also free, so there’s really no reason not to use it.

If you’ve never heard of Cloudflare before this article, here’s a quick video explanation:

Option 2: Work Through the Troubleshooting Checklist

Usually we recommend troubleshooting in two parts:

  1. Identify the root cause of slow loading and fix that first.
  2. Implement best WordPress practices to ensure the site is as fast and reliable as possible.

Before we get to work on a client site, we run the site through tools.pingdom.com to get an independent speed test. This gives us a feel for load times and lets us see which files are being loaded and what their sizes are.

This sets our baseline speed so we can see whether the changes we’re implementing  are having a positive or negative impact. Often this speed test will uncover the root cause of the problem and we can then easily resolve it.

We also run the site through the w3c validator to make sure there are no major coding errors – occasionally we’ll find some big problems here which are easy fixes if you know what you’re looking for.

Once you’ve fixed your hosting and added Cloudflare, you can work through this troubleshooting checklist.

  • Deactivate and delete any unused plugins: Many plugins add additional Javascript and CSS lines into your code, so if you’re not using a plugin, get rid of it. It will just clutter up your site and create lag. Note that some plugins keep code in your site even when inactive, so if you’re not using it, delete it completely.
  • Install a caching plugin: If you’re not going to upgrade to WPEngine then at least install the W3 Total Cache plugin. At a minimum, this adds some basic browser caching optimisations and compression.
  • Review your code in more detail: The root cause of slow load times could be a code issue. This happens when the code is inconsistent and refers to two different forms of the URL (www.domain.com and domain.com), which causes unnecessary redirects to be fired. The code should consistently use www.domain.com or domain.com (whatever is the default for the site) and not a mix. It’s a small thing but it can make a surprisingly large difference.
  • Check the bandwidth consistency and reliability of your hosting provider: When troubleshooting a WordPress speed problem, I’ll often upload a bigger file to the site (say a 50 or 100mb zip file) and then download it through the web browser. If the file is slow to download on a fast internet connection then it may not be a WordPress performance issue. It’s more likely to be an issue with the available bandwidth your hosting provider has available. This is where services like WPEngine come into their own, and I can’t emphasise enough that moving your hosting to a site like this is the best investment you can make in your site’s success.
  • Review the hosting performance stats: As I mentioned earlier, your site could be hitting the CPU limits on its hosting account. It could either be sucking down too much bandwidth,the website host could be way oversubscribed, or if the hosting company is overseas, it could just have high latency (ping times) in your location. Cloudflare will fix a lot of problems with cheap hosting companies (as their servers take some of the load from your hosting) but if the CPU is being throttled by your hosting company then the site will feel like it hangs regularly. Usually if you have the C-Panel logon, you can review CPU and memory usage under the performance report section.

Test your plugin load speed using the P3 Profiler plugin: this plugin will help identify speed issues that are caused by plugins.

Option 3: Use The WP Speed Fix Service — We'll Fix Your Site or Your Money Back

You’ve probably ended up on this page because you were looking for solutions on Google to fix your slow WordPress website.

Rather than waste time fiddling with your site yourself and potentially breaking things, let us do it for you.

Our WP Speed Fix Service is $179USD – we’ll fix your WordPress speed issues or we’ll give you your money back.

We’ll do it quickly, too. It usually only takes us 3 to 5 business days to fix everything and have your site running like new.

Here’s what we’ll do for you:

  • Run through our troubleshooting checklist to identify the root cause of your WordPress speed problem
  • Compress all images on your site using lossless compression (so they load as fast as possible without taking up so much storage)
  • Review your plugins and troubleshoot speed issues as required
  • Check your code and fix any bugs in it that are causing your site to load slowly
  • Setup Cloudflare and migrate your DNS hosting for you (optional but recommended)
  • Migrate your site to a new host (if required)
  • Correctly configure WordPress caching (if appropriate)
  • Provide before and after load time reports

Remember that your hosting is the foundational component of everything you do online. Your SEO and Google rankings, your Adwords and Facebook ads and all the leads that comes through your website are tied to the speed and user experience of your website. Faster, more reliable hosting will easily pay for itself in the form of more enquiries, calls and sales.

Want to make sure your site loads as fast as possible?

Click here to get our WP Speed Fix Service

  • Hello….
    after i use google adsense and analytics code in wordpress
    My site is slow, and they told me to fix it as below
    Do you have a solution to this problem
    Setting an expiry date or a maximum age in the HTTP header
    http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js (60 minutes)
    https://pagead2.googlesyndication.com/pagead/osd.js (60 minutes)
    https://www.google-analytics.com/analytics.js (2 hours)
    my site: gooeos.com

    • Hey buddy, it looks like you’re using Pagespeed insights? don’t use Google Pagespeed Insights for speed testing, it’s rubbish

      Use tools.pingdom.com instead, it measures raw load speed, that’s all that matters, you can’t change settings on third party hosted files like this and the recommendations will make no difference to your load speed anyway

  • Michael Mallmann

    Hi! Nice article!
    I have a question, if you don’t mind! I’ve tested my website (www.comalma.com.br) which is under construction using this tools.pingdom.com (fantastic BTW) and when ranking the results in LOAD ORDER my first two alone took almost 45 seconds.
    I don’t even know to get it fixed. Any advices?

    • Darius zak

      use Cloudflare – if you have it in your server under cPanel – add the website and it will speed it up.

  • robzelo

    This is a async fix to social button load issue in wordpress