In this guide, I will show you simple steps that you can take to speed up WordPress site loading time.

Are your WordPress blog posts very slow to load? Are you wondering how to make your site load faster?

Let’s see how you can speed up WordPress.

Speed up WordPress site: The checklist

The “back” button on a browser is your enemy. You only have a few seconds to hook a visitor and get him or her to stay away from the “back” button. You better make each second count.

53% of mobile visitors abandon a website that takes more than 3 seconds to load according to Google while the average mobile site takes 19 seconds to load.

Page loading time is also one of the ranking factors Google uses to determine which content will show on top of their search results.

Let’s look at the WordPress speed optimization checklist first before getting into details on how to speed up WordPress:

Speed up WordPress checklist

Take the WordPress speed test to see why your blog is slow to load

The best starting point to speed up WordPress is to check your current loading time and performance. Run the WordPress speed tests at sites below to see how fast or how slow your content loads right now.

These tools analyze the performance of your site, and provide useful advice on things you can do to optimize the loading time:

Now you have an overview of the current performance of your WordPress site.

Loading time and the total score are not the only metrics to keep an eye on. Page size and the number of requests are key metrics that determine the speed of your site.

These file requests are anything from imagery you use, fonts you use, analytics scripts or JavaScript files. In the Pingdom report, look at:

  • Which file requests are there on your site?
  • What is the size of these files?
  • What is the purpose of these files?
  • Can you live without them?

Any load time below 3 seconds and total page size below 1 megabyte is excellent in my book.

If your WordPress site and posts take longer than that, you should go through the steps below to reduce page load time.

Speeding up your blog will not only be more friendly to your visitors but you will also practice more ethical marketing and web development by reducing the number of external calls and tracking.

How to speed up a WordPress site

Here’s a list of all the WordPress speed boosting advice. I’ve ranked the advice by importance.

If you take these steps, you will notice that your blog posts are faster to load.

You can even have a speedy blog on a shared hosting account without needing to pay much for a dedicated server.

Here are some things I’ve done to speed up my WordPress blog:

  • Changed to a WordPress theme that makes fewer or no external calls by default.
  • Removed the default social sharing buttons. I now displays these without having any calls to the servers of Facebook et al.
  • Removed the Google Analytics integration. There are no analytics trackers here and I do not know if you’re reading my blog.
  • Removed the Google font integration too displaying my content with a font that is available on your system.
  • Using my own self-hosted images that I’ve taken on my travels without relying on any third party image provider. They have all been compressed and optimized too.
  • I don’t use any of the intrusive pop-ups, pop-overs, calls-to-action, sliding banners and such that you see on Medium and other big sites.
  • Implemented lazy loading on images and videos which means that they do not load unless you scroll down to those areas.

All this gives AMP-like performance and speed without using Google AMP. No need for centralized efforts such as Google’s AMP to have a speedy WordPress site if you do this too.

Use a light, fast, clean and minimal design theme

All WordPress themes are not equal:

  • Some have more features than you will ever need
  • Some have bad, bloated or old code
  • Most have unnecessary images, external fonts and JavaScript files

You should choose a light and clean coded design theme with a good balance between the looks, functionality and speed.

The theme should also be mobile responsive and optimized for visitors on tablets and mobile devices.

One option is to go with a premium theme. Premium themes are highly likely to be developed clean coded. They offer you great flexibility, are speedy out of the box, and allow you to customize your design.

Premium themes also provide support and are continuously upgraded and improved. This is not always the case with the free-to-use WordPress themes.

I’ve handpicked these free, minimalist, lightweight and mobile responsive options for you to consider:

Activate any of these WordPress themes and do the site speed test again. Look at the site weight and on the number of files requests.

Here’s all my advice on how to design a blog.

Compress and resize your images

High-resolution images are an integral part of web content. They brand your site, and they keep your visitors interested in your posts.

The size of these images is huge and can dramatically impact the loading time. First-time visitors are impatient and won’t wait around for your large images to load.

Your photos should be big enough to make an impact, but not so large that the file size prevents a quick page loading time.

In your speed tests, you might get the suggestion to “optimize images”.

When saving the image make sure to resize the picture to the exact dimensions that you need in your content to help keep the image size low. Aim for no more than 100-150kb per image.

PageSpeed Insights test actually gives you compressed versions of your images alongside your score.

Just click on the “Download optimized image, JavaScript, and CSS resources for this page” under “Desktop” and upload onto your site instead of the original files.

You can also use one of the image optimizer plugins or apps that “save for web”. From my experience, they can help you reduce the picture size by 30+% without compromising the image quality itself.

  • ImageOptim is a free, open-source desktop app that compresses images without losing quality. You have similar open-source solutions for Mac, Windows and Linux.
  • EWWW Image Optimizer plugin is a solution that compresses your images as you upload them into WordPress.
  • WP can help optimize your existing archive or images in a lossless way by stripping meta data and compressing.
  • Squoosh is an image optimization tool made by Google and it works directly in the browser.

Add lazy loading to images and videos

If you have an image or video heavy site like a fashion blog (I have a guide on how to start a fashion blog) or a YouTube blog you should consider using a lazy loading plugin.

Lazy loading only loads images and videos that are in the browser’s view (i.e. above the fold). It loads the rest only as the visitor scrolls down the page.

It makes your page size lighter and reduces the number of calls by default.

BJ Lazy Load is the most popular lazy loading plugin. I personally prefer Lazy Load By WP Rocket as it doesn’t use any JavaScript.

Jetpack plugin comes with lazy loading feature too. Under “Performance & speed” within Jetpack settings, you should select “enable lazy loading for images”.

Activate a caching plugin

“Leverage browser caching” is one of the tips you get in the WordPress speed testing tools.

To do that you can install and activate a caching plugin and you will immediately see an improvement in your speed.

Caching plugins speed up WordPress by generating static files and serve those files to your visitors instead of the dynamic files as WordPress does by default. “Dynamic” means that they are refreshed every time they are viewed.

Most of the good web hosts use one or another type of caching so you might not need this but if you do need there are many plugin alternatives.

I recommend Cache Enabler as it is simple to use and it works out of the box. Just activate it and do another speed test.

Do also make sure to test your blog design when you enable these options and see if it displays the way it is supposed to.

Activate a minify plugin to minify CSS, HTML and JavaScript

Another tip you might have seen in the speed test tools is to minify CSS files, HTML and JavaScript.

Minification reduces the size of your resources by removing unnecessary or redundant data and characters without affecting the functionality.

Autoptimize plugin is a great minification solution. Activate it and tick to optimize HTML, JavaScript and CSS code.

In the “Extra” tab, tick to “remove query strings from static resources”.

You can also manually minify the files that were flagged and upload them to your server. Use the open-source tool Minifier to minify files.

Enable compression

This is the code you should insert at the end of your .htaccess file in case you see the suggestion to “enable compression” in your speed tests.

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent

If you don’t want to deal with FTP, simply install the Yoast SEO plugin which gives you the ability to edit the .htaccess file from your dashboard.

Leverage browser caching

This is the code to insert at the end of your .htaccess file in case you see the suggestion to “leverage browser caching” in your speed tests.

<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 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"

After doing this you might still get the suggestion to leverage browser caching for your external scripts and http requests such as Google Analytics.

External scripts are something you cannot control but there is a plugin called CAOS that helps you fix this for Google Analytics script.

Eliminate render-blocking JavaScript and CSS in above-the-fold content

Insert this code in your theme’s functions.php file to eliminate render-blocking JavaScript and CSS in above-the-fold content.

/*function to add async to all scripts*/
function js_async_attr($tag){

 # Add async to all remaining scripts
 return str_replace( ' src', ' async="async" src', $tag );
add_filter( 'script_loader_tag', 'js_async_attr', 10 );

Disable unnecessary WordPress elements

WordPress is very extendable and advanced so there will be elements of your blog that you don’t really use and have a need for.

These are elements such as emojis, pingbacks, trackbacks and many more. Your theme may add extra elements too such as Google fonts and icons.

Autoptimize from above can help you with some of these in the “Extra” tab but WP-Disable plugin is more feature rich and can help you remove any of these elements to speed up your loading time.

Optimize the WordPress database

You should make sure to optimize the WordPress database too. This is where WordPress stores and organizes all your data.

WP-Optimize is a great plugin that helps you run regular database maintenance without any tech know-how and with one click on a button.

It cleans all post revisions, spam comments and reduces the size of your database.

Aim to set it to do this process automatically at least once per month.

Keep your WordPress updated

Great looking design, stunning imagery and valuable content are essential elements of a successful blog. And WordPress helps you take care of these which is why it is one of the best blog sites.

See my comparison guide on Blogger vs WordPress for more details. Explore also my comparison between Squarespace or WordPress. I have also explained the details between Wix or WordPress.

WordPress gets regularly updated with cleaner and leaner coding and functionality.

You should always make sure to keep your WordPress updated to the latest version. It’s an easy process that is automated with most hosting companies.

Choose a good web host

In some of the speed test tools above, you might have noticed the tip to “reduce server response time”. This one is totally down to the hosting company and server that you use.

Invest in a good web space and the right hosting plan. Your server is the foundation and the first step to speed up WordPress. Free hosts are usually not too fast, unreliable with regular downtime, so I would avoid them.

You want a host that is reliable and guarantees at least a 99% uptime and a server that has a fast response time. Look for web hosts with managed WordPress hosting services.

You can get these for around $50 per year for basic WordPress sites and they are great options for starters. See my post on how to make a blog with WordPress for the recommended hosting services.

As long as you keep your blog light and lean, you will still get fast loading time even on a shared hosting account.

Eventually, as your traffic increases, you may outgrow the basic shared hosting account. Only then you may need to invest in a dedicated server, but here we talk of thousands of visitors daily.

Monitor your server uptime/downtime

Keep an eye on the uptime of your web server. Uptime basically tells you what percentage of time your site is up and available for visitors.

The more reliable your webhost is, the more uptime you will have and your downtime will be minimal if any at all.

WordPress runs Jetpack plugin which allows you to activate a “Monitor” add-on that constantly checks your server and notifies you in the case of a downtime.

Use a CDN

You also have the option to enable CDN (Content Delivery Network) support to offload static files to fast data centers around the world.

It might be too much power for a newbie, but it’s useful to more established and bigger sites that have more traffic and are OK with investing some money to speed up WordPress.

WordPress is here to help. Site Accelerator, a part of the Jetpack plugin that Automattic (the company behind WordPress) runs, can speed up both your statics file load times and your image load times. Here’s how:

  • Install and activate the Jetpack plugin in the Plugins section of your WordPress admin
  • In the left-hand side menu click on Jetpack and choose “Settings”
  • In “Performance & speed” turn on “Enable site accelerator” and choose to “speed up image load times” and “speed up static file load times”.

CloudFlare is a another free option that you can try.

Just keep it simple, stupid

In order to keep your WordPress speed as fast as possible think like a minimalist. Consider simplicity and user friendliness when making any design and content decision.

This will help your user’s experience and it will decrease the loading time and the bounce rate too.

  • Remove and eliminate all the elements that don’t matter such as unnecessary images, buttons, widgets, fly-in banners, flashy ads, pop-ups, analytics, fonts and scripts. Think about what purpose these elements have and test how they affect the speed.
  • Do you actually need that external Google font? Do you actually get value from the Google Analytics tracking installed on your blog and the blogging stats you get? Consider each and every element.
  • Show fewer posts on your front page and category pages. You can do this in the “Reading” part of WordPress settings. Show post excerpts and summaries instead of full posts on the front page and category pages. Many themes allow this change to be done.
  • Simplify your navigation menu, sidebar and footer. Only keep necessary and essential widgets. Or simply remove the sidebar.
  • Restrict the amount of flash and image based banner ads. There are more effective options to monetize your content such as affiliate marketing.
  • Make sure to take the steps to fight and eliminate those spam comments. Spam comments (and the comments area in general) can slow down the loading time.

Do WordPress plugins slow down your site?

The answer is yes, they can do.

I love WordPress plugins as they allow me to add any feature that I can imagine. The potential issue is that the more plugins you add, the more CSS and Javascripts you have and this hurts the page loading speed.

You should try to avoid using a plugin when a bit of modification to your theme will get you the same results.

I’m currently using only a handful of plugins, down from having some 25+ not too long ago. A ballpark figure is to try to keep your WordPress to 10 or fewer plugins activated at any time.

You should only use plugins that are listed in the official WordPress directory. Quality signs to look for are:

  • High number of downloads and sites using the plugin
  • Regular and recent updates
  • Good reviews

Check the speed impact of WordPress plugins that you use

Consider whether the plugin truly adds any value to your site before installing it.

Measure the impact each plugin has on the loading time. There’s a plugin for that: P3 Plugin Performance Profiler.

You can also use any of the speed test sites from above and compare your performance before and after the plugin.

Keep an eye on the extra page weight and number of requests that the plugin has added.

After analyzing the site speed, you should consider removing any of the plugins that slow you down.

Alternatively, you can consider more “light” options that can replace the feature of a plugin that slows you down.

You may identify your social media sharing buttons plugin as one of the plugins that slow you down. This is very common as those buttons with share counters can be the enemies of speed.

Consider using a lightweight option like Social Sharing By Danny instead of the official buttons. These use external scripts and make too many calls to services.

Deactivate and remove P3 when you have finished testing. Always deactivate and delete any plugins that you do not use.

Use Google’s Accelerated Mobile Pages

Accelerated Mobile Pages (AMP) is an open-source initiative from Google. It optimizes your content for mobile devices and helps it load instantly when visited from the search engines. Here are more details from Google:

Speed matters and instant is the ideal. Research shows that the bounce rate can be as high as 58% for web pages that take nearly ten seconds to load. Using the AMP format will make it far more compelling for people to consume and engage with more content. But this isn’t just about speed and performance. We also want to promote enhanced distribution so that publishers can take advantage of the open web’s potential for their content to appear everywhere quickly – across all platforms and apps – which can lead to more revenue via ads and subscriptions.

There’s the official WordPress plugin for Google’s Accelerated Mobile Pages (AMP) project. Just install and activate the plugin to have your content AMP-ready.

But again, in case you’ve reduced your page weight and the number of elements down to a minimum your blog will already be performing AMP-like even without the AMP.

Your preference should be to keep your site minimal and light without the use of additional technology such as AMP or CDN.

Aim to implement the majority of the steps recommended as they will make a difference and will help you speed up WordPress website.

Get speedy as your visitors will love you for the faster and more efficient experience and so will Google.

Published by Marko Saric

I created my first site about my favorite band Metallica as a teenager. It got me hooked into content publishing and audience growth. My goal is to help you on this creative blogging journey. See more about me