21 Steps: How to Increase Your WordPress Site Speed

If you want to optimize your websites to speedily load in milliseconds, please know that it’s going to take some work at your end. A few minutes of reading and an hour or two of optimization for best results.

From my personal experience, until we know why we should be doing it. We are either not interested enough or willing enough to put in the effort.

So first things first.

What does it mean to have a fast loading website?

People are on average online for 24 hours a week. 

With thousands of other blogs for every niche out there, speed can make the first good impression. It takes an average of 3 seconds for people to stay or leave the website.

It remains a neglected factor and knowing WordPress powers 30% of all websites. There’s a good chance your website is based out of WordPress.

Luckily, it’s much easier to optimize speed with WordPress.

Speed is part of Google’s ranking algorithm. A quick loading website will be more likely to make it to the top of Google Search Engine for your keywords. 

Let’s talk numbers.

According to a Microsoft report, a 2-second longer delay in page loading speed decreased user satisfaction by 3.8%, lost revenue per user by 4.3%, and clicks declined by 4.3%.

According to Aberdeen Group Report, a 1-second delay in page load speed causes 

  • Page Views declined by 11% 
  • Customer Satisfaction down by 16% 
  • 7% Loss in Conversions 

According to Amazon, every 100-millisecond increase in page load speed causes Amazon’s revenue to increase by 1% 

As per WPO Stats, Walmart’s revenue increased by 2% for every 1-second speed increase.

Akamai research shows:

  • 47% desire your website loads within 2 seconds.
  • 40% leave your website if it takes more than 3 seconds.

You might not be the Walmart, Amazon or Microsoft of your niche. But there’s always a first time to take the right direction.

 So stay strong, do what’s best and reap the benefits over time.

How to Optimize Your WordPress Website to Load in Milliseconds?

Perfect, here are 20 straightforward steps to drastically decrease your website loading time.

Step 0: Backup, please!

Before you do any optimization whatsoever, just backup your website to make sure we don’t lose any important data.

99% of the time we never need these backups. But it’s always good to be safe than sorry. 

UpdraftPlus and Total UpKeep are the free backup solution for WordPress sites.

Step 1: Measure Current Speed

As Peter Drucker says, you can’t manage what you can’t measure. 

Rightly said, you can never improve anything until you measure it.

So how do we measure the current page speed (load-time)?

There are quite a few FREE tools to measure it.

I recommend using Pingdom and GTmetrix the most to optimize speed. 

Why Pingdom and GTmetrix are best speed testing tools?

The interface is simple to use, results are pretty accurate, it’s free and there’s a lot of great information about your page.

How to use Pingdom:

Simply enter your URL, choose a nearby location (or any for that matter) and click Start Test.

Soon after you’ll see a result page, which includes a thumbnail image of your webpage, overall performance grade, the page size in MB’s (or KB’s for that matter), total load time and the number of requests made to the server.

Below that, you’d see the “Improve page performance” where you would see different scores. A being best and F being worst. It’s the gist or crux of all you need to improve your site speed performance.

The information discussed above will help us know exactly which areas we need to improve over. Plus, we can always re-test after tweaking a few settings to make sure our tweaks are effective.

Right below it, you’ll see more details about the number of requests and overall content size. That’s helpful but you don’t need to dive in that deeper.

Don’t worry, I’ll exactly share the steps you need to take to make it load blazing fast!

How to Use GTMetrix:

Pretty similar, just type in the domain, select a location and click Test your site.

It will take a few seconds to analyze the site.

You will see an overwhelming amount of information. It’s pretty simple though.  

Under the Performance Score label, you see a Pagespeed score, that’s from GTMetrix analysis. Next to it is the Yslow score. Consider Yslow an analysis of a different service.

The Page Details, show you the Fully Loaded Time which is the time it took to load the page. Next to it is Total Page Size and no. of Requests made to the server.

What’s good about GTMetrix is that they not only provide Pagespeed Recommendation. But also lets you expand the tab as you click over each item. Well, Pingdom does too but the expanded tab here provides awesome details with link examples too. 

It also has a “What does this mean?” button in case if you have no clue what it is.

Alright, that’s it for measuring current performance. The steps you’ve learned here will be super helpful to measure the performance of any kind of site.

Not just that, you will be able to point out exactly what’s causing performance issues.

Just a word of caution, every site is different. Every page’s page size is different. So obviously, the more the page size, the more the loading time. 

We will exactly know how to optimize page size as much as possible. But then, a 20 MB page will load much slower than a 5MB page size. Just something to keep in mind. 

Don’t worry, we are in this together. So let’s move forward!

Step 2: Be with a Good Host

Most people never consider being with a good web hosting company an important step.

Well, you may do the best of optimization but wouldn’t see as good of the results as you’d otherwise with a brilliant web host.

But let’s be practical, good hosts such as WP Engine are much pricier than others. 

Not every startup or an individual who’s wishing to start a venture or even a blog can afford such a hefty price every month. 

If you can afford $35 a month, it’s one of the best choices. However, I’d not recommend it to any newbie or anyone in their first 24 months of website endeavors.

There are other good shared hosts with a much more reasonable price, as low as up to $3 a month. 

I consider them good because it provides value for money. It wouldn’t be a good fit for mission-critical sites but good for most other purposes. 

But for starting a blog, a business website and just having an online presence, these are just about perfect!

Two of these I’ve used are BlueHost and SiteGround. You get more than the average speed at lower average prices. 

BlueHost service has vastly improved over the last few months. So I’ll go with them given their price and overall benefits.

In my personal opinion, don’t use Godaddy for hosting! These guys are best for domain registration but not hosting.

If you are technically well-grounded, you can do server management and all that tech stuff. Then go with an unmanaged host, such as Linode or DigitalOcean

But most of us don’t so we need shared hosts to be able to access a cPanel, install files easily and have a company to take care of server management and security.

Have you already purchased a hosting package?

No problem, it’s never the end of the world! We can still do all the suggested optimizations with any host you’ve chosen to be with.

 The results will not be in milliseconds but a few seconds, hopefully under 3 seconds.

Step 3: A Lighter Theme

It all starts with a theme, that’s like your foundation. So you must have a light-weight and well-optimized theme.

Most paid themes are very well written and designed. Their backend code structure is pretty solid too.

Unfortunately, quite a few free themes are designed by novice users. They not only are insecure due to lack of proper WordPress knowledge but are very code bloated themes.

So search Google for best WordPress themes and you will find quite a few to suit your niche and preferences. It’s safer to install the most popular ones.

Speaking of paid themes, I recommend using AThemes and Elegant Themes as these are well-priced, super professional, attractive design and pretty robust structures.

It’s always good to make a one-time investment in themes. A $30-$40 will save you from security, load-time, unprofessional design hassles, etc.

If you can’t afford it yet, no problem. Do it when you start earning from your blog. Hopefully well within the next 12+ months!

Step 4: Disabling Unused Plugins

We all love exciting features. It’s good to try them all and stay updated. But you should only be using what you need.

It’s okay to have 10 active plugins but make sure each of them is effectively serving you a clear purpose. 

I’ve had 20-25 plugins active for a multiple of my sites without a problem. But then all of them were crucial to have to serve either security, social, SEO, discussion and commenting purposes.

Never use a plugin until you badly need it. I’d suggest deleting all the unused plugins. It helps to declutter.

Just a word of caution, not every plugin is compatible with others. And the more the plugins the harder it is to troubleshoot if a problem occurs.

So it’s best to install one at a time and create backups when you’re solely working at installing and trying out different plugins.

Also, never use a new (recently published) plugin. As there could be a big security loophole. 

You want to make sure you’re using plugins that are previously downloaded by thousands of people at least. Or companies who have made other very successful plugins.

For beginners, if you start to manage a new site then don’t ever remove any plugins right away if you’ve not made the site or unsure of it’s impact on the site’s functionality. 

If there’s a plugin installed by the developer, chances are that’s there for a reason. So get in touch with him/her to discuss the need for it. 

As a general rule of thumb, keep the plugins under 20-30 at maximum.

Step 5: Image Optimization

Why do my WordPress sites load so slow?

The number one reason why most sites load slowly is unoptimized images.

So maybe you have uploaded a few pictures, shots from your DSLR. Maybe just normal stock photography images for that matter. Most times, these images are file-size heavy and must be optimized.

How do you know if an image is optimized?

Rule of thumb, no image is optimized until you do it. There’s a science of image optimization. But here’s how you can best optimize the file size of any image.

My all-time favorite image optimizer is TinyPNG. However, I’d recommend these free image optimizing solutions as well.

You can upload your image to any of these platforms below and it optimizes the image in no time.

So which images should you definitely be optimizing?

You should optimize the main website header images. The ones you use in sliders if you have any. Or otherwise for the biggest resolution and file-size heavy images, such as featured images of your website.

Imagine, if you have a blog that you post to weekly, bi-weekly or maybe daily. Maybe you have a photo-focused blog.

Wouldn’t it be quite a hassle to optimize each image? 

Yes, it will take a toll on your health. Trust me, you’ll even lose motivation for blogging!

So don’t do that for optimizing each image. 

Rather install one of these WordPress plugins to let it auto-optimize the image for you each time you upload any. 

All of these are FREE, popular and does the job well. Personal favorite? Smush.

Their image compression is just amazing! No quality loss yet a whopping decrease in file size.

That’s pretty much it. Just do this and measure the site speed again via the discussed tools. You will see a vast improvement, especially if you use many images.

Just be sure to use either JPEG or PNG as your image format. You shouldn’t be using TIFF or other formats.

Step 6: Turn On Caching

What’s the single-most-important speed optimization technique for sites?

Caching. You will be thrilled to see the difference as you apply “caching” to your site.

So what’s website caching?

There are two types of caching. One is browser caching and the other is server caching.

Each website has a bunch of support files attached to it. Be it Javascript, font files, supporting style sheets, etc. So whenever you load a website, browser caching stores these resources (files).

Luckily, when you load the website for the second time. You will have all these supporting files cached. So all the browser has to do is load new content. 

This will quadruple the speed for second-time page loads!

Whereas server caching stores versions of a webpage. In easy language, the server knows the kind of request you’re making.

The server stores the results of these requests. Next time when the same request is made from anywhere in the world. The server instead of processing the request serves the ready-made page.

That makes server caching pretty attractive.

How to Turn On Caching for a WordPress website?

Thankfully, you can turn the caching on without being technical at all. Just like you turn the lights on without knowing a thing about how electricity works.

WordPress caching plugins work the same way and are the best ways to add a caching mechanism to the WP site.

So what are the best WordPress caching plugins?

These are FREE and by far the best I’ve used. 

Personal favorite? WP Fastest Cache. Simple and always deliver results.

To enable the caching, just checkbox the Enable option like so. You can easily access plugin options from the left sidebar.

Now reload the site and do a few tests to measure site speed. You will certainly notice the difference.

Step 7: G-Zip Compression

What’s G-Zip Compression?

In layman language, it takes your data (the HTML, CSS, JS files, etc) and makes it smaller by encoding it in a compressed format.

What’s the benefit of using G-zip?

It makes your website load faster. You will see a notable difference. 

Every step down the lane, every step adds up in decreasing the load time. 

So it’s great that we’re making progress!

How to Turn on G-zip Compression?

Fortunately, most caching plugins have a G-zip Compression option. You just have to enable it. 

Plugins such as WP Total Cache comes gzip compression enabled by default.

That’s it, you’re done. Measure the results and see the difference. 

Step 8: Minify Javascript and CSS Files

What does the minification of JS, CSS, HTML files mean?

We as humans, need white space, code comments, block delimiters, line breaks, and indentation to best make sense of code. Computers don’t need all of that. 

Computers can read all of that code even if it’s condensed in one line. Such code minification refers to code compression to a few lines. It helps computers to read code faster and provide faster results.

Fortunately, you don’t have to do much for file minification as well. The caching plugins provide an option for file minification.

A word of caution, file minification at times (approx 5% chance) make other features of the website to break.

It breaks because there could be other plugins, each of them has their way of managing things. 

So you must know the minifying code could clash and make a few features to break.

If it does break, don’t minify. Or try another plugin to perform minification and see if that works out. If nothing works, don’t minify.

You will still be load your website faster than the rest of 90% websites!

Step 9: Database Optimization

So this is often an overlooked step. Maybe because not every one of us understands what it is.

So what exactly is Database Optimization in WordPress?

The database is where all the posts, categories, comments, and other WordPress details are stored. There are post revisions, drafts, trashed comments, and so many “unimportant” details. Details that soak up the processing power and eventually slow the overall load-time.

Database Optimization lets you optimize all these things. 

The good news, you don’t have to know a thing. Just download the WP-Optimize plugin and it will automatically optimize everything for you.

Just know WP-Optimize will delete the post revisions too by default. So change the settings if you would like to keep post revisions.

To optimize the discussed options above, just select the optimization options and click “Run all selected optimizations”.

The good thing is it can automatically optimize the database weekly. You won’t have to click even a button!

Step 10: Hotlinking Prevention

Ever heard of content leeching? 


Well, no problem. Let’s quickly understand it.

Whatever resource (image, HTML or any other files) you keep on your hosting server. It has an address, an address that you can reach via the browser.

Whenever you load any resource, it takes a certain bandwidth (maximum data transfer rate) from your server. Hosting companies provide limited bandwidth, by the way.

So let’s assume the bandwidth allows for 100,000 people to view the resource every day. 

Suppose if the resource is an image. And if someone uses the same URL to display that image on their website. Then they are loading that image from your server.

That’s hotlinking. That’s leeching. 

So what the evident disadvantage of hotlinking?

Well, imagine if 10 people or websites use your 1 resource (image, lets’ say) and each site receives 10,000 hits/views per day. 

In total, they are 100,000 people who consumed your complete bandwidth. 

So your hosting bandwidth was compromised for helping other websites, to serve valuable content for their benefit.

What can you do to save from hotlinking?

Adding this code to the .htaccess file, with one change. To replace the “goodblogging.com” to your website address.

 If you have iThemes Security plugin, you can edit the .htaccess using it if you’re a non-technical person.

#Hotlinking Prevention
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?goodblogging.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ – [NC,F,L]

Congratulations! Now no one would be able to cash on your hard-earned bandwidth!

Step 11: Use of a CDN

What’s a Content Delivery Network, anyways?

It’s also known as a Content Distribution Network, which is a system of distributed servers. It has these advanced computers (datacenters) worldwide.

A CDN delivers your website content (resources, pages, etc) to a user from the nearby server.

 Based on the geographic location of the user accessing the website, the CDN will serve the resources from the nearest server location. 

Thus making the site load much faster for users!

How to Setup CDN with WordPress?

Super simple. Just choose any good CDN company and install the relevant CDN plugin for WordPress.

For example, caching plugin we discussed such as WP Super Cache and a few others lets you add a CDN URL too.

It’s easy. The difficult part is finding good quality and affordable CDN.

I recommend Cloudflare as the best free CDN option.

But if you can afford $9 a month, MaxCDN is a very promising CDN. You will get the best value for money. Period.

Alright, we are almost there. Let’s correct a few more things and we’re done!

Step 12: Reducing HTTPS Requests

So why do people recommend not to use too many WordPress plugins?

Apart from security concerns, each additional plugin adds to the number of HTTPs requests to the server.

The more the requests, the higher the number of times it takes to answer them.

Just perform a quick speed test, see which of the HTTP requests can you avoid and simply disable scripts you do not use.

If you aren’t using 15+ plugins, you can skip this step.

This step could be time-consuming and may require a bit of technical knowledge to disable requests. 

Step 13: Add Expired Header

There’s an expiry date attached to every resource. Every image, javascript or even HTML file has an expiry attached to it.

The expiry triggers the browser to re-fetch the static content on the expiry date.

So it’s best to have a long, far away expiry date. It will save a massive amount of time for users to not reload the static (same) resources now and then.

Here’s the code you need to add to .htaccess file to enable expired headers.

#Header Expiry
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000

The numbers are set in seconds, currently set to monthly expiry.

Step 14: Lazy Load Images

So what’s Lazy Loading an Image?

The ability to pause loading the images until the user visits the website and scrolls through the images. 

A placeholder with the same image dimensions is served instead. It’s an empty box. 

How does Lazy Loading help with Page Speed?

Well, you make fewer requests. Since you do not load images, the server responds much faster. 

So the page loads quickly and the rest of the resources (images) are loaded as requested (by scrolling).

However, it’s a preference. So if you use only a few images in your blog posts. You might not want to use Lazy Loading. 

It’s best if you have a photo-intensive website consuming a couple of dozen requests.

Step 16: Understanding Jetpack 

Jetpack is a good security and speed enhancement tool; only if you know how to use it wisely. 

Everyone knows of Jetpack because it’s now part and parcel of WordPress in the shape of a plugin.

For example, you may be trying a Lazy Load plugin while enabling the Photon feature of the Jetpack. 

The next moment, you will see all your pictures disappear. Your pictures might never load. All such weird thing with pictures is usually because of Jetpack and that eventually cause speed issues and too many confusions. 

I’ve been a victim. So I know it was heart-breaking! 

Rule of thumb, whenever you are playing around with plugins. If something doesn’t quite work the way it should. 

Disable Jetpack, delete cache and check again!

Step 17: Homepage Hustle

Everyone who lands at your website at any page usually has a look at your homepage. 

If you have a following and built a tribe, those people will come to your homepage as well.

So here are a few things you can do to further optimize your homepage.

  • Don’t share full-length posts at the homepage, rather just the excerpts.
  • Only show a few posts, maybe your 5-10 pillar posts.
  • Keep your homepage clutter-free, so readers only make a few decisions to read your best content.
  • Have whitespace to make it look clean and concise.

Whenever in doubt, think of Google. They offer a ton of products. But only have a minimal search box at their homepage.

So wisely choose what do you want to draw their attention to. Remember, less is more!

Having said that, every niche is different. So always keep an eye over bounce rates, homepage traffic stats and conversions using Google Analytics.

Step 18: Back Up Again

Ones you feel confident with the massive speed improvements. It’s time to backup your site again.

By the way, investing in a good WordPress backup system will save you from a lot of trouble. Especially, if you’re new to blogging and do not know much code.

So if you’re unsure of which backup solution to use.

I’d recommend Total Upkeep backup plugin as a free solution. UpDraft is equally good too.

Step 19: Go Mobile

Most of the time, we only check the website load times over desktops and laptops. 

You must check it using smartphones too. Don’t just rely upon the site speed estimates provided by tools.

Rather browse the site using your smartphones and possibly a few different internet connections.

Step 20: Use Chrome / Firefox Browser Extensions

You must learn to use new techniques to solve problems. I am a big believer in growth and being creative to learn new ways of doing things.

Let’s learn of a great another way we can measure our website loading speed.

Here’s a list of amazing browser extensions that share all the speed analysis we get with Step 1 and more!

So imagine clicking a button would instantly share the speed stats for that particular page.

Do good, have good.

Get Access to Premium Resources for FREE

Follow my blog with Bloglovin

Leave a Comment

Your email address will not be published.