Development

How to Improve WordPress Website Speed

Why WordPress sites are slow and how to fix it, in order of what actually helps. Images first, then plugins, caching and hosting.

Slow WordPress sites are almost always slow for the same handful of reasons, and the biggest one is usually images. Before you install a plugin promising to fix everything, it is worth knowing what is actually costing you the seconds.

This is the order we work in when a site needs to be faster, roughly from biggest gain to smallest.

First, measure it properly

Your own site always feels fast to you, because your browser has already downloaded most of it. Test it as a stranger would.

  • Run your homepage through Google PageSpeed Insights and look at the mobile score, not desktop. Mobile is where most of your visitors are and where the problems show.
  • Test your heaviest page too, usually a gallery, a shop category or a page with a video.
  • Note the Largest Contentful Paint figure. That is roughly when the main thing on screen appears, and it is the number that correlates with people giving up.
  • Test once more on a real phone with wifi off.

Aim for the main content appearing in under about two and a half seconds on mobile. Perfect scores are not the goal, and chasing 100 out of 100 usually costs more than it returns.

1. Fix the images

This is the single biggest win on most small business sites, and it needs no technical skill.

A photo straight off a modern phone is often four to eight megabytes and several thousand pixels wide. Displayed in a slot 800 pixels wide, all that extra data is downloaded and thrown away. Ten of those on a page is a site that takes ten seconds to load on mobile data.

  • Resize before uploading. Almost nothing on a small business site needs to be wider than about 2000 pixels, and most images need far less.
  • Compress them. Free tools like Squoosh or TinyPNG typically cut file size by 60 to 80 percent with no visible difference.
  • Use modern formats. WebP files are usually much smaller than JPEG at the same quality, and every current browser supports them.
  • Turn on lazy loading so images below the fold only load when someone scrolls to them. Recent WordPress does this by default.
  • Check your existing library. Plugins such as Smush or ShortPixel can compress everything already uploaded.

If you do nothing else on this page, do this one. We have taken sites from eight seconds to under three on images alone.

Oversized photos cause more than slow pages. On the CW Watches shop we built in Canterbury, uploads kept failing outright. We raised the server upload limit, then found we had raised the per listing limit but not the per photo one, raised that too, and the real cause turned out to be the owner’s phone. A very good camera producing files large enough to time out the upload before it finished. We shipped plain English error messages so he would know why an upload failed rather than guessing. If your photos will not upload, the answer is usually the same as if your pages are slow: the files are simply too big.

On the format specifically, this is the explanation we end up giving on the phone most often. Most people send us JPEGs and PNGs because those are the formats they know. Both are heavier than they need to be, and on a phone connection that is what you feel first. WebP holds the same picture at a fraction of the size, so the page arrives before the visitor has decided to leave. If you are sending photos to a designer, ask them which format they want before you export fifty of them. If you are exporting them yourself, choose WebP and resize to the size the page actually shows, not the size your camera produced.

2. Reduce your plugins

Every plugin adds code to every page, and some add code to pages that do not use them. A contact form plugin loading its scripts on all 40 pages is common and pointless.

  • Deactivate and delete anything you are not using. Deactivated plugins still need updating and still carry risk.
  • Look for overlap. Two plugins doing similar jobs usually means one can go.
  • Be wary of anything described as an all-in-one suite. They tend to load a great deal for the one feature you actually wanted.
  • Page builders are the heaviest thing on most sites. They are not automatically wrong, but they are rarely free.

3. Add caching

Caching means the server builds the page once and then serves that copy to everyone, rather than rebuilding it for every visitor. It is usually the second largest gain after images.

  • Check whether your host already does it. Many good hosts cache at server level, and adding a caching plugin on top can cause conflicts.
  • If not, WP Super Cache, W3 Total Cache or WP Rocket all work. One caching plugin, not two.
  • After enabling it, clear the cache and check the site still looks right, particularly forms and anything logged in.

4. Check your hosting

There is a floor to how fast a site can be, and cheap shared hosting sets it low. If you have fixed the images, cut the plugins and added caching and it is still slow, hosting is usually the remaining answer.

  • Look at server response time in PageSpeed Insights. Consistently over about 600 milliseconds points at hosting.
  • Hosting on the same continent as your customers matters. A UK business on a US server pays for that on every request.
  • Make sure PHP is on a current version. Older versions are meaningfully slower, and this is often one click in your control panel.

5. Tidy the front end

Smaller gains, but they add up.

ChangeWhy it helpsEffort
Limit web fontsEach family and weight is another file. Two families is plentyLow
Remove unused sliders and carouselsHeavy, and they rarely improve enquiriesLow
Do not embed video directlyHost on YouTube or Vimeo and embed, rather than serving the file yourselfLow
Cut third party scriptsChat widgets, tracking and pixels all cost time. Keep the ones you useMedium
Minify CSS and JavaScriptSmaller files. Most caching plugins can do itLow, but test afterwards

6. Clean the database

Over years, WordPress accumulates post revisions, spam comments, expired transients and leftovers from deleted plugins. On an old site this is worth a tidy, though it is a smaller gain than people expect. Take a backup first, always.

How fast is fast enough?

Fast enough that nobody notices. In practice, the main content on screen inside about two and a half seconds on a mobile connection, and the page usable shortly after.

Google uses page experience as a ranking factor, but it is a modest one and it will not lift a page that does not deserve to rank. The stronger argument is behavioural: people leave slow sites, and on a phone outdoors they leave quickly. You lose the enquiry long before you lose the ranking.

The order that actually works

  1. Measure on mobile, on a real phone.
  2. Fix the images. This is most of it.
  3. Delete plugins you do not use.
  4. Add caching, or confirm your host already does.
  5. Check PHP version and server response time.
  6. Trim fonts, sliders, video and third party scripts.
  7. Measure again, and stop when it is quick rather than when the score is perfect.

Take a backup before steps 3 onwards. Our guide to backing up a WordPress site covers doing that properly.

Speed is one of the things we check in the website audit checklist, and keeping it that way after launch is part of a website maintenance plan. If your site is slow and you would rather not spend a Saturday on it, send us the address and we will tell you what is causing it.

Paul Fletcher

Written by

Paul Fletcher

Web Developer

Paul builds fast, reliable websites and online shops, and makes sure they work well on every phone and laptop.

More guides by Paul Fletcher →

FAQs

On most small business sites it is images. A photo straight off a modern phone is often four to eight megabytes and several thousand pixels wide, and displayed in a slot 800 pixels wide all that extra data is downloaded and thrown away. After images, the usual causes are too many plugins, no caching, and cheap shared hosting.

Work in this order: measure on a real phone, resize and compress your images, delete plugins you do not use, add caching or confirm your host already does it, check your PHP version and server response time, then trim fonts, sliders and third party scripts. Images alone usually account for most of the gain.

Fast enough that nobody notices, which in practice means the main content appearing within about two and a half seconds on a mobile connection. Perfect scores are not the goal, and chasing 100 out of 100 in PageSpeed Insights usually costs more effort than it returns.

Yes, but modestly. Google uses page experience as a ranking factor, though it will not lift a page that does not otherwise deserve to rank. The stronger argument is behavioural: people leave slow sites, and on a phone outdoors they leave quickly, so you tend to lose the enquiry well before you lose the ranking.

Check whether your host already caches at server level first, because many good hosts do and adding a plugin on top can cause conflicts. If not, WP Super Cache, W3 Total Cache or WP Rocket all work. Use one caching plugin, never two, and clear the cache and check your forms after enabling it.

Usually yes, because every plugin adds code to your pages and some load on pages that do not use them. Delete rather than deactivate anything you are not using, look for two plugins doing similar jobs, and be wary of all-in-one suites that load a great deal for the one feature you wanted. Take a backup first.

Free quote

Want a website that works as hard as you do?

Tell us what you do and we will come back with clear, honest next steps.

Get in touch