How To Speed up a WordPress Website

Follow these 4 simple steps to speed up your wordpress website to load in under 2 seconds
Affiliate Disclosure
We hope you love the products we recommend! As an affilate we earn from qualifying purchases, and we may collect a share of sales or other compensation from the links on this page. Thank you if you use our links, we really appreciate it!

There are a billion tutorials on the net on how to speed up your wordpress website but ostensibly use mainly text based websites to show off their results, which is easy to get fast speeds with.

On top of that, they use their desktop speeds to back up their claims. When it’s mobile speeds which are more important to Google and to you. Mobile is where your audience is moving to.

So what about a business website that is affiliate based with articles that are heavy with images, links and other website tools?

If you don’t believe me then check out my website speeds for yourself, it has lots of images and pulls in images from sites like gear site and and Amazon, using third party plugins. I also use some important plugins that have a bit of bloat like Wordfence and RankMath.

Yet if you generate my Google speed score it’s still, in the green, in the high 90s. Even many of my articles that are heavy with images, tables and links still get 100 scores, in the green.

Following the same simple steps I used to achieve this will get your website running at super fast speeds on mobile as well.

What’s Your Speed Target?

The data shows that if your users are waiting over 3 seconds for your website pages to load they are more likely to leave, losing you any possible conversions.

In my opinion even 3 seconds is too long. I would aim for sub 2 seconds or even better under 1 second. This is entirely achievable with small changes, and in some cases, a few big changes. 

Faster web pages will lead to increased page views, lower bounce rate, more conversions, and a better user experience which will help returning visits.

Which Tools To Use to Measure Speed

I use about three to four tools to measure the speed of my website, but most of the time it’s the following three:

  1. Google Pagespeed Insights
  2. GTMetrix
  3. Pingdom

All these websites will give you data on your speed, but only the speed score on Google matters. 

GTMetrix I can use for getting the actual load speed (desktop) but mainly I use it for finding the causes of the issues I need to work on. 

I just use Pingdom to measure the load speed.

Google Page Speed

Google Pagespeed index doesn’t give you an actual pagespeed time, which is why you need to use it in conjunction with GTMetrix and Pingdom.


The free version of GTMetrix will only show you the data from the desktop test of your website. As I said before, the important speed is the mobile speed.

So while you can use Google Pagespeed Insights to let you know what overall issues you have that could be looked at, you can use GTMetrix to identify the particular issues with your website.

You can use the waterfall tab which visually shows you which sections of your website are taking the longest to load. From here you can identify where you need to focus your efforts.


Pingdom I simply use as a measure of speed to correlate with GTMetrix.

Now let’s get on with how to speed up your website!

Step 1: Get Fast Hosting

One of the most common issues that comes back in the opportunities section when getting a speed score is to improve host server response time.

It’s the biggest step that you need to get right first. So picking the best hosting service at the outset, that also fits your budget, is very important.

Either go straight to Siteground to check out pricing for the three plans here or check out my article ‘How to Create a Website with Siteground‘ for everything about creating a website.

I use Siteground and I’ve found that they satisfy most of my needs that I require from a hosting service:

  1. Host server speed is good – There are faster hosts available, but they are much more expensive.
  2. Minimal downtime – In my 3 years with Siteground I have been fortunate to have 0 down times (that I’m aware of). Some faster hosting companies like WPX, which I have considered, I’ve seen have down time issues. Income School who used to promote WPX have recently advocated all their Income School members to use alternative hosting.
  3. Good Customer Service – Siteground has moved to web chat and email contact for customer service. Which for me is fine. I have not had many issues and the one time I did, conversing over email was enough to rectify my issue.

When you get your hosting, you need to know where your audience is or where you expect your audience to be.

You should then set your local area in your hosting to be close to your main audience. My main source of traffic is in the US, but my location is in the UK. Setting my website local to the US means my main traffic viewers will get faster load speeds.

Types of Hosting

There are actual a few types of hosting you can choose from that will cost extra but boost your loading time as well as increase security:

  • Sharing Hosting – this is what I use, the default hosting, with a single server hosting multiple sites, which means slowdowns happen.
  • Dedicated Hosting – one site hosted on a dedicated server. Very expensive but increases load times exponentially.

Siteground Speed Tools

Siteground has quite a few great tools you should employ to improve your speed from the default options.

The first is Siteground’s own plugin for imrpoving speed Siteground Optimizer which is great for minimising code and unnecessary bloatware in your website. I use an alternative to this Autoptimize, but they both serve the same function.

One the of the biggest advantages to using Siteground hosting is they have a free CDN with their plans, Cloudflare CDN. Using a CDN is important for making sure your speeds remain fast in multiple locations and not just your local location.

Step 2: Get a Fast WordPress Theme

Getting your hosting is the first big step because in most cases you will be locked in for at least a year.

A good, lightweight, well designed theme is the next step. One you have your hosting and theme and then have built out your website, the remaining steps are smaller one as I mentioned earlier.

Getting the hosting and theme wrong means maybe a long time till your contracts end and also having to redesign a website.

I chose the GeneratePress theme, which I reviewed in my ‘Fastest WordPress Theme‘ article, but I have three recommendations in total. All three I have used to great effect and produce super fast loading times.

Generate Press Theme

I really like this theme and recommend it to everyone looking for themes to use for their websites.

Click this link to see the pricing plans for GeneratePress.

It’s one of the most lightweight themes available. This means there’s less redundant coding and everything is streamlined. This results in faster load times.

My first website used the very good looking Newspaper X theme, now updated to Newspaper 11. 

Newspaper X looked great and had lots of great design options and slick options like sliders and carousels. 

But the website was huge, over one megabyte. For comparison, my website on Generate Press is 0.3MB in size.

Generate Press is also a relatively cheap yearly cost, which you can check out here for the latest pricing. One bonus option that really makes this the best theme is that you can use one licence for unlimited websites!

I have multiple websites on the same licence. It’s such a cost saving theme.

The forum for customer service is one of the best. The response time to issues is fast and they get most issues I see resolved. There seems to be not any issues that I am aware of with this theme.

Lastly, GeneratePress offers multiple pre made theme templates in its site library. If I’m honest they are not as slick as a Squarespace template. 

But then again I think my website design is pretty modern and well designed. I’ve chosen a minimalist aesthetic with a timeless color palette.

OceanWP Theme

OceanWP regularly finds itself in the top places in recommendation lists. And for good reason. Not only is it a fast theme, the templates look gorgeous.

I bought an OceanWP licence a few months before GeneratePress. There was nothing wrong with OceanWP, it was just a personal preference.

I just thought the data was showing GeneratePress to be the fastest of all themes. Those who really got fast loading results were using GeneratePress. 

And the multi website licence option sold it for me. Whereas my plan with OceanWP was for a maximum of three sites per licence.

GeneratePress is also cheaper, even if you only needed the 3 site licence on OceanWP.

So I only used OceanWP for about a few months. But I will still recommend it because it’s a decent theme.

Schema Theme

Schema is a basic lightweight blogging theme. If you want to do something other than blogging or articles this may not be the best theme for your needs.

Again it’s a super fast theme because of the lightweight coding and design.

There’s a free version, Schema Lite, which lacks a few bells and whistles, but would be good when you’re just dipping your feet into web development.

Pricing wise, it’s actually again a three site licence that’s a little bit more than GeneratePress.

Get a Caching Plugin – WP Rocket

WP Rocket is one of the most popular paid for caching plugins for wordpress that delivers great results straight out of the box.

There are a few free caching plugins that have millions of downloads, but I still would get niggling issues I couldn’t rectify.

With a business website, you’re only going to get so far with free plugins. Investing in the most important areas will yield better results in the long term. 

To illustrate how much of a difference WP Rocket makes to my site, you can test for yourself the website before and after using this format:

As you can see the results are pretty good. 

Pricing wise, if you can I suggest waiting for Black Friday or holiday deals to get huge discounts. 

Obviously this can be far away so I would in that case suggest getting the plug in and like I did, extend the contract during the discount season.

Get an Image Optimizer – ShortPixel

This is the last important step I would focus on for any website. Images on your website are usually the largest items on your website to load. So as you add more and more, you need to make sure those images aren’t making loading sluggish.

There are in my experience two image optimization plugins that you should choose from, Shortpixel and Optimole. 

I’ll quickly go over Optimole, because these two plugins operate in very different ways.

Optimole optimizes your images automatically to WebP, serving them from a CDN, when a user opens a page on your website. Whereas with Shortpixel, the images are already optimized when you upload them to the page.

Optimole achieves over 80% compression, using lossy compression. 

Optimole is free until you reach 5000 page views per month and you get about 1GB or 1000 images in that quota. 

After that the cheapest pricing plan is actually quite dear. If you have a healthy budget it might be an option. 

However I have found Shortpixel to be a superior option. You get 100 images free per month, but what I prefer is that you get to buy Shortpixel credits for bulk optimizing.

There is a monthly fee if you prefer that option but I find the credits option works better for me.

So you still get optimized images compressed efficiently and you don’t have to pay a monthly fee.

Before I installed Shortpixel I would always generate issues on Google Pagespeed insights telling me to compress images. I don’t get this issue any longer but remember images will still always be your largest content on your website.

Make sure to select the option to serve images as WebP files. These will be loaded quicker than .jpg or .png files.

More Steps to Speed Up WordPress

The four steps outlined above are the important steps that you should get right from the get go.

They make the biggest differences to your loading times and almost as important as each other. 

But there are quite a few more options and steps you can further employ to keep shaving off a few more milliseconds off your load time.

Limit the Number of Plugins

I would suggest under twenty plugins at most. I personally have only sixteen plugins.

It would be quite difficult to get less than say sixteen, but it depends on what is included in the theme. For instance I needed to include a social icons plugin with GeneratePress whereas I didn’t have to with Newspaper X.

Here’s a list a few essential types of plugins and examples I would recommend:

  1. Anti spam for comments plugin (Akismet)
  2. Cookie Notice and GDPR plugin (Cookie Notice & Compliance for GDPR / CCPA)
  3. SEO Plugin (RankMath)
  4. Website Backup plugin (Updraft Plus)
  5. Security plugin (Wordfence)
  6. Image optimizer (ShortPixel)
  7. Caching Plugin (WP Rocket)

And these are some extra plugins I would recommend if you go for GeneratePress:

  1. Code Snippets – Plugin for adding more code
  2. Simple Author Box – Adding an author bio to an article
  3. Social Snap Lite – Adding social sharing icons
  4. Yet Another Related Posts Plugin – Add related posts to the end of articles
  5. WPS Hide Login – Plugin that changes the URL of your admin login page

I have a few other plugins that are just extra bells and whistles and non important, like a subtitle plugin, but again not essential.

Limit Post Revisions

Whenever you update a post WordPress will save a copy and this can build up, especially if you write your articles in Gutenberg (I write mine in Google docs).

The way to do this is to simply add this line of code to you wp-config.php file:

1 | define( ‘WP_POST_REVISIONS‘, 3 );

WordPress will be limited to creating the three revisions and trashing the rest.

Add Expires Headers

This is another issue sometimes coming up in my GTMetrix report, that can be easily solved by again adding some code to the htaccess file.

Adding expires headers manually determines the duration of different file types before said file expires and your browser must download it from the server again.

Again go to your htaccess file in your cPanel, under File Manager. Then add the following code near the top of the file:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/svg "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"

Always download a copy of your htaccess file as backup in the case of the changes breaking your website.

Change the time durations to your preference.

Final Thoughts

These are pretty much the sum total of steps on how to speed up a wordpress website I took to get my website to green with Google Pagespeed insights.

I should stress again that my website is still not perfect, there is still some more work to do, specifically with regards to the LCP (Largest Contentful Paint).

I believe the changes I require would need an actual coder if I want to make improvements. But do I need to improve it?

Bear in mind, the score you receive in Google Pagespeed Insights is produced in a lab, these are not real world results. You could have a 19 second loading website that passes.

If you have a super fast website with great user experience, yet a bad Google score, don’t beat yourself up about it. Real world speeds and user experience are more important to you.

Getting your website up to speed is important as a website in your business is an important cog in the overall picture. To make sure your business grows from strength to strength start here:

how to start a creative business

Don’t forget to check me out on YouTube and Instagram.