How To Speed Up A WordPress Site

by

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

Are your WordPress blog posts very slow to load? Are you wondering how to make your website load faster? You are in the right place.


How To Speed Up A WordPress Site

Why WordPress site loading speed is essential

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.

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 a better blogging platform than alternatives.

These elements help you convince a first-time visitor that your blog is worth their time. None of this matters if your content is impossible to reach or very slow to load.

53% of mobile visitors abandon a website that takes more than 3 seconds to load according to a Google study 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.

See: WordPress SEO: How To Rank Your Blog Content On Google.

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.

WordPress speed optimization: The checklist

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

Speed up WordPress checklist

How to speed up a WordPress site

Here’s a list of all the 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.

Let’s get started.

Use a light, fast, clean and minimal design theme

Some WordPress design themes have more features than you will ever need, some have bad and bloated code, 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.

WordPress Gutenberg editor can also help you so you don’t need a fancy theme or many plugins to create beautiful content.

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 and do the speed test again. Look at the site weight and on the number of files requests.

Here’s all my advice on picking the right WordPress design.

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? 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.
  • Make sure to take these steps to fight and eliminate those spam comments. Spam comments (and the comments area in general) can slow down the loading time.
  • Last but not least do follow this advice to keep your WordPress safe and secure.

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 two plugins (one for combining files and the other for SEO), down from having some 20+ not too long ago. A ballpark figure is to try to keep your WordPress to 5 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 here a list of 50+ of best plugins that I recommend.

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

P3 might, for example, 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.

Reduce the image size before uploading

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 from earlier actually gives you compressed 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 Smush.it can help optimize your existing archive or images in a lossless way by stripping meta data and compressing.

Add lazy loading to images and videos

If you have an image or video heavy site like a fashion blog or a food blog you should consider using BJ Lazy Load 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.

Activate these WordPress site speed optimization plugins

This part is a bit more tech heavy but is arguably the fastest and most effective way of speeding up your WordPress page loading time.

The best caching plugin

“Leverage browser caching” is one of the tips in the speed test 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 hosts use one or another type of caching so you might not need this but if you here’s a plugin for you.

I use W3 Total Cache on several of my projects, and it’s a very powerful and advanced plugin that does a great job. The plugin was created by Frederick Townes, the senior technical advisor of Mashable and they use it too.

It can be a bit overwhelming the first time you look at it because of all the different options. Activating it with the default settings on will be fine for the majority of bloggers, though.

In “Performance” -> “General Settings” make sure all of the below are enabled:

  • Page Cache to create a static version of your site and serve it to your visitors. Choose “Disk: Enhanced” as page cache method
  • Minify to remove unnecessary characters in your files. It also consolidates CSS and JavaScript files to reduce the size and the number of files needed to be downloaded
  • Database Cache, Object Cache and Browser Cache to cache the static files and do gzip compression

Most of the above will impact your theme files. Do make sure to test your blog design when you enable these options and see if it displays the way it is supposed to.

The best 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/vnd.ms-fontobject
  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
</IfModule>

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.

Then check the GZIP compression test here to see how much you have saved.

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

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

WordPress comes as a very light and speedy platform out of the box. It 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 can be 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 get a blog started 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. If you haven’t reduced your site to only the necessary elements, this may be of value to you.

MaxCDN is the very powerful premium CDN solution.

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. CloudFlare is a free alternative that you can test.

Another free alternative for your imagery is Photon which is a part of the Jetpack plugin that Automattic (the company behind WordPress) runs.

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.