WooCommerce Speed Optimization: 24 Ways To Make Your Slow Website, Store, And Product Pages Load Fast (2020 Updated Guide)

WooCommerce Speed Optimization

Have a slow WooCommerce site?

I’ll show you how to make it faster by fixing items in GTmetrix/Pingdom (the same tips I used to get 100% GTmetrix scores). I’ll also show you how to optimize WooCommerce cart fragments, styles, scripts, product images, databases, CDNs, and other tips shown in the table of contents.

Is my site WooCommerce? No. But my developer and I have made multiple WooCommerce sites to typically load 3x faster. And if you need help, you can hire him on freelancer.com for $40/hour. He has a perfect 5 star review, an extensive portfolio of websites he’s optimized. I’ve been working with him since 2011 (his name is Pronaya) and can’t recommend him enough.

Otherwise, follow this guide and feel free to post questions (or your results) in the comments.

How To Speed Up A Slow WooCommerce Store

  1. Disable Cart Fragments
  2. Disable WooCommerce Styles
  3. Disable WooCommerce Scripts
  4. Clear Customer Sessions
  5. Clear WooCommerce Transients
  6. Disable The WordPress Heartbeat API
  7. Use A Lightweight WooCommerce Theme
  8. Resize Product Images To Smaller Dimensions
  9. Don’t Use Too Many Extensions
  10. Use A Better Cache Plugin
  11. Avoid Resource-Hungry Plugins
  12. Delete Unused Themes + Deactivated Plugins
  13. Compress Images With ShortPixel
  14. Clean Your WooCommerce Database
  15. Clean Your WordPress Backend With Clearfy
  16. Block Bad Bots
  17. Upgrade To PHP 7.2
  18. Combine Google Fonts
  19. Setup Cloudflare’s Free CDN
  20. Pinpoint The Problem With Query Monitor
  21. Ignore Google PageSpeed Insights (Use GTmetrix)
  22. Check CPU Usage And Server Response Times
  23. Avoid EIG Hosting + GoDaddy
  24. Use Fast Hosting That Can Support WooCommerce

 

1. Disable Cart Fragments

The easiest way to disable WooCommerce cart fragments, scripts, and styles, is with Kinsta’s perfmatters plugin. It also lets you disable unused widgets (including WooCommerce widgets) to make the admin load faster and has other features like disabling the WooCommerce status metabox, disabling scripts on a page/post basis, limiting post revisions, autosaves, heartbeat control, and other things that can reduce CPU and make your WooCommerce site load faster. If you don’t want to pay $25/year, I listed alternative methods below (using code from Github).

perfmatters woocommerce optimization

By default, WooCommerce uses cart fragments which is used to update the shopping cart without refreshing the page. But this isn’t needed on your homepage (or other pages) and can be disabled for better performance. Otherwise, cart fragments will load on every single page.

What cart fragments will usually do to your GTmetrix/Pingdom report:

WooCommerce Cart Fragments

To disable cart fragments, add the code to your funtions.php file:

 

2. Disable WooCommerce Styles

WooCommerce loads 3 stylesheets on every page of your website. Since you probably don’t want these loading on every single page, you should disable them on non-eCommerce content.

  • woocommerce-layout.css
  • woocommerce-smallscreen.css
  • woocommerce.css

WooCommerce styles in query monitor

Disable all WooCommerce stylesheets:

Disable specific stylesheets:

If you disabled specific stylesheets, you will need to add your own:

Another alternative is to only load the CSS styles and Javascripts on WooCommerce product and shop pages, by dequeuing them on all of your other pages. Here is the code from Github:

 

3. Disable WooCommerce Scripts

WooCommerce also causes lots of scripts:

WooCommerce Scripts

The solution below only loads WooCommerce scripts on the shop, checkout, and cart pages.

Add this to your functions.php:

If that doesn’t work, there are a few alternative solutions on Github people had success with.

perfmatters also lets you disable scripts on specific pages. For example, I don’t need my rich snippet or Thirsty Affiliates plugin loading on my homepage, so I disabled it. Selectively disabling scripts/plugins to load on specific pages can reduce load times.

perfmatters script manager

 

4. Clear Customer Sessions

In your WooCommerce Status settings, clear customer sessions:

Clear Customer Sessions

 

5. Clear WooCommerce Transients

In your WooCommerce Status settings, delete all transients:

Delete WooCommerce Transients

 

6. Disable The WordPress Heartbeat API

The WordPress heartbeat API shows you real-time plugin notifications, and when other users are editing a post. This generates a request every 15-60 seconds and will drain CPU, so it’s best to use a plugin like Heartbeat Control plugin to disable it, or at least limit it to 60 seconds.

Heartbeat-Control-Plugin

If using WP Rocket, they also have an option for this:

WP-Rocket-Heartbeat-Control

 

7. Use A Lightweight WooCommerce Theme

I always recommend StudioPress themes which are also recommended by Matt Cutts and even Matt Mullenweg. Many themes, including Avada, are bloated with unnecessary features, and some themes may not be coded or maintained well. StudioPress is supported by a reliable team (recently acquired by WP Engine) with documentation, frequent updates, support, and coded with speed, SEO, and security in mind. I use their Outreach Pro theme and am loving it.

StudioPress eCommerce themes

Themes I recommend from ThemeForest:

Slow WooCommerce theme

 

8. Resize Product Images To Smaller Dimensions

This is what serve scaled images means in GTmetrix.

GTmetrix tells you which images are too large, and the correct dimensions they should be resized to. Save the image from GTmetrix, resize it to the correct dimensions, and replace the old image with the new one. Do this with all oversized images on your WooCommerce site.

I suggest starting with images that appear on multiple pages (eg. logo + sidebar images) then working your way through individual pages, since GTmetrix only shows image errors for the single page you test. I also recommend creating an “image cheat sheet” as I’ll explain below.

Serve Scaled Images

Create a cheat sheet for your most commonly used images:

  • Slider images: 1903(w) x 400(h)
  • Carousel images: 115(h)
  • Widget images: 414(w)
  • Fullwidth blog post images: 680(w)
  • Featured images: 250(w) x 250(h)

 

9. Don’t Use Too Many Extensions

Just like plugins, too many WooCommerce extensions will make your website slow:

WooCommerce Extensions

 

10. Use A Better Cache Plugin

There are 3 factors when it comes to cache plugins:

  • If you’re using a cache plugin
  • Which cache plugin you’re using
  • Whether you’ve configured the optimal settings

For free, I recommend either Swift Performance or WP Fastest Cache. But if you’re willing to drop $49, WP Rocket was rated #1 in most Facebook polls. That’s because it comes with a ton of features most cache plugins don’t, in which case you would need about 6 additional plugins:

  • Database cleanup (built-in to WP Rocket, or use WP-Optimize)
  • Heartbeat control (built-in to WP Rocket, or use Heartbeat Control)
  • Lazy load images/videos (built-in to WP Rocket, or use WP YouTube Lyte)
  • Host Google Analytics locally (built-in to WP Rocket, or use CAOS For Analytics)
  • Host Google Fonts locally (built-in to WP Rocket, or use CAOS For Fonts, or SHGF)
  • Integration with Cloudflare + other CDNs (built-in to WP Rocket, or use CDN Enabler)

2016 best cache plugin poll

2019 cache plugin poll

Swift vs WP Rocket

2016 cache plugin poll

Best cache plugins 2018 poll

wp rocket vs w3 totla cache

Cache Plugin Tutorials:

 

11. Avoid Resource-Hungry Plugins

These are the most common plugins that drain CPU, but there’s a full list of them.

High CPU plugins usually include social share, statistic, calendar, page builders, chat, and plugins that run ongoing scans/processes or appear multiple times in GTmetrix.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. All-In-One Event Calendar
  4. Backup Buddy
  5. Beaver Builder
  6. Better WordPress Google XML Sitemaps
  7. Broken Link checker (use Dr. Link Check)
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. Contextual Related Posts
  11. Digi Auto Links
  12. Disqus Comment System
  13. Divi Builder
  14. Essential Grid
  15. View Full List Of 65 Slow Plugins

You can also find slow loading plugins in your GTmetrix Waterfall chart. If they appear multiple times, take a long time to load, or generate multiples requests, you will know something’s up.

Slow WordPress Plugin

Or use Query Monitor (check the “queries by components” tab):

Query Monitor Slow Plugins

You don’t need that many plugins!

Too many WooCommerce plugins

 

12. Delete Unused Themes + Deactivated Plugins

All themes and plugins you don’t used should be deleted. Deactivated plugins and unused themes store settings in your database and are unnecessary. If you’re not using it, delete it!

Delete-Unused-WordPress-Themes

 

13. Compress Images With ShortPixel

This is what optimize images means in GTmetrix.

I use ShortPixel which is what one of the most popular image optimization plugins, with Imagify, Kraken, and Smush also being popular. All these plugins do the same thing – compress images, strip EXIF data, and optionally resize images that are too large. Once you’ve configured the settings, compress a few images in the Media section. If you’re happy with the quality, bulk compress all images on your site. Though, I would still take a backup just in case.

ShortPixel Settings

Check out my full guide to optimizing images in WordPress for more tips.

Image Optimizations In GTmetrix

  • Serve scaled images: resize large images to correct dimensions
  • Specify image dimensions: specify a width/height in the image’s HTML or CSS
  • Optimize images – losslessly compress images
  • Combing images using CSS sprites – combine multiple images into 1 image
  • Avoid URL redirects – don’t serve images from wrong www or http(s) version
  • Use a content delivery network – serve images/files from a CDN
  • Leverage browser caching –  cache images/files using your cache plugin
  • Make favicon small and cacheable – use a 16x16px favicon and cache it

 

14. Clean Your WooCommerce Database

You can use WP-Optimize or WP Rocket to schedule a database cleanup every 1-2 weeks. This deletes garbage files like expired transients, spam comments, pingbacks, trackbacks, database tables, drafts, and the potentially thousands of post revisions that accumulate over time (that is, if you don’t use plugin like permatters to limit them). Always take a backup before doing it!

WP-Optimize plugin

WP-Optimize Clean Database

 

15. Clean Your WordPress Backend With Clearfy

There’s a lot of stuff built-in to WordPress you probably don’t need. Clearfy can help you clear it up. You can usually disable jQuery Migrate, RSD links, wlwmanifest link, shortlinks, post revisions, autosaves, heartbeat, dashicons, and many other options. WP Disable is good too.

Clearfy Performance Settings

Kinsta’s permatters plugin is similar, but comes with even more features:

perfmatters features

 

16. Block Bad Bots

Are bad bots crawling your site and consuming CPU? They were for me, a lot of them actually.

Step 1: Install Wordfence.

Wordfence Security Plugin

Step 2: View your live traffic report.

Live-Traffic-Report-Wordfence

Step 3: Find spam bots in your live traffic report (if the same bot is constantly hitting your site and looks suspicious, Google it’s hostname and see if other people reported it as spam).

Step 4: Block the spam bots.

Wordfence-Blocking-Rule

Wordfence itself can cause high CPU (but is good for seeing IF you have spam bots). I recommend blocking them using the Blackhole For Bad Bots plugin, or with Cloudflare firewall rules. Wordfence and Cloudflare have a log so you can see whether the bots are actually being blocked. If successful, you can uninstall Wordfence and use Cloudflare or the Blackhole plugin.

Blackhole for Bad Bots

Cloudflare Firewall Rule To Block Bad Bots

 

17. Upgrade To PHP 7.2

WooCommerce sites should always be running a fast PHP version (eg. PHP 7.2) which you can upgrade in your hosting account. Higher PHP versions make your site run much faster, even though most WordPress users run outdated PHP versions (since they don’t know how to do it).

WooCommerce PHP Benchmarks

WordPress PHP Stats

Check which PHP version you’re currently running in the Status section of WooCommerce:

WooCommerce PHP Version

Then upgrade to PHP 7+ in your hosting account:

PHP Upgrade

Some plugins are not always compatible with higher PHP versions (another reason you should be careful which plugins you use). Run the PHP Compatibility Checker to make sure your plugins are compatible. If they are, you can safely upgrade, but check your website for errors.

 

18. Combine Google Fonts

Google Fonts are external resources and will show up in your GTmetrix/Pingdom report:

Google Fonts Pingdom

Option 1: Install Autoptimize and use “Combine and link in head” option:

Autoptimize Combine Google Fonts

Option 2: Try the CAOS for WebFonts plugin:

CAOS-Fonts

Option 3: Download your fonts directly from Google Fonts (be selective with fonts and font weights), convert them to web fonts using Transfonter, then add them to your CSS manually.

Transfonter-Google-Font-Conversion

 

19. Setup Cloudflare’s Free CDN

There’s absolutely no reason you shouldn’t be using Cloudflare’s CDN.

It hosts your website on 200+ data centers across the world. This reduces the distance between your server and visitor, while offloading resources to their data centers (putting less stress on your origin server). Cloudflare is easy to setup – sign up for a free plan, run the scan, and they will assign you 2 namesevers which you will change in your hosting account. You can do other things with Cloudflare like enable hotlink protection, Rocket Loader, and utilize page rules to make your WooCommerce site even faster – all done in your Cloudflare dashboard.

Cloudflare-Data-Centers

Multiple CDNs = more data centers = faster delivery of your content. If you want to go the extra mile, use both Cloudflare and a CDN like StackPath (I use both). StackPath has 31 additional data centers. While Cloudflare requires you to change nameservers, StackPath (and other CDNs) will ask you for your website, then generate a CDN URL which you will paste into your cache plugin (most have an option for this), or you can also use the CDN Enabler plugin.

StackPath-Data-Centers

 

20. Pinpoint The Problem With Query Monitor

Query Monitor has a ton of information that can help you debug why your WooCommerce site is slow. It shows you slow loading queries, PHP errors, hooks and actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls, and more. Fixing items in Query Monitor may require some technical knowledge, but is worth hiring a developer who can fix the issues.

You can also use AWStats (commonly found in the “statistics” section of your hosting count which tells you which bots, images, files, and other elements that are consuming the most CPU.

 

21. Ignore Google PageSpeed Insights (Use GTmetrix)

If you join the WordPress Speed Up Facebook Group, or look at WP Rocket’s article, you’ll learn that Google PageSpeed Insights is not a great tool for measuring (or optimizing) your site – it doesn’t even measure load times! Pingdom is one of the most accurate tools for measuring load times, but for actual performance recommendations I (and most people) prefer GTmetrix.

When testing your WooCommerce site, always check your GTmetrix Waterfall chart to see which requests take longest to load (eg. WooCommerce cart fragments, specific plugins, etc).

The only thing Google PageSpeed Insights is good for is measuring server response times:

Reduce Server Response Time

 

22. Avoid EIG Hosting

The same company (EIG) owns over 60 different hosting companies. It is well-known in Facebook Groups that they pack too many people on the same server, use outdated PHP versions and speed technology, and don’t care about clients. Cheap hosting = cheap results.

  • Are you using an EIG brand (Bluehost, HostGator, Site5, iPage, HostMonster)?
  • Are you running your WooCommerce site on a $4/month hosting plan (eg. GoDaddy)?

Don’t expect a WooCommerce site to be fast on a cheap hosting plan, let alone have a decent server response, time to first byte, and enough CPU to compensate for lots of extra plugins. Generally, WooCommerce sites need a better hosting plan to compensate for more plugins, scripts, and CPU usage. And EIG, GoDaddy, and other low quality plans aren’t going to cut it.

List-Of-EIG-Brands

Bluehost-EIG-Feedback

 

23. Check CPU Usage And Server Response Times

Is your server slow? Run your site through Bitcatcha or PageSpeed Insights to see if it is. If you have high server response times or time to first byte, it has something to do with your hosting.

Bitcatcha Server Speed Report

Reduce-CPU-Usage-WordPress

GTmetrix-Time-To-First-Byte

 

24. Use Fast Hosting That Can Support WooCommerce

Join the WordPress Hosting and WordPress Speed Up Facebook Group to see what real, unbiased people are saying, since hosting is the #1 factor in the WordPress optimization guide.

I use SiteGround and have 200ms response times with 100% GTmetrix scores and .4s Pingdom load times. Do a hosting check, run your own tests, or click through my fast loading pages. They were rated the #1 host in 26 Facebook polls and are worlds better than EIG (Bluehost, HostGator), GoDaddy, and other hosts who pack too many people on the same server. There have been plenty of people who migrated and posted results on Facebook and Twitter. Tweet after tweet, post after post, poll after poll after poll, faster hosting will fix slow response times. They’re recommended by WordPress, do free migrations, and I use their semi-dedicated plan.

2019 Hosting Poll

2017-WordPress-Hosting-FB-Poll

Elementor Hosting Recommendations

July 2019 Hosting Recommendation

WordPress-Host-Poll-Aug-2018

Shared-Hosting-Poll-2017

2019-Hosting-Poll

Go-To-Hosting-Company

WordPress-Hosting-Poll-2017

Managed-Hosting-Poll

WooCommerce-Hosting-FB-Poll

2016-Web-Hosting-Poll

Best-WordPress-Hosting-Provider-Poll

Best-Web-Hosting-2019-Poll

WP Friendly Hosting Poll

2016-WordPress-Hosting-FB-Poll

Favorite Hosting For Elementor

2018 Hosting Recommendations

WordPress Hosting Poll Sept 2018.png

Managed-WordPress-Hosting-Poll-2017

2019-Hosts-Poll-1

Hosting-Poll-For-Speed

WordPress-Hosting-Poll-June-1

SiteGround-Recommendation

2014-Managed-WordPress-Hosting-FB-Poll

Best-Web-Hosting-Provider-Poll

Hosting-Poll-Feb-2019

Hosting-Recommendations-Poll

Bluehost vs SiteGround

WordPress Web Host Poll

People usually migrate because their speed technology can improve server response times by multiple seconds. Here are a few people who migrated to SiteGround and posted their results.

Switching To SiteGround

SiteGround Load Time Migration

Bluehost to SiteGround GTmetrix

HostGator To SiteGround

SiteGround GTmetrix

SiteGround Google PageSpeed Insights

100 Perfect Score On SiteGround

SiteGround Genesis

Speed Delivered By SiteGround

SiteGround GTmetrix Report

Reduced Load Times With SiteGround

New SiteGround Response Times

HostGator To SiteGround Migration

SiteGround Response Times On Joomla

Switched To SiteGround Hosting

SiteGround Rocket Imagify Combo

Joomla GTmetrix On SiteGround

SiteGround PageSpeed Insights

SiteGround On Joomla

SiteGround Reduced Load Times

SiteGround Speedy Hosting

New Pingdom Results On SiteGround

New SiteGround Response Time

SiteGround Response Time Improvement

Godaddy To SiteGround Migration

EIG-To-SiteGround

SiteGround-Migration

My GTmetrix report on their semi-dedicated GoGeek plan:

2019-GTmetrix-Report

OMM-On-SiteGround

I use SiteGround because…

  1. My GTmetrixPingdom reports speak for themselves
  2. My pages load instantly (click through them if you want)
  3. Fast speed technology (PHP 7.3, NGINX, SG Optimizer, Cloudflare)
  4. Recommended by Yoast, WordPress, Ivica from WordPress Speed Up
  5. Free Let’s Encrypt SSL, easy to use cPanel, and features for eCommerce
  6. WordPress support is unbeatable even without GoGeek’s priority support
  7. GrowBig comes with staging, more storage, and more server resources (scroll down to “we allocate the resources you need” and hover over the server tab)
  8. GoGeek comes with even more server resources, storage, priority support
  9. Free migrations, migrator plugin, and a 30-day money back guarantee
  10. Plenty of praise on Reddit, Facebook conversations, Twitter, TrustPilot
  11. Tons of praise on Facebook: #1, #2, #3, #4, #5, #6, #7#8, #9, #10#11
  12. Many people already migrated and posted results on Twitter: #1, #2, #3, #4, #5, #6#7, #8, #9, #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24, #25, #26, #27, #28, #29, #30, #31, #32, #33, #34, #35, #36, #37

Affiliate Disclaimer – if you sign up for SiteGround using my affiliate link I will donate a chunk of the commission at no expense to you. Each year I donate $3k to GoFundMe campaigns (2018 was to feed the hungry in Denver, and 2017 was Hurricane Harvey). Your support helps and I really do appreciate it. I try to make my reviews unbiased and backed by evidence in the form of Facebook polls, tweets, and real conversations. If you don’t want to use it, here’s a non-affiliate link to SiteGround. Either way I truly believe they’re the best host and that your site will run faster/smoother… do your research on Google and Facebook groups and you’ll find most people say the same.

SiteGround has 3 plans:

SiteGround-Plans

Higher plans include more server resources (#1 factor in the WordPress optimization guide). Here’s the full comparison chart, but GrowBig gives you about 2x more server resources than StartUp, and GoGeek is semi-dedicated hosting which gives you even more. GrowBig and up comes with a free migration, staging, advanced caching, and ability to host multiple websites. GoGeek comes with priority support. Their cloud hosting is quite the price jump at $80/month.

You can see this on their features page:

SiteGround-Server-Resources-Comparison

You can decide for yourself.

Favorite-Web-Host

 

Frequently Asked Questions

🚀 Why are WooCommerce sites slow?

WooCommerce are naturally slower because they have extra WooCommerce scripts, styles, and cart fragments. They also usually requires more plugins. That's why most WooCommerce sites have poor load times and scores in GTmetrix.

🚀 How do you optimize cart fragments?

You can use the Perfmatters plugins to optimize WooCommerce cart fragments, scripts, and styles.

🚀 What are the 5 most important speed factors?

Skip shared hosting all together and go with cloud hosting, upgrade to the latest PHP version, reduce and consolidate plugins, and optimize images + external fonts using plugins like ShortPixel and OMGF. Using a CDN and cleaning the database helps too.

🚀 How do you optimize product pages?

Optimizing images is the most important part of making individual product pages load faster. There are 3 main ways to optimize images in GTmetrix: serve scale images (resizing them to correct dimensions), compress images using a plugin like ShortPixel, and specify image dimensions in the HTML. Remove EXIF data and serve images from a CDN as well.

🚀 What if you're running lots of plugins?

If you are running lots of plugins, especially if they are not lightweight (see my list of slow plugins), you will need to make sure all other elements of your site are completely optimized and that you're using faster hosting to support the website's resource needs.

I hope this helped! Comment if you have questions.

Cheers,
Tom

How To Reduce CPU Usage In WordPress (And Avoid Getting Bandwidth Limit + CPU Errors Where Your Site Gets Shut Down)

I had serious issues with CPU overages on my WordPress site.

All this means is we need to reduce the amount of resources consumed by high CPU plugins, images, wp-cron, databases, external requests (usually generated by plugins), comment spam, and prevent spammy bots from crawling your website using the Blackhole For Bad Bots plugin.

We will also utilize Cloudflare’s CDN, remove bloat from the WordPress admin using Clearfy and Hide SEO Bloat, then test common settings in cache plugins that often consume high CPU.

When you’re done, hopefully your CPU graph looks like this:

Reduce-CPU-Usage-WordPress

By reducing CPU usage, you will be putting less stress on your server, making your site faster. Hosting companies want you to upgrade your plan which does work since you will be getting more server resources, but you should try these alternatives before reaching into your pocket.

If you’re using slow hosting like EIG or GoDaddy, I would seriously reconsider. I use SiteGround who is also used by Yoast, recommended by WordPress, and was #1 in 20+ Facebook polls. I’m on their semi-dedicated GoGeek plan and  not only are my server response times well under 200ms, but my GTmetrix report is pretty much unbeatable. They will also migrate you for free.

How To Reduce CPU Usage In WordPress

  1. Check CPU Usage In AWStats
  2. Eliminate High CPU Plugins
  3. Remove Bloat With Clearfy
  4. Disable WP-Cron
  5. Clean Your Database
  6. Upgrade To PHP 7+
  7. Offload Resources To CDNs
  8. Enable Hotlink Protection
  9. Block Bad Bots
  10. Optimize Images
  11. Common Fixes In WP Rocket
  12. Common Fixes In W3 Total Cache
  13. Configure Optimal Cache Plugin Settings
  14. Delete Unused Plugins + Themes
  15. Disable Unused Settings In Plugins
  16. Block Comment Spam
  17. Protect Your WP-Admin
  18. Minimize External Requests
  19. Limit Google + Bing Crawl Rate
  20. Avoid Resource-Hungry Themes
  21. Disable Resource-Hungry WooCommerce Features
  22. Host Download Files On External Websites
  23. Disable AWStats + cPanel Statistics
  24. Turn Off SiteGround’s Site Scanner
  25. Use A Hosting Plan With Sufficient Server Resources
  26. Upgrade CPU/RAM

 

1. Check CPU Usage In AWStats

AWStats
AWStats is built-in to most cPanels (SiteGround, Bluehost, GoDaddy) in their “statistics” section and can help identify the source of high CPU. It tells you how much bandwidth specific elements are consuming including unknown bots, images, pages, files, downloaded files, etc.

AWStats helps you find:

  • Total bandwidth usage
  • High bandwidth crawlers
  • High bandwidth IP addresses
  • High bandwidth download files
  • High bandwidth files (eg. images)

Monthly-Bandwidth

If unknown bots are consuming CPU, try blocking spam bots with Blackhole For Bad Bots.

Robots-Spiders-Bandwidth

If images are consuming high CPU, use GTmetrix to find which images need to be optimized. Serve scaled images, compress them with ShortPixel, and use Cloudflare’s hotlink protection.

File-Type-Bandwidth

Server Response Time
High CPU can also lead to slow response times, which you can test in Bitcatcha or PageSpeed Insights. Google says it should be under 200ms. Of course, this is mostly controlled by hosting.

Bitcatcha Server Speed Report

 

2. Eliminate High CPU Plugins

These resource-hungry plugins are CPU killers.

High CPU plugins usually include social share, statistic, chat, calendar, page builders, backup, and plugins that run ongoing scans/processes or show multiple times in your GTmetrix report.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. All-In-One Event Calendar
  4. Backup Buddy
  5. Beaver Builder
  6. Better WordPress Google XML Sitemaps
  7. Broken Link checker (use Dr. Link Check)
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. Contextual Related Posts
  11. Digi Auto Links
  12. Disqus Comment System
  13. Divi Builder
  14. Essential Grid
  15. View Full List Of 65 Slow Plugins

Find Slow Loading Plugins
If the same plugin appears multiple times in your GTmetrix Waterfall report, you may want to find an alternative plugin that is more lightweight. External requests can also destroy your report (eg. from Google Fonts, Gravatars, AdSense, and the high CPU plugins I mentioned).

Slow WordPress Plugin

Query Monitor
Query Monitor shows your slowest plugins, scripts, styles, queries, hooks, PHP errors, and a wealth of information to pinpoint speed issues. This may require some technical knowledge, but it’s worth hiring a developer who can make optimizations with the help of Query Monitor.

Queries-By-Component

Don’t forget to minimize plugins, delete the ones you’re not using (not just deactivate them), and use lightweight plugins that consume minimal resources. For slider plugins I recommend Meta Slider or Soliloquy, for galleries I recommend Envira Gallery or FooGallery, and for social sharing use Sassy Social Share or Social Sharing (by Danny).

 

3. Remove Bloat With Clearfy

By “bloat” I am referring to the heartbeat API, autosaves, post revisions, pingbacks, and all the “miscellaneous” things that consume resources and should be disabled for most sites. The top 3 plugins to disable these are Clearfy (recommended), perfmatters by Kinsta, and WP Disable.

Option 1: Clearfy

Clearfy Performance Settings

Clearfy Defence Settings

Clearfy Advanced Settings

Option 2: Perfmatters By Kinsta ($25/Year)

perfmatters settings

Option 3: WP Disable

WP-Disable-Requests

WP-Disable-Tags-Settings

WP-Disable-Admin

WP-Disable-Others

 

4. Disable WP-Cron

The wp-cron is loaded on every page load and schedules automated tasks like publishing scheduled posts, checking for theme and plugin updates, and sending email notifications. Instead of running it on every page load, you can schedule it to run every 90 minutes or so.

Step 1: Disable WP Cron Jobs

Add the code to wp-config.php, before where it says “That’s all, step editing! Happy blogging.”

define('DISABLE_WP_CRON', true);

Step 2: Replace With A Real Cron Job
You still need wp-cron (eg. checking for theme/plugin updates), just not on every page load. Each host has their own instructions for this, here is SiteGround’s tutorial. You can set the cron job to run every 90 minutes, or increase it even more if you don’t have lots of scheduled tasks.

 

5. Clean Your Database

Deletes post revisions, spam, trash, transients, and database tables that accumulate overtime are often left behind when you uninstall plugins… making your site slower with higher CPU.

You should clean these at LEAST once a month using WP Rocket or WP-Optimize. They have similar settings with an automatic cleanup option (I highly recommend enabling this) but I like WP Rocket since it was rated the #1 cache plugin in this Facebook poll and has options for database cleanup + lazy loading images/videos/iframes. Most other cache plugins don’t have these extra options which means you also need to install WP-Optimize and a lazy load plugin.

WP-Rocket-Database-Settings

 

6. Upgrade To PHP 7+

About 50% of WordPress users run PHP 5.6 or lower:

WordPress-PHP-Version-Stats

When upgrading to PHP 7+ can process requests almost 3x faster:

WordPress PHP Benchmarks

SiteGround (and most hosts) have an option to upgrade in their cPanel:

PHP-Version-Manager

I recommend PHP 7.2:

PHP-Upgrade

The last step is to check your website for errors. If you see any, run the PHP Compatibility Checker to make sure your plugins are compatible. Poorly-maintained plugins may not be.

 

7. Offload Resources To CDNs

CDNs reduce the load on your server by offloading resources to their data centers. Each CDN has their own set of data centers, and more data centers = more offloading (and faster delivery of your content). I use both Cloudflare (free) and StackPath ($10/month with free 30-day trial).

Cloudflare offloads resources to their 200+ data centers:

Cloudflare Data Centers

Cloudflare-Bandwidth-Savings

Sign up for Cloudflare, add your site, and run the scan. You’ll come to a page where Cloudflare assigns you 2 nameservers. Then in your hosting account, change nameservers to Cloudflare’s.

Cloudflare Nameservers

StackPath offloads resources to 31 additional data centers:

StackPath-Data-Centers

Step 1: Sign up for StackPath (they have a 30-day trial).

Step 2: In the dashboard, click the CDN tab, then create a StackPath CDN Site:

StackPath-CDN-Tab

StackPath-CDN-Domain

CDN-URL-StackPath

Step 3: Copy your CDN URL and paste into your cache plugin (you can also use CDN Enabler).

WP-Rocket-CDN-Settings

Step 4: In StackPath go to CDN → Cache Settings, then click Purge Everything

StackPath-Purge-Cache

Step 5: Run your site in GTmetrix and “content delivery network” should be green in YSlow.

CDN GTmetrix YSlow

 

Hotlink protection can be enabled in Cloudflare (or sometimes your hosting account). This prevents people from copying/pasting your images onto their own website, which sucks up bandwidth. This usually happens if you have high quality images on your site (eg. photography).

Cloudflare Hotlink Protection

 

9. Block Bad Bots

In AWStats, you might see bots + spiders consuming a lot of bandwidth. Obviously we don’t want to block Googlebot and other legitimate crawlers, but we do want to block spammy ones.

Robots-Spiders-Bandwidth

Step 1: Install Wordfence.

Step 2: View Your Live Traffic Report (in Wordfence’s Tools settings) which shows you all bots hitting your site in real-time. Googlebot is obviously OK, but when I observed mine, I saw compute.amazonaws.com was making a ridiculous amount of requests every couple seconds. I Googled it and sure enough, this was a bot known for sucking up bandwidth. View your report for a minute or two and see if bots with sketchy names are constantly hitting your site. If you have doubts, Google their hostnames and see if other people are having issues with that bot.

Live-Traffic-Report-Wordfence

Step 3: Block Bad Bots (3 Options): Wordfence, Blackhole For Bad Bots, or Cloudflare Firewall Rules. Wordfence itself can cause high CPU (I recommend one of the other options).

Wordfence – Go to the Blocking settings and add the spam bots you wish to block. Asterisks serve as wildcards, so if I block *amazonaws.com* it means any hostnames containing amazonaws.com (whether it has characters before or after it), that bot will be blocked. I have saved thousands of requests/bandwidth just by blocking these two spammy hostnames:

  • *amazonaws.com
  • *linode.com

Wordfence-Blocking-Rule

Blackhole For Bad Bots – adds a hidden link to your pages that forbids all bots from following the link. If a bot disobeys it, they are blocked. Googlebot and other good bots are whitelisted.

Blackhole for Bad Bots

Cloudflare Firewall Rules – Cloudflare lets you create up to 5 firewall rules for free. Copy the hostnames of the most common bad bots (found in your live traffic report) and add them here.

Cloudflare Firewall Rule To Block Bad Bots

Step 4: Go to your Blocking log and enjoy watching those spam bots get blocked.

Wordfence-Firewall-Blocking

Step 5: If you do decide to use Wordfence, configure rating limiting settings. This limits/blocks crawlers (and humans) from making excessive requests, blocks fake Google crawlers, and improves security on 404 pages. These are the same settings recommended by Wordfence:

Wordfence-Rate-Limiting

Be sure to tweak the Wordfence “options” tab to limit bandwidth consumed by this plugin:

  • Do not “enable automatic scheduled scans”
  • Do not “enable email summary”
  • Enable “use low resource scanning”
  • Decrease “limit the number of issues sent in the scan results email” to 500
  • Do not enable “updates needed (plugin, theme, or core)”
  • Increase “update interval in seconds (2 is default)” to 10-15 seconds
  • Decrease “how much memory should Wordfence request when scanning” to 100MB
  • Enable “delete Wordfence tables and data on deactivation”
  • View Wordfence’s options page for more recommendations

 

10. Optimize Images

Images can consume lots of bandwidth, as shown in AWStats:

File-Type-Bandwidth

There are 3 ways to optimize images in GTmetrix.

Image-Optimization

  • Serve scaled images – resize larges images to be smaller
  • Specify image dimensions – specify a width/height in the HTML or CSS (screenshot)
  • Optimize images – losslessly compress images (I recommend ShortPixel or Imagify)

Start by optimizing images that appear on multiple pages (logo, sidebar, footer images). Then run your most important pages through GTmetrix and optimize individual images on those. The first item you should work on is “serve scaled images” since this requires you to scale (resize) an image to the correction dimensions, upload the new version to WP, and replace it.

 

11. Common Fixes In WP Rocket

WP Rocket says:

Occasionally some of the options on the File Optimization tab, such as Remove Query Strings, or Minify/Combine can cause high CPU usage in cases where your site has a lot of CSS or JS files. Try disabling these options and then monitor your CPU usage.

There have also been reports that critical path CSS and preloading can increase CPU. You can use a plugin to increase the preload crawl interval from 500ms (the default) to 1.5s or higher.

 

12. Common Fixes In W3 Total Cache

Common CPU solutions for W3 Total Cache:

  • Test object cache
  • Delete and reinstall the plugin

 

13. Configure Optimal Cache Plugin Settings

These 3 are all very important:

  • If you’re using a cache plugin
  • Which cache plugin you’re using (I recommend WP Rocket)
  • Whether the settings are configured optimally (some can cause high CPU)

Why WP Rocket?
It has more features than most cache plugins, which means you don’t need to install extra plugins for these, while giving you better results. Otherwise you will need to research which features your cache plugins comes with, then install these plugins if it doesn’t support them:

WP-Rocket-Features

If you can drop $49 on WP Rocket, buy it then see my WP Rocket tutorial. It’s easy to setup, updated frequently with new features, includes documentation, and support. If not, I have tutorials for Swift, WP Fastest Cache, W3 Total Cache, WP Super Cache, and Autoptimize. For free plugins, I recommend Swift or WP Fastest Cache (Swift is a tricky to setup but has great reviews in the WordPress Speed Up Facebook Group and comes with most features as WP Rocket, while WP Fastest Cache is easy to setup but lacks features included with WP Rocket).

2016 best cache plugin poll

2019 cache plugin poll

Swift vs WP Rocket

2016 cache plugin poll

Best cache plugins 2018 poll

wp rocket vs w3 totla cache

 

Some hosts like GoDaddy and WP Engine blacklist cache plugins because they have their own built-in caching system. In this case, use Autoptimize to optimize HTML, CSS, and JavaScript. It also has a CDN option. See my Autoptimize tutorial, otherwise if your host doesn’t blacklist cache plugins, I recommend either WP Rocket or Swift.

You can also try disabling your cache plugin and checking CPU usage. If your cache plugin is indeed causing issues, reach out to the plugin developer (or switch plugins).

 

14. Delete Unused Plugins + Themes

Unused themes store preconfigured settings in your WordPress database (similar to plugins). Go to Appearance > Themes then delete all the WordPress themes you’re not currently using.

Delete-Unused-WordPress-Themes

 

15. Disable Unused Settings In Plugins

Just like we tweaked Wordfence’s settings to reduce CPU usage created by the plugin, go through each one of your plugin settings and decide whether you need individual features. For example, in Yoast under Settings > General > Features I disabled all of the following…

Yoast-Feature-Settings

Disable plugin settings that:

  • Provide statistics
  • Run ongoing scans
  • Send admin or email notifications
  • Pull resources from external websites

Examples:

  • WP Rocket’s preload bot
  • Wordfence’s live traffic reports
  • Broken Link Checker’s ongoing scans
  • Yoast’s settings under Dashboard > Features
  • Chat and calendar plugins that run constantly
  • Statistical plugins that constantly collect data
  • Related post and popular post plugins that store tons of data

 

16. Block Comment Spam

An ongoing accumulation of spam comments isn’t good for your CPU usage. The Anti-Spam plugin has always work well for me (I tested plenty of others) and it doesn’t use CAPTCHA.

 

17. Protect Your WP-Admin

Attacks are commonly targeted at the WordPress admin, which is not only a security threat, but will consume high amounts of CPU especially since these pages aren’t usually not cached.

WordPress-Admin-Page-Rule

 

18. Minimize External Requests

External requests are hard on the server.

  • Gravatars
  • Google Fonts
  • Google Maps
  • Google AdSense
  • Some Social Sharing Plugins
  • Many others from my list of high CPU plugins

Often times, these will be very noticeable in your GTmetrix report:

GTmetrix-Advertisements

Cache-Gravatar-Images

Step 1: Eliminate Them If Possible

Step 2: Optimize Them

Step 3: Prefetching DNS Requests
Some cache plugins like WP Rocket let you prefetch DNS requests (as well as perfmatters and WP Disable). This helps browsers anticipate external resources so they can load them faster. Luke created a nice list of common domains to prefetch which you can then add to WP Rocket:

Prefetch-DNS-Requests-WP-Rocket

Prefetch-DNS-Requests

 

19. Limit Crawl Rate By Google + Bing

Google is usually the most resource-hungry crawl bot (by far) and you can limit their crawl rate in the “site settings” section of Google Search Console. This lowers the requests made by Googlebot and does NOT affect your rankings or penalize you in any way. Unless you run a news website or publish time-sensitive content (and you have a hosting plan with sufficient resources), you don’t need Google crawling your site quickly and consuming tons of resources. Websites struggling with CPU usage should lower this – keep in mind it resets every month.

Crawl-Rate-Google-Search-Console

Google says this on their crawl rate page

“If Google is making too many requests per second to your site and slowing down your server, you can limit the crawl rate… we recommend against limiting the crawl rate unless you are seeing server load problems that are definitely caused by Googlebot hitting your server too hard… you canot change the crawl rate for sites that are not at the root level.”

You can do the same thing with Bing Webmaster Tools in the crawl control settings

Bing-Crawl-Control

 

20. Avoid Resource-Hungry Themes

Bloated, poorly coded, and non-maintained themes are a recipe for disaster.

Instead of using a theme with tons of built-in features, use a lightweight (minimal) theme and rely on plugins to only add functionality you absolutely need. I always recommend StudioPress along with their Genesis Plugins which is what I use on my own site. Yoast also uses Genesis.

studiopress-themes

 

21. Disable Resource-Hungry WooCommerce Features

WooCommerce sites naturally require more CPU. This is something to keep in mind when choosing your hosting plan, and you should ideally not be using shared hosting.

Optimizing Woocommerce

  • Disable WooCommerce cart fragments
  • Disable WooCommerce scripts and styles
  • Disable WooCommerce widgets
  • Disable WooCommerce status metabox
  • Disable automatic product feed plugins

Most of these can be done using the perfmatters plugin.

perfmatters woocommerce optimization

 

22. Host Download Files On External Websites

I barely have any files to download on my website so the bandwidth is low enough where I don’t worry about this. But if you have tons of large files that suck up bandwidth when people download them, consider uploading them to Dropbox or another file sharing website and pointing people there. That way dropbox.com will be handling the bandwidth and not you.

Download-Bandwidth

 

23. Disable AWStats + cPanel Statistics

AWStats, Webalizer, and other statistical programs in the cPanel are good for identifying the source of high CPU usage, but these actually increase CPU just like any WordPress plugin that collects statistics. All I’m saying is that when you’re done using these, you should delete them.

 

24. Turn Off SiteGround’s Site Scanner

If you’re getting CPU overages on SiteGround and you paid for their SG Site Scanner, try contacting their support team to turn this off. The ongoing scans may be causing high CPU.

SiteGround-SG-Site-Scanner

As nice as these emails are, you should try turning this off…

SiteGround-SG-Site-Scanner-Emails

 

25. Use A Hosting Plan With Sufficient Server Resources

Generally, the higher the plan the more server resources you get (and yes, upgrading should cure CPU overages/bandwidth limitations). For example on SiteGround’s features page you can see how many server resources come with their StartUp vs. GrowBig vs. GoGeek plan. Just scroll down to the “we allocate the resources you need” and look under the server tab…

SiteGround-Server-Resources-Comparison

 

26. Upgrade CPU/RAM

Make sure you have enough RAM so you’re not always on the edge of your limit. If it’s almost always maxed out, this puts stress on your CPU. You want to have enough resources so your server is relaxed. In this case, the 2GB of RAM was almost always maxed out, so upgrading to 4GB was a smart move. Most shared plans don’t let you add RAM (you’ll need to upgrade to a plan that includes more resources) but you can usually add them on most cloud hosting plans.

Cloud-Memory-Increase

 

SiteGround (#1 Host In Facebook Polls)

SiteGround is used by Yoast, myself, and recommended by WordPress. They are #1 in nearly every Facebook poll and give most people significant load time improvements especially if they were using mediocre hosts: GoDaddy, Bluehost, HostGator, InMotion, Dreamhost, EIG.

Yoast-on-Twitter-We-just-switched-to-Siteground

I use their semi-dedicated GoGeek plan which comes with 4x more server resources than shared hosting. Click through my pages to see how fast they load, check out my GTmetrix report, or see people who migrated and posted new load times. They also do free migrations.

DigitalOcean on Cloudways and Kinsta are also good and start at $10/month and $30/month. Cloudways is more for developers who don’t need cPanel, email hosting, or the support you get with SiteGround. Kinsta is basically what WP Engine used to be (pricey, but awesome). My entire blog is basically dedicated to helping people make their website load faster. I refuse to recommend $2/month hosting since it’s most people’s biggest regret when running a website.

How To Check If Your Hosting Is Slow
Run your site through Google PageSpeed Insights to see if reduce server response time is in your report. Google recommends it should be <200ms. Anything above 1 second is not good. You can also check your TTFB (time to first byte) in GTmetrix’s Timings tab or bytecheck.com.

Reduce Server Response Time

2019 Hosting Poll

2017-WordPress-Hosting-FB-Poll

Elementor Hosting Recommendations

July 2019 Hosting Recommendation

WordPress-Host-Poll-Aug-2018

Shared-Hosting-Poll-2017

2019-Hosting-Poll

Go-To-Hosting-Company

WordPress-Hosting-Poll-2017

Managed-Hosting-Poll

WooCommerce-Hosting-FB-Poll

2016-Web-Hosting-Poll

Best-WordPress-Hosting-Provider-Poll

Best-Web-Hosting-2019-Poll

WP Friendly Hosting Poll

2016-WordPress-Hosting-FB-Poll

Favorite Hosting For Elementor

2018 Hosting Recommendations

WordPress Hosting Poll Sept 2018.png

Managed-WordPress-Hosting-Poll-2017

2019-Hosts-Poll-1

Hosting-Poll-For-Speed

WordPress-Hosting-Poll-June-1

SiteGround-Recommendation

2014-Managed-WordPress-Hosting-FB-Poll

Best-Web-Hosting-Provider-Poll

Hosting-Poll-Feb-2019

Hosting-Recommendations-Poll

Bluehost vs SiteGround

WordPress Web Host Poll

SiteGround is recommended by WordPress:

SiteGround-Recommended-WordPress-Host

And by Ivica who runs the WordPress Speed Up Facebook Group with 16,000+ members.

WordPress-Speed-Up Recommended Tools

A few threads:

Godaddy To SiteGround Migration

EIG-To-SiteGround

SiteGround-Migration

SiteGround has 3 plans:

SiteGround-Plans

Higher plans include more server resources (#1 factor in the WordPress optimization guide). Here’s the full comparison chart, but GrowBig gives you about 2x more server resources than StartUp, and GoGeek is semi-dedicated hosting which gives you even more. GrowBig and up comes with a free migration, staging, advanced caching, and ability to host multiple websites. GoGeek comes with priority support. Their cloud hosting is quite the price jump at $80/month.

You can see this on their features page:

SiteGround-Server-Resources-Comparison

I use SiteGround because:

  1. My GTmetrixPingdom reports speak for themselves
  2. My pages load instantly (click through them if you want)
  3. Fast speed technology (PHP 7.3, NGINX, SG Optimizer, Cloudflare)
  4. Recommended by Yoast, WordPress, Ivica from WordPress Speed Up
  5. Free Let’s Encrypt SSL, easy to use cPanel, and features for eCommerce
  6. WordPress support is unbeatable even without GoGeek’s priority support
  7. GrowBig comes with staging, more storage, and more server resources (scroll down to “we allocate the resources you need” and hover over the server tab)
  8. GoGeek comes with even more server resources, storage, priority support
  9. Free migrations, migrator plugin, and a 30-day money back guarantee
  10. Plenty of praise on Reddit, Facebook conversations, Twitter, TrustPilot
  11. Tons of praise on Facebook: #1, #2, #3, #4, #5, #6, #7#8, #9, #10#11
  12. Many people already migrated and posted results on Twitter: #1, #2, #3, #4, #5, #6#7, #8, #9, #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24, #25, #26, #27, #28, #29, #30, #31, #32, #33, #34, #35, #36, #37

Affiliate Disclaimer – if you sign up for SiteGround with my affiliate link I will donate a good chunk at no expense to you. Each year I donate $3k to GoFundMe campaigns (2018 was to feed the hungry in Denver, 2017 was to Red Cross at Hurricane Harvey). Your support helps and I genuinely appreciate it. I try to make my reviews unbiased and backed by evidence in the form of Facebook polls, tweets, and real conversations. If you don’t want to use it, here’s a non-affiliate link to SiteGround. Either way I truly believe they are a stellar WordPress host and your site will run faster/smoother… do your research on Facebook groups + Twitter and you’ll find most people say the same.

OMM-On-SiteGround

People usually migrate because their speed technology can cut load times in half:

Switching To SiteGround

SiteGround Load Time Migration

Bluehost to SiteGround GTmetrix

HostGator To SiteGround

SiteGround GTmetrix

SiteGround Google PageSpeed Insights

100 Perfect Score On SiteGround

SiteGround Genesis

Speed Delivered By SiteGround

SiteGround GTmetrix Report

Reduced Load Times With SiteGround

New SiteGround Response Times

HostGator To SiteGround Migration

SiteGround Response Times On Joomla

Switched To SiteGround Hosting

SiteGround Rocket Imagify Combo

Joomla GTmetrix On SiteGround

SiteGround PageSpeed Insights

SiteGround On Joomla

SiteGround Reduced Load Times

SiteGround Speedy Hosting

New Pingdom Results On SiteGround

New SiteGround Response Time

SiteGround Response Time Improvement

 

Hire My Developer To Reduce Your CPU Usage

I’ve been working with the same guy since 2011 – he is amazing at speed optimization and helped me optimize my site to load in <1 second with great GTmetrix and Pingdom reports.

His name is Pronaya and he should be able to solve your CPU overages (if you still need help) and help you improve scores/load times in GTmetrix and Pingdom. You can hire him by creating a profile on freelancer.com and searching for username bdkamol. Here is his full WordPress speed portfolio. He’s $40/hour from Bangladesh (so there is a time change) and you can email him at bdkamol@gmail.com. He also has a perfect 5 star review on his profile.

Pronaya-Kumar-S-Reviews

You can also consider posting your problem in the WordPress Speed Up Facebook Group if you want feedback from people who have already been through the problem of high CPU, but I have covered the most common solutions throughout this tutorial.

 

Frequently Asked Questions

✅ What is the easiest way to reduce CPU in WordPress?

Find and eliminate high CPU plugins, update to PHP 7.4, configure a good cache plugin with optimal settings, using a CDN, and disable unneeded WordPress functions like the Heartbeat API. Upgrading to faster hosting will obviously help.

✅ Which plugins consume the most CPU?

Social sharing, statistic (analytic) plugins, sliders, portfolios, page builders, calendars, chat, contact forms, related post, sitemap, Wordfence, WPML, and any plugin that runs ongoing scans or processes. These can be found using Query Monitor or GTmetrix Waterfall.

✅ Does all shared hosting have CPU limits?

Yes. Even though some shared hosting companies claim to have unlimited bandwidth, they still enforce CPU limits. This is usually found in their terms are conditions.

✅ Does WooCommerce cause high CPU?

WooCommerce sites generally require more plugins, and often times, more CPU. If these are not selected carefully, the extra resources consumed by those plugins can put stress on your server. WooCommerce sites also load extra scripts, styles, and cart fragments which don't help either. WooCommerce sites are better off on cloud hosting.

✅ How can I check my website's CPU consumption?

Your hosting account should tell you how much CPU you're consuming. Some hosts have tools like AWStats which show specific images, bots, and other resources that consume lots of resources.

Let me know if this tutorial worked in the comments!

See Also: How I Optimized My WordPress Site To Load In <1s (38+ Tips)

Cheers,
Tom

How I Optimized My Slow WordPress Site For 100% GTmetrix Scores — 28 Tips For Speeding Up WordPress Sites (2020 Guide)

Have a slow WordPress site?

This post you’re reading has over 70 images, 470 comments (while showing Gravatars), uses external fonts, Google Analytics, social sharing buttons, and an embedded YouTube video. Yet, it can load in under 2s with a 2.56MB page size, 89 requests, and 100%/97% GTmetrix scores.

Everyone ranking for “slow WordPress” in Google has a bad GTmetrix report: WP Buffs, Themeisle, Torque Mag, and Search Engine Shop who uses 0 images and copies my keywords.

So thanks for choosing mine!

I’ll show you how to take your GTmetrix + PageSpeed Insights report and make WordPress-specific optimizations that improve grades/load times. I’ve already written popular guides on WP Rocket, slow plugins to avoid, and a list of 24+ speed plugins. This combines everything.

When in doubt, look at the WordPress optimization guide to see the most important factors. The most common fixes for a slow WordPress site are usually related to your infrastructure (theme, hosting, page builder, cache plugin, CDN, and plugins you’re using). While optimizing images and third party scripts can definitely speed up WordPress, most factors are site-wide.

For this, I recommend Cloudways or Kinsta (hosting), Astra or Oxygen Builder (theme + page builder), and WP Rocket (main optimization plugin). You will avoid 90% of speed issues and they’re all rated highly in Facebook polls. Comment with your GTmetrix report if you need help.

How To Speed Up A Slow WordPress Site

  1. Use Faster WordPress Hosting
  2. Rethink Your Theme + Page Builder
  3. Configure A Solid Cache Plugin
  4. Upgrade To PHP 7.4
  5. Enable Varnish + Memcached
  6. Use A CDN
  7. Avoid 65+ Slow Plugins
  8. Optimize Third Party Scripts
  9. Google Fonts
  10. Google Analytics
  11. Google AdSense
  12. Google Tag Manager
  13. Comments + Gravatars
  14. Facebook Pixel
  15. Use A Fast Social Sharing Plugin
  16. Optimize Images + Videos
  17. Reduce Server Response Times
  18. Clean Your Database
  19. Remove Bloat
  20. Disable Plugin Usage Tracking
  21. Disable Plugins On Specific Pages + Posts
  22. Minimize Redirects
  23. Don’t Enable Yoast Indexables
  24. Utilize Plugins By Gijo Varghese
  25. Increase Memory Limit To 256MB
  26. Make WooCommerce Load Faster
  27. Block Bad Bots From Using Resources
  28. Identify Bottlenecks In Speed Testing Tools

GTmetrix (load times) should be your primary metric while PageSpeed Insights doesn’t even measure load times. Getting 100% in every single tool is not realistic unless you have a bare bones, static HTML site. Don’t obsess over scores – obsess over your actual load times instead.

2020-GTmetrix-Report

Watch My Video – it’s a 42 minute video, but I cover pretty much everything (timestamps are found in video description). You will learn a ton of good stuff on WordPress speed optimization.

 

1. Use Faster WordPress Hosting

Hosting is the #1 factor in the WordPress optimization guide.

Run your website through Google PageSpeed Insights and check if reduce server response times is in your report. Google recommends a response time of <200ms. You can also check your TTFB (time to first byte) in the GTmetrix Timings tab. If these are slow, so is your hosting.

Reduce Server Response Time

I would personally skip the shared crap and go with Cloudways.

They’re who most people recommend in the WordPress Hosting Facebook Group and #1 in most recent Facebook polls, especially since SiteGround increased prices and went downhill. I migrated from SiteGround to DigitalOcean on Cloudways and you can view the results below.

SiteGround-vs-Cloudways

I use them and you can check my GTmetrix report, or visit cwdoserver.com to see the speed of a $10/month Cloudways DigitalOcean test server I set up with an Astra Site. It loads instantly (for reference, stgrndserver.com is the identical Astra Site only on SiteGround’s GrowBig plan).

Do your research on EIG, SiteGround’s CPU limits, and look at Facebook polls, conversations, and migration results. Check your server response time in PageSpeed Insights and your TTFB.

2020-Hosting-Poll

Cloudways Response Times

Godaddy-to-DigitalOcean-Migration

VPS Cloud Hosting WooCommerce Poll

SiteGround-Alternative

Hosting Recommendations Facebook

2017-WordPress-Hosting-FB-Poll

Favorite Hosting For Elementor

Elementor-Hosting-Poll

Untitled

Vultr-Migration

WordPress Hosting Suggestions

SiteGround-Alternative-For-Beginners

VPS Cloud Hosting Poll

2016-WordPress-Hosting-FB-Poll

Elementor Hosting Recommendations

Cloudways-Facebook-Review

I signed up for 15+ hosting accounts to test their speed. All domains in this video are live, which means you can visit them in real-time and click through their pages, use GTmetrix, etc.

Each website is identical except for it’s hosting (same Astra Starter Site, SSL, no caching, no CDN, and the same 6 plugins). I also used WP Hosting Performance Check and KeyCDN to measure the most popular options. The results align with what most people are saying in the WordPress Hosting Facebook Group which I recommend joining to get real, unbiased opinions.

#1. DigitalOcean On Cloudwayscwdoserver.com was the fastest, is who I use, and are very popular in Facebook Groups (especially as an alternative to SiteGround). DigitalOcean is also the only host mentioned in the WordPress Optimization Guide. Cloudways was #1 in most recent Facebook polls and people who migrate usually see significant load time improvements. They use PHP 7.4, Maria DB 10.3, Memcached, Varnish, Nginx, and Redis. Pricing starts at $10/month with no strict CPU limits or renewal prices like on other hosts. The community manager is very helpful and they do free migrations. You can get 25% off your first 2 months with the promo code OMM25.

#2. Kinstaknstaserver.com had similar speeds as DigitalOcean on Cloudways only they are more expensive starting at $30/month. Known for being capable of handling many concurrent visitors. People consistently recommend Kinsta in Facebook Groups, Twitter, and in migration results. Even though they’re not always #1 in Facebook polls (likely because not everyone can pay $30+/month), they are great for high traffic sites.

#3. WPX Hostingwpxserver.com is also very quick, but Cloudways and Kinsta are slightly faster. Starts at $20-$25/month and is who Matthew Woodward recommends.

#4. A2 Hostingatwoserver.com usually outperformed other shared hosting but is not nearly as fast as cloud hosting (just cheaper). I use A2 for my girlfriend’s restaurant website and it’s decently fast with good uptimes. A2 (and all shared hosting) is only sufficient for smaller websites with low traffic/plugins. Otherwise, use cloud hosting.

#5. SiteGround – has gone downhill with many complaints about their renewal prices, price hikes, CPU limits, and support isn’t as good as it used to be. SiteGround shifted to Google Cloud hosting (instead of shared) which is supposed to be faster, but load times and TTFB on stgrndserver.com were usually above 1s. Their SG Optimizer plugin should help, but I still wouldn’t use them. You’re better off on Cloudways DigitalOcean.

Affiliate Disclaimer – I would seriously appreciate you using my affiliate links which means I earn a commission at no expense to you. This would help me make GoFundMe donations ($6,000 so far)! I try to base my recommendations on tests, Facebook polls, and conversations I see on a daily basis in the 30+ WP Facebook Groups I’m active on.

 

2. Rethink Your Theme + Page Builder

Most people are using Astra Themes.

The only problem with Astra is that most of their themes use page builders. Even Elementor adds a lot of scripts that can mildly slow down your WordPress site (you can check these in Asset CleanUp or Perfmatters). That was my biggest complaint when I had my site redesigned in Astra (I even went themeless). My StudioPress theme was slightly faster with 0 extra scripts.

It really depends on what you want; if you like Astra + Elementor for designing your site and don’t mind a slight decrease in speed, that’s what I would recommend. If you’re a speed freak like me and only want the fastest stuff, I wish I would have stuck with StudioPress and Genesis.

studiopress-themes

Here were my extra CSS and JavaScript files added by Elementor:

Elementor-Scripts

I recommend either Astra or Oxygen Builder.

Astra-Themes-Facebook-Poll

 

3. Configure A Solid Cache Plugin

As far as GTmetrix scores go, your cache plugin has the biggest impact.

WP Rocket is the most popular cache plugin (it’s also what I use) mainly because it comes with more speed optimization features than any other cache plugin. This not only results in better GTmetrix scores, but also means you don’t have to install a bunch of extra plugins on your site.

Get 10% off WP Rocket by signing up for their email list on their coupons page. Then check my recommended WP Rocket settings for optimal GTmetrix scores/load times.

With most other cache plugins, you would need to install about 7 extra plugins to get these features when WP Rocket has them all built-in. Otherwise you will need to research which features your cache plugin comes with, then install these plugins if it doesn’t support them.

2016 best cache plugin poll

2019 cache plugin poll

Swift vs WP Rocket

2016 cache plugin poll

Best cache plugins 2018 poll

wp rocket vs w3 totla cache

What About SG Optimizer? If you’re on SiteGround, use their SG Optimizer plugin (instead of WP Rocket) with these SG Optimizer settings. It’s free and comparable to WP Rocket (you will still need heartbeat control and database cleanup). This plugin is only for SiteGround’s hosting.

WP Engine + GoDaddy – these hosts have their own built-in caching system and blacklist you from using cache plugins. In this case, use Autoptimize to optimize HTML, CSS, and JavaScript.

I also have configuration tutorials for WP Fastest Cache, W3 Total Cache, WP Super Cache, and Swift Performance, but I definitely recommend WP Rocket as your one and only caching plugin.

 

4. Upgrade To PHP 7.4

Login to your hosting account (or use the Display PHP Version plugin) to see which PHP version you’re currently running. WordPress stats show most users are running outdated PHP versions when PHP 7.4 is available on many hosting accounts. Upgrading is as simple as finding the PHP Version Manager (or similar) in your hosting account, then upgrading the latest version of PHP.

PHP-7.4

WordPress PHP Benchmarks

Some hosts are quick to release new versions (SiteGround, Cloudways, Kinsta), while others don’t make an effort to stay current in technology. Another reason to avoid EIG and GoDaddy.

*Check your website for visible errors since non-maintained plugins may not be compatible. If you do see errors, you can always revert back to an earlier PHP version.

 

5. Enable Varnish + Memcached

Many cloud hosting providers support Varnish + Memcached. Login to your hosting account and activate them. If you’re using Varnish, be sure to enable the Varnish addon in WP Rocket.

Hosting-Application-Services

 

6. Use A CDN

Most people use Cloudflare or RocketCDN (from WP Rocket).

RocketCDN uses StackPath’s data centers and offers it at a lower price than if you buy directly from StackPath. Both are great CDNs, but there are a few major differences between the two.

Cloudflare vs. RocketCDN

  • Cloudflare is free, RocketCDN is $6.99/month
  • Cloudflare cannot serve images from their CDN, StackPath can
  • Cloudflare has 200+ data centers, StackPath has 45 data centers
  • Cloudlare’s data centers are likely not as high-performance as StackPath
  • Cloudflare has a dashboard you can login to and tweak, RocketCDN does not
  • Cloudflare’s dashboard has extra features like page rules, Rocket Loader, Railgun
  • Cloudflare requires changing nameservers (some hosts also have an option to activate Cloudflare directly from your account), StackPath’s set up is automatic with WP Rocket

Cloudflare-Bandwidth-Savings

Ensure Cloudflare Compatibility With WP Rocket – WP Rocket and most other cache plugins ask for your Cloudflare Zone ID, Global API Key, and your Cloudflare account email. Add them.

WP-Rocket-Cloudflare-Add-On

Configuring The Cloudflare Dashboard – if you’re using Cloudflare, login to your dashboard. There are a few things in here that aren’t available if you set up Cloudflare through your host.

Page Rule 1: Cache Everything And Force HTTPS – cache your website aggressively.

http://*yourwebsite.com/*

Always-Use-HTTPS-Page-Rule

Page Rule 2: Secure The WordPress Admin And Bypass Cache – sets security level of the admin to high and bypasses Cloudflare’s cache in the admin, since you don’t want CDNs (or apps + performance features like Rocket Loader) running inside the admin.

yourwebsite.com/wp-admin*

WordPress-Admin-Page-Rule

Page Rule 3: Decrease Bandwidth Of WP Uploads – since the content in your WP Uploads folder does not change frequently, increasing Edge Cache TTL to a month can save on bandwidth, since the WP Uploads folder cache won’t be refreshed as often.

yourwebsite.com/wp-content/uploads*

WP-Uploads-Page-Rule

Setting Up RocketCDN Or StackPath – the easiest way to set up RocketCDN is with WP Rocket. If not using WP Rocket, you will need to sign up for a StackPath account through their website then follow instructions for creating a CDN site. They will assign you a CDN URL which most cache plugins (including Autoptimize) have a field for. Or use the CDN Enabler plugin.

Make Sure Your CDN Is Working – every CDN should show 100% in GTmetrix YSlow except Cloudflare’s CDN. To make GTmetrix detects Cloudflare, you’ll need to sign up for a GTmetrix account → User settings → “add your hostname to YSlow CDN Hostnames.” You can also use Cloudflare’s Claire Chrome Extension to see if it’s working. GTmetrix always detects StackPath.

CDN GTmetrix YSlow

 

7. Avoid 65+ Slow Plugins

You can find your slowest plugins in the GTmetrix Waterfall tab or Query Monitor.

Slow WordPress Plugin

Most slow WordPress plugins include social sharing, statistic (analytics), sliders, portfolios, page builders, calendars, chat, contact forms, related post, sitemap, Wordfence, WPML, WooCommerce, and any plugin that runs ongoing scans or processes. These can be identified using Query Monitor or GTmetrix Waterfall.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. All-In-One Event Calendar
  4. Backup Buddy
  5. Beaver Builder
  6. Better WordPress Google XML Sitemaps
  7. Broken Link checker (use Dr. Link Check)
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. Contextual Related Posts
  11. Digi Auto Links
  12. Disqus Comment System
  13. Divi Builder
  14. Essential Grid
  15. View Full List Of 65 Slow Plugins

Lightweight Plugin Alternatives

 

8. Optimize Third Party Scripts

Third party scripts are anything that create requests from external websites.

These include Google Fonts, Analytics, Maps, AdSense, Tag Manager, embedded videos, social media widgets, Facebook Pixel, Gravatars, or even like buttons from your social sharing plugin. Some can be optimized to have no impact on GTmetrix while AdSense/Tag Manager are harder.

The next sections (7-16) show you how to optimize specific third party scripts that may be giving you errors in your GTmetrix and Google PageSpeed Insights reports.

Step 1: Learn Which Third Party Scripts Are Slowing Down Your Site
Look at reduce DNS lookups in GTmetrix YSlow or third party usage in PageSpeed Insights.

External-Scripts

Common third party domains taken from Github:


//maps.googleapis.com
//maps.gstatic.com
//fonts.googleapis.com
//fonts.gstatic.com
//use.fontawesome.com
//ajax.googleapis.com
//apis.google.com
//google-analytics.com
//www.google-analytics.com
//ssl.google-analytics.com
//www.googletagmanager.com
//www.googletagservices.com
//googleads.g.doubleclick.net
//adservice.google.com
//pagead2.googlesyndication.com
//tpc.googlesyndication.com
//youtube.com
//i.ytimg.com
//player.vimeo.com
//api.pinterest.com
//assets.pinterest.com
//connect.facebook.net
//platform.twitter.com
//syndication.twitter.com
//platform.instagram.com
//referrer.disqus.com
//c.disquscdn.com
//cdnjs.cloudflare.com
//cdn.ampproject.org
//pixel.wp.com
//disqus.com
//s.gravatar.com
//0.gravatar.com
//2.gravatar.com
//1.gravatar.com
//sitename.disqus.com
//s7.addthis.com
//platform.linkedin.com
//w.sharethis.com
//s0.wp.com
//s1.wp.com
//s2.wp.com
//stats.wp.com
//ajax.microsoft.com
//ajax.aspnetcdn.com
//s3.amazonaws.com
//code.jquery.com
//stackpath.bootstrapcdn.com
//github.githubassets.com
//ad.doubleclick.net
//stats.g.doubleclick.net
//cm.g.doubleclick.net
//stats.buysellads.com
//s3.buysellads.com

Step 2: Add Domains To Prefetching
Take the external scripts from your GTmetrix report and add them to WP Rocket (Preload → Prefetch DNS Requests). Prefetching and other browser resource hints makes them load faster. If you don’t have WP Rocket, you can do this with Perfmatters or Pre* Party Resources Hints.

Prefetch-DNS-Requests

Step 3: Use Flying Scripts To Delay Loading Them
The Flying Scripts plugin delays loading JavaScript until the timeout period you set in the plugin. It’s the only plugin that let me show Gravatars without them impacting my GTmetrix report, but this can also be done with other third party scripts. Just enter the keyword of the script into the plugin (eg. discuz) and set a timeout period. I also recommend checking out Gijo’s speed plugins.

Flying-Scripts

Don’t forget to see the next few sections which will help you better optimize external scripts.

 

9. Google Fonts

Here are 4 steps for optimizing Google Fonts and Font Awesome.

Optimize Fonts With WP Rocket Or SG Optimizer – both WP Rocket and SG Optimizer have an option to optimize Google Fonts. This combines your fonts to create fewer HTTP requests.

Optimize-Google-Fonts

Host Google Fonts Locally – use the OMGF plugin to host fonts locally. The plugin will automatically download your fonts, create a stylesheet for them, then include it in the header.

Preload Fonts – grab the URLs of your font files in the GTmetrix Waterfall report and add them to WP Rocket’s “preload fonts” option, or in OMGF. This helps browsers download fonts faster.

Preload-Fonts

Be Minimal With Fonts + Weights – be minimal with the number of fonts and weights.

 

10. Google Analytics

Hosting Google Analytics locally will fix the leverage browser caching issue for Google Analytics in GTmetrix. For this, I use the Flying Analytics plugin since WP Rocket’s Google Tracking add-on still showed errors. Insert your Google Analytics Tracking ID (the UA code) into the plugin, then use the “Minimal Analytics Inlined” method which only adds a measly 1.4KB.

Flying-Analytics

Plugins to host Analytics locally: WP Rocket, Perfmatters, Flying Analytics, CAOS.

 

11. Google AdSense

Google Adsense is one of the most difficult scripts to optimize and you shouldn’t expect a good GTmetrix report with it. You can try enabling Cloudflare’s Rocket Loader which defers loading of JavaScript until after rendering, but affiliate links are way faster and usually more profitable.

 

12. Google Tag Manager

GTM should usually only be used for large, unoptimized sites.

If you absolutely need it, use a good Google Tag Manager plugin and be minimal with tags, but that’s about all you can do. I don’t use GTM on my website (my load times are more important).

Google Tag Manager Speed

 

13. Comments + Gravatars

I use 3 plugins for comments which you’ll see zero errors for in GTmetrix.

  • wpDiscuz: commenting plugin.
  • Flying Scripts: delays loading of Gravatars.
  • WP User Avatar: use a custom, optimized photo as the default avatar.

Step 1: Configure wpDiscuz to load faster.

Comment thread displaying → initiate AJAX loading after page and lazy load comment.

Disqus-Comment-Thread-Displaying

General → disable “use WordPress native AJAX functions” and enable combine/minify JS/CSS.

Disqus-General-Settings

Styles and colors → disable “load font awesome CSS lib.”

Disqus-Load-Font-Awesome-CSS-Lib

Step 2: Delay Gravatar loading with the Flying Scripts plugin.

Speed-Up-Comments

Step 3: Upload a custom, optimized photo using WP User Avatar.

WP-User-Avatar

Retest your GTmetrix report and your comments should load much faster with no errors.

 

14. Facebook Pixel

Use the Pixel Caffeine plugin and host Facebook Pixel locally in WP Rocket.

Facebook-Pixel-Browser-Caching

 

15. Use A Fast Social Sharing Plugin

WP Rocket did a test on the fastest social sharing plugins.

The Grow by Mediavine plugin (Social Pug) was rated the #1 fastest social sharing plugin. It’s also what I use and saw no difference in my GTmetrix report. You can see a preview near my comments section; the buttons look nice, can be loaded before and after the content, and has options for Facebook, Twitter, Pinterest, LinkedIn, email, print. You can also do a floating bar.

 

16. Optimize Images + Videos

There are several ways to optimize images. The first 3 items are in GTmetrix, the last 2 are from PageSpeed Insights. Speed testing tools only show you unoptimized images for the single page you test (keep that in mind when fixing serve scaled image or specify image dimension errors).

  • Serve scaled images – resize large images to be smaller.
  • Specify image dimensions – add a width/height to the image’s HTML.
  • Lossless compress – use an image optimization plugin to compress images.
  • Lazy load images + videos – delays load of images/videos until they’re visibly seen.
  • Serve images using next-gen formats – use WebP/SVG format instead of JPEG/PNG.

image-optimization

Serve Scaled Images – resize large images to be smaller. GTmetrix tells you the correct dimensions. Just click the image in GTmetrix, resize it to the new dimensions, and replace it. Never use the ‘drag to resize’ feature in the visual editor since this only resizes the displayed image (not the actual image). It’s best to resize to the correct dimensions before uploading it.

Serve-Scaled-Images-GTmetrix

Create a cheat sheet so you can use the correct dimensions before uploading images:

  • Slider images: 1903(w) x 400(h)
  • Carousel images: 115(h)
  • Widget images: 414(w)
  • Full width blog post images: 680(w)
  • Featured images: 250(w) x 250(h)

Specify Image Dimensions – means you need to add a width + height in the image’s HTML or CSS. This usually only happens for hand-coded HTML and plugins that don’t take care of this for you. Get the image dimensions from GTmetrix, locate the image, then add the width and height.

Specify-Image-Dimensions-WordPress

Optimize Images – losslessly compress images (also known as “optimize images” in GTmetrix). The best way to compress images is when you’re editing them (eg. in Photoshop or GIMP) since you will likely see a loss in quality with image optimization plugins, even if you select “lossless compression” in the settings. Otherwise, ShortPixel or Imagify are decent options. These plugins can also be resource-intensive and slow down your WordPress website temporarily.

Lazy Load Images + Videos – in your WP Rocket Media settings, enable lazy loading of images, videos, and replace the YouTube iframe with a preview image. These will make images and embedded videos load significantly faster, as they’re often the heaviest element on a page. If you’re not using WP Rocket, try A3 Lazy Load (for images) and WP YouTube Lyte (for videos).

WP-Rocket-Lazy-Load

Serve Images In Next-Gen Formats – most image optimization plugins have an option to convert images to WebP format, or the WebP Converter For Media plugin has great ratings.

Serve-Images-In-Next-Gen-Formats

 

17. Reduce Server Response Times

I want to clarify a few things about server response times.

Most hosting providers let you monitor CPU and RAM (memory usage). If you notice these are very close to exceeding your limits, this will put stress on your server. The whole goal is to make your server “relaxed” by giving it enough server resources to accommodate your site’s resource consumption (from high CPU plugins, traffic, WooCommerce, etc). If you notice you’re almost hitting your limits or exceeding them and getting 503 errors, it means your server is stressed.

Cloud-Memory-Increase

That’s why it’s so important to look at how many server resources come with your hosting plan. Any host that says “unlimited bandwidth” is lying (just check their terms and conditions page and they will mention their CPU limits). Especially if you anticipate high resource consumption, make sure your hosting plan includes enough resources to properly accommodate your site.

SiteGround-Server-Resources-Comparison

 

18. Clean Your Database

Use WP Rocket or WP Optimize to clean your database.

Ongoing cleanups keep your database optimized and removes transients, spam + trash comments, and potentially hundreds of post revisions which WordPress stores automatically every time you update content. Unless you need post revisions to restore backups of old content, you should be able to delete everything. I recommend scheduling weekly cleanups.

WP-Rocket-Database-Settings

Delete Old Plugin Tables – one thing I like about WP-Optimize is the option to delete database tables left behind by old plugins that aren’t installed anymore (these are often pre-configured settings). If you don’t plan on using these plugins again, delete the tables that say “not installed.”

WP-Optimize-Tables

 

19. Remove Bloat

Perfmatters (by Kinsta) is the ultimate bloat removal plugin.

The features page includes descriptions of what each item does, but it removes unnecessary WordPress features which you probably don’t need. It even has options for optimizing your Google Analytics tracking code, WooCommerce, prefetch + preconnect, and heartbeat control. Remember to selectively disable plugins in the Perfmatters script manager or Asset CleanUp!

perfmatters-features

Limit Post Revisions – use Perfmatters or add the code to your wp-config file.

define('WP_POST_REVISIONS', 5);

Increase Autosave Interval – use Perfmatters or add the code to your wp-config.php file.

define('AUTOSAVE INTERVAL', 5);

Disable Trackbacks + Pingbacks – use Perfmatters or disable in Settings → Discussion.

Disable-Trackbacks-Pingbacks

Disable Unused Addons + Modules – if you’re using a plugin containing a bunch of addons or modules (Elementor, Ultimate/Premium Addons, JetPack), delete the ones you’re not using.

Disable-Addons

Delete Unused Plugins + Themes – any plugins/themes you’re not using should be deleted.

Delete Unused WordPress Themes

 

20. Disable Plugin Usage Tracking

Any time you have an option to disable usage tracking, do it. Sorry plugin developers.

I also don’t recommend Yoast’s speed indexing (the comments have horrible reviews).

Yoast-Speed-Indexing

 

21. Disable Plugins On Specific Pages + Posts

The Perfmatters script manager (premium) and Asset CleanUp (free) both let you disable plugins/scripts from running on specific pages/posts. Some plugins load across your entire site (even on content they’re not being used on), so it’s best to disable them when that’s the case.

Examples:

  • Disable slider plugin on pages that don’t use sliders
  • Disable rich snippets plugin on pages that don’t use rich snippets
  • Disable contact form plugin on pages that don’t have a contact form
  • Disable affiliate link management plugin on pages that don’t use aff links
  • Disable social sharing plugin on all pages (since it’s usually for blog posts)

perfmatters-script-manager

Perfmatters and Asset CleanUp (the premium version) have a Regex option that allows you disable plugins/scripts based on specific URL patterns and categories. For example, you may want to only enable your schema plugin on posts containing the word “review” in the URL.

 

22. Minimize Redirects

If you have URL redirect errors in GTmetrix, it usually means you changed the WWW or HTTP(S) version of your website but didn’t change all your links and images to reflect the new version. In this case, try using the Better Search & Replace plugin to fix these errors in bulk.

minimize redirects

Third party scripts and poorly coded plugins can also cause redirect errors in GTmetrix. The solution completely depends on which plugins and third party scripts you’re using on the site.

 

23. Don’t Enable Yoast Indexables

Yoast 14.0 came out with indexables which they claim “can provide a speed boost of 5-10%.”

However, if you look at the comments, it’s clear they have not thoroughly tested this (many complaints about CPU spikes, crashed websites, errors, etc). None of the feedback looks positive, so I would at least hold off of clicking that button until they do more thorough testing.

Yoast-Speed-Indexing

 

24. Utilize Plugins By Gijo Varghese

Gijo Varghese has create quite a few plugins for speeding up WordPress.

These plugins help you host Google Analytics locally, optimize images and serve them from a CDN, preload pages, delay loading scripts by creating a timeout, and ensure text remains visible while loading fonts. All have great ratings. Check out his WP Speed Matters Facebook Group.

Gijo-Varghese-plugins

 

25. Increase Memory Limit To 256MB

WooCommerce and WPML require a 256MB memory limit, but you should really be using 256MB no matter which type of WordPress site you’re running. Some hosts have an option to increase it in their dashboard, otherwise edit your wp-config.php file and add the code below.

Cloudways-Memory-Limit

define('WP_MEMORY_LIMIT', '256M');

 

26. Make WooCommerce Load Faster

WooCommerce sites run extra scripts, styles, cart fragments, and they usually require more plugins. That’s why when choosing a hosting plan, you should usually buy one tier up of what you actually need to accomodate for the extra resources often required for WooCommerce.

WooCommerce Cart Fragments

Optimize WooCommerce Scripts, Styles, Cart Fragments
To optimize these, use Perfmatters or there are quite a few solutions on Github and WooCommerce. Disabling scripts will disable WooCommerce scripts and styles everywhere except on product, cart, and checkout pages. There’s also an option to disable cart fragments.

perfmatters woocommerce optimization

Clear WooCommerce Transients
If you feel like your WooCommerce website is getting sluggish, go to WooCommerce Status settings → delete all transients. Transients temporarily store cached data in your database.

Delete WooCommerce Transients

 

27. Block Bad Bots From Using Resources

You would never know if spam bots are hitting your site unless you checked your Wordfence live traffic report. By blocking them, you will save resources and put less stress on your server.

Step 1: Install Wordfence (you’ll want to uninstall it when you’re done).

Step 2: View your live traffic report (under Wordfence’s Tools settings) which shows you all bots hitting your website in real-time. Googlebot is obviously OK, but when I did this, I saw compute.amazonaws.com making a ridiculous amount of requests every couple seconds. I Googled it and sure enough, this was a bot known for sucking up bandwidth. View your report for a minute or two and see if bots with sketchy names are constantly hitting your site. If you have doubts, Google their hostnames and see if other people are having issues with that bot.

Live-Traffic-Report-Wordfence

Step 3: Block the bots. You have a few options: Wordfence blocking (however the plugin itself consumes resources), Cloudflare firewall rules (comes with 5 free rules which means you can block 5 bots), or the Blackhole For Bad Bots. I have a tutorial for blocking bad bots using all 3 methods. It depends on how many you want to block; if it’s only a few, I’d use Firewall Rules.

Login to your Cloudflare Dashboard and go to Firewall → Firewall Rules → Create A Firewall Rule. Copy the bad bot’s hostnames (from Wordfence) and add it here in the “Value” field. Since you can create 5 rules, you would repeat this step for your 5 worst bad bots from Wordfence.

  • Field = Hostname
  • Operator = Contains
  • Value = hostname of the bad bot you found in Wordfence

Cloudflare Firewall Rule To Block Bad Bots

Step 4: Go to your Blocking log in Cloudflare and watch your spam bots get blocked.

Cloudflare-Firewall-Events

 

28. Identify Bottlenecks In Speed Testing Tools

GTmetrix – my tool of choice since you can find exactly which images, plugins, fonts, and external scripts take longest to load (plus it shows your time to first byte and redirect errors).

2020-GTmetrix-Report

Pingdom – the most accurate tool for measuring your load times according to WP Rocket which is the primary metric you should be measuring (not grades), but there is a correlation.

Google PageSpeed Insights – good for measuring server response times but also has other recommendations like using next-gen format for images (eg. WebP), lazy loading, avoid third party scripts, preconnect, minification, caching recommendations, and serving scaled images.

Query Monitor – great for finding slow plugins, scripts, styles, and other elements slowing down your site. Make sure to delete it when you’re done since the plugin itself can be slow.

Get Help Fixing Your GTmetrix Report

 

Frequently Asked Questions

🚀 What are the most important speed factors?

Your infrastructure (hosting, theme, plugins, page builder, CDNs) have the biggest impact on load times.

🚀 Which cache plugin should you use?

WP Rocket is usually rated the top cache plugin in Facebook polls since it has built-in features most cache plugins don't. These extra optimizations should yield better scores and load times in GTmetrix. The top free cache plugins are usually WP Fastest Cache, W3 Total Cache, and Swift Performance.

🚀 Which WordPress hosting should you use?

The best hosting is highly debatable, but Cloudways, SiteGround, and Kinsta generally the top 3 hosts based on 30+ Facebook polls.

🚀 Which speed testing tool should you use?

GTmetrix has the most robust recommendations especially for finding slow plugins, images, external scripts, and measuring TFFB. Pingdom doesn't have as many recommendations, and Google PageSpeed Insights doesn't measure load times.

🚀 How do you optimize images?

You can optimize images using a plugin like ShortPixel or Smush to compress images and strip EXIF data. Make sure you're resizing images to the correct dimensions, and ideally serve them from a CDN. Lazy loading images and videos will also make the page faster.

🚀 Should you use AMP?

Generally, you should avoid AMP (accelerated mobile pages) since the design changes can lower conversions. Kinsta's conversions dropped 59% after adding AMP and they decided to remove them.

🚀 How do you optimize plugins?

Find high CPU plugins using Query Monitor which usually include portfolios, statistics, sliders, and plugins that run ongoing processes. Next, replace them with lightweight plugins that consume minimal resources. Delete all plugins you're not using, and disable unnecessary plugin settings that consume resources. Finally, selectively disable plugins from loading on certain content using a plugin like Asset Manager or Perfmatters.

🚀 How do you optimize external scripts?

It's best to avoid external scripts all together, such as Google AdSense, Facebook widgets, and plugins that create external requests. Some plugins such as Disques let you load it conditionally. If the page contains JavaScript, try the Async JavaScript plugin. Finally, prefetch all external URLs that are loading on the page.

Really hope this helped! Drop your new GTmetrix scores + load times in the comments :-)

Cheers,
Tom

25 WordPress Speed Optimization Plugins For Speeding Up Your Website In 2020 (Same Ones I Used To Get 100% GTmetrix Scores)

WordPress Speed Optimization Plugins

Need a solid list of WordPress speed optimization plugins?

These are the same speed plugins I used to get 100% GTmetrix scores on my homepage and most of my posts. They’re a collection of plugins I use myself and popular plugins in Facebook Groups. I do WordPress speed optimization for a living – so I geek pretty hard on the plugins!

This is not a typical list of cache plugins: I dive into advanced plugins like selectively plugin disabling, browser resource hints for external scripts, hosting things locally, and bloat removal.

ps. If you join the WordPress Speed Up Facebook Group they have a list of 60+ recommended WordPress Speed Up Tools and useful links. But I did try to include the important ones here :)

The only speed optimization plugins I use on my site are WP Rocket, Perfmatters, WP-Optimize, TinyPNG, and wpDiscuz (my lightweight comment plugin). If you’re using SG Optimizer or another caching plugin, you will need to install a few extra speed plugins since these lack some functionality (see the notes listed in each section below).

The Best WordPress Speed Plugins Of 2020

  1. WP Rocket
  2. SG Optimizer
  3. Perfmatters
  4. Asset CleanUp
  5. TinyPNG
  6. WP-Optimize
  7. WP YouTube Lyte
  8. Heartbeat Control
  9. Pre* Party Resource Hints
  10. OMGF | Host Google Fonts Locally
  11. CAOS | Host Google Analytics Locally
  12. wpDiscuz
  13. Flying Scripts
  14. WP User Avatar
  15. CDN Enabler
  16. Breeze By Cloudways
  17. Autoptimize
  18. WP Fastest Cache
  19. ToolKit For Elementor
  20. AMP For WP
  21. Query Monitor
  22. Display PHP Version
  23. GTmetrix For WordPress
  24. WP Hosting Performance Check
  25. Better Search Replace

1s-2020-GTmetrix-Report

 

1. WP Rocket

WP Rocket was rated the #1 cache plugin in most Facebook polls.

That’s because it comes with more features than any other cache plugin. This means better GTmetrix results and less plugins needed on your site. Otherwise, with other cache plugins, you would need to research which features it doesn’t include, then install these extra plugins if it doesn’t support them. If you’re like me, you want to use 1 plugin (WP Rocket) for everything.

  • Database cleanup (built-in to WP Rocket, or use WP-Optimize)
  • Heartbeat control (built-in to WP Rocket, or use Heartbeat Control)
  • Lazy load images/videos (built-in to WP Rocket, or use WP YouTube Lyte)
  • Host Google Analytics locally (built-in to WP Rocket, or use CAOS For Analytics)
  • Prefetch DNS Requests (built-in to WP Rocket, or use Pre* Party Resource Hints)
  • Host Google Fonts locally (built-in to WP Rocket, or use CAOS For Fonts, or SHGF)
  • Integration with Cloudflare + other CDNs (built-in to WP Rocket, or use CDN Enabler)

Get 10% off WP Rocket by signing up for their email list on their coupons page. Then check my recommended WP Rocket settings for optimal GTmetrix scores/load times.

2016 best cache plugin poll

2019 cache plugin poll

Swift vs WP Rocket

2016 cache plugin poll

Best cache plugins 2018 poll

wp rocket vs w3 totla cache

WP-Rocket-Features

 

2. SG Optimizer

SG-Optimizer-Plugin

SG Optimizer only works if you’re on SiteGround’s hosting.

On a demo website, I tested SG Optimizer with a fresh installation of Astra’s Outdoor Adventure theme on SiteGround’s GrowBig plan and got a 1s load time with 99%/94% GTmetrix scores. If I used a CDN, my GTmetrix scores would have been exactly 99%/100%.

Since SiteGround’s big update to SG Optimizer, it’s now comparable to WP Rocket. It also uses server-side caching and binaries which is faster and more efficient than the file-based caching by other cache plugins (including WP Rocket). If you’re on SiteGround, I would definitely use it.

See my recommended SG Optimizer settings to learn how to configure SG Optimizer.

SG Optimizer Features

  • Caching (static, dynamic, memcached)
  • Minify & combine HTML, CSS, JS
  • Gzip compression
  • PHP version selection
  • Optimize Google Fonts
  • Defer render-blocking JS
  • Compress new + existing images
  • Lazy load images, videos, iframes, Gravatars, thumbnails, widgets, mobile

Features SG Optimizer Lacks

  • Heartbeat control
  • Database cleanup
  • Bloat removal
  • CDN URL
  • Prefetch + preconnect
  • Host Google Analytics locally

 

 

 

3. Perfmatters

Kinsta’s Perfmatters is the ultimate bloat removal plugin.

A few notable features include decreasing the autosave interval, limiting post revisions, disabling heartbeat and pingbacks, prefetching + preconnecting fonts and third party scripts, and optimizing WooCommerce scripts, styles, and cart fragments. It basically takes care of the last 10% of WordPress speed optimization with features WP Rocket/SG Optimizer don’t have.

perfmatters features

Perfmatters includes a script manager for selectively disabling scripts/plugins on specific content (same thing as Asset CleanUp). Some plugins load across your entire site even when they’re not being used. By selectively disabling plugins, you will reduce page sizes and make them load faster. There’s also a Regex option to better control where plugins are being loaded.

Examples:

  • Disable slider plugin on pages not using sliders
  • Disable rich snippets plugin on pages not using rich snippets
  • Disable contact form plugin on pages not using contact forms
  • Disable affiliate link management plugin on pages not using aff links
  • Disable social sharing plugin on all pages (since it’s usually for blog posts)

perfmatters-script-manager

 

4. Asset CleanUp

Same thing as the Perfmatters script manager (lets you selectively disable scripts/plugins) only Asset CleanUp doesn’t have bloat removal options, but it is free. Plugin Organizer and Plugin Load Filter are similar, but AssetCleanUp has great reviews and is what most people are using.

Asset CleanUp Check All

 

5. TinyPNG

Compresses images to get 100% for the “optimize images” items in GTmetrix.

I have tried Imagify, ShortPixel, and other image optimization plugins but they all resulted in a loss in quality even when the “lossless” option was selected. Slowly but surely, I am redoing these images in TinyPNG. I see barely any quality loss which I can’t say for the other plugins.

TinyPNG-Plugin

 

6. WP-Optimize

A big difference between WP-Optimize and WP Rocket’s database cleanup feature, is that WP-Optimize lets you delete old plugin tables.

Both plugins let you delete trash (trashed posts, spam posts, post revisions, transients) and optimize your database tables. But WP-Optimize lets you view your individual database tables and delete tables left behind by old (not installed) plugins. If you don’t plan on using these plugins again, you can delete their tables since they often leave behind pre-configured settings.

WP-Optimize-Tables

WP Rocket does the same thing, only it doesn’t let you delete old plugin tables:

WP-Rocket-Database-Settings

 

7. WP YouTube Lyte

Lazy loads videos by inserting responsive “Lite YouTube Embeds” which only calls the “fat” YouTube player when the play button is clicked. Videos take the longest time to load by far. Just to give you an idea, my W3 Total Cache tutorial only has 2 videos, but when I lazy load them that post’s load time went from 5s to 1.5s. It has the same function as light video embeds.

If using WP Rocket, you can simply lazy load videos and replace iframes with a preview image.

WP-Rocket-Lazy-Load

 

8. Heartbeat Control

The WordPress heartbeat API consumes resources by sending you real-time plugin notifications, when other users are editing a post, and so on. 99% of people should disable it.

Heartbeat-Control

WP Rocket and Perfmatters also let you disable it, or add this code to your functions.php file.

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

 

9. Pre* Party Resource Hints

Supports browser resources hints which can make fonts and scripts load faster.

WP Rocket already supports prefetch + preconnect, otherwise you can use Pre* Party Resource Hints. Third party scripts can be found in the “reduce DNS lookups” section of your GTmetrix report or shown as “reduce the impact of third party code” in PageSpeed Insights.

These can be Gravatars, Google Analytics, Maps, Tag Manager, AdSense, embedded videos, or any third party request generated on your website. You’ll want to prefetch these (Luke created a nice list of common domains to prefetch). And if you’re using Google Fonts or Font Awesome, grab your font URLs from the GTmetrix Waterfall tab and add them to the preconnect section.

Third-Party-Usage

 

10. OMGF | Host Google Fonts Locally

OMGF can fix Google Font-related errors by downloading all your Google Fonts (using the Google Fonts Helper API) and generating a stylesheet for them. You will need to configure the settings to serve fonts from your CDN and select the folders to save font files to. While some plugins like WP Rocket and SG Optimizer already optimize fonts, OMGF can often yield better results especially when served from a CDN. The Self-Hosted Google Fonts plugin is similar.

Google-Fonts-GTmetrix

What it looks like:

OMGF-Settings

Tip: if using external fonts, be minimal with the number of fonts (and font weights) you choose. If for some reason this plugin doesn’t fix errors, I have a guide for hosting Google Fonts locally.

 

11. CAOS | Host Google Analytics Locally

Leverage Brower Caching Google Analytics

CAOS fixes the leverage browser caching item in GTmetrix by hosting Google Analytics locally. Install the plugin, enter your Tracking-ID, and CAOS will add the Tracking Code to the header or footer. But if you’re using WP Rocket or Perfmatters, these already have this functionality.

CAOS-Analytics-Settings

 

12. wpDiscuz

Why is wpDiscuz in my list of WordPress speed plugins?

Because with wpDiscuz, I get an awesome comment plugin on my blog with virtually no expense to my GTmetrix report. This is usually not the case with other commenting plugins. Go to your wpDiscuz settings and use the tweaks below which should make the plugin load faster.

Recommended settings to speed up wpDiscuz:

Comment Thread Displaying → initiate AJAX loading after page and lazy load comment.

Disqus-Comment-Thread-Displaying

General → disable “use WordPress native AJAX functions” and enable combine/minify JS/CSS.

Disqus-General-Settings

Styles And Colors → disable “load font awesome CSS lib.”

Disqus-Load-Font-Awesome-CSS-Lib

 

13. Flying Scripts

Flying_Scripts_by_WP_Speed_Matters

This plugin helps you optimize third party scripts found in GTmetrix (reduce DNS lookups) and PageSpeed Insights (minimize third party scripts).

It delays loading of JavaScript until the timeout period you set in the plugin. For example, you can delay loading your comments plugin and Gravatars for 3 seconds which can significantly speed up initial load times. In fact, Flying Scripts is the only plugin that let me show Gravatars without them affecting GTmetrix. It is definitely one of my favorite WordPress speed plugins.

Flying-Scripts

 

14. WP User Avatar

The blank default Gravatar can still create errors in GTmetrix.

If you don’t want it to, install the WP User Avatar plugin which hosts the default Gravatar locally. Upload your own optimized Gravatar image (ideally a 50×50 pixel compressed image).

WP-User-Avata

 

15. CDN Enabler

CDN Enabler helps you set up a CDN (content delivery network). This does not work with Cloudflare which requires changing nameservers, while CDN enabler is specifically for StackPath, KeyCDN, and other CDNs that provide a CDN URL. First, sign up for a CDN (I use StackPath) then enter your CDN URL into the CDN Enabler plugin. See instructions below:

Step 1: Sign up for a CDN (I use StackPath who has 34 data centers) and create a CDN site.

Step 2: Grab Your CDN URL:

StackPath-CDN-URL

Step 3: Enter your CDN URL into CDN Enabler, then configure the settings:

CDN-Enabler-Plugin-Settings

 

16. Breeze By Cloudways

Breeze is only if you’re using Cloudways hosting.

It has a long way to go if they want to catch up to SG Optimizer or WP Rocket, and I would personally use WP Rocket instead as it lacks many features (probably why it doesn’t have the best ratings). While I highly recommend Cloudways hosting, I can’t recommend Breeze yet.

Breeze-Cache-Plugin

While the Cloudways Breeze plugin isn’t great, their hosting is.

SiteGround-vs-Cloudways

 

17. Autoptimize

Optimizes HTML, CSS, and JavaScript. You don’t need Autoptimize unless you’re hosted on GoDaddy, WP Engine, or any host who blacklists cache plugins, since WP Rocket and most cache plugins optimize the code for you. But while GoDaddy and WP Engine’s built-in caching might be fine, it doesn’t optimize HTML/CSS/JS. That’s where Autoptimize comes into play.

Autoptimize

 

18. WP Fastest Cache

WP Fastest Cache is usually rated one of the top free cache plugins and is easy to configure. However, it lacks quite a few features and if you want them, you’ll need to upgrade to the premium version, in which case you’ll be better off with WP Rocket. I have a configuration tutorial on the WP Fastest Cache settings as well as W3 Total Cache and WP Super Cache.

WP-Fastest-Cache-Settings

 

19. ToolKit For Elementor

ToolKit does a little bit of everything (minification, combination, font optimization, lazy load, bloat removal, gzip, browser caching, expires headers), but it doesn’t do everything. You’ll be better off using WP Rocket combined with Perfmatters. One thing I like about ToolKit is the option to disable unused widgets in Elementor, WordPress, and in the WordPress dashboard.

ToolKit-for-Elementor

 

20. AMP For WP

I was using AMP, but I ultimately disabled it and now I don’t. But if you want to add AMP (accelerated mobile pages) to WordPress, this is one of the most highly rated AMP plugins since it has lots of customization options. One of the frustrating parts about AMP is that it strips some of your design elements, so you want to make sure the mobile pages still look nice.

Warning: AMP can sometimes decrease mobile conversions. Read Kinsta’s study on how their conversions dropped 59% when using AMP. I ultimately decided against it.

AMP-Pages

This plugin has tons of settings for customizing mobile pages:

Accelerated-Mobile-Pages-Plugin-Settings

 

21. Query Monitor

Find your slow loading plugins, queries, scripts, and other elements that take longest to load. Make sure you delete it when you’re done, since Query Monitor can cause high CPU in itself.

Query Monitor Slow Plugins

You can also use GTmetrix Waterfall to find your slowest plugins:

Slow WordPress Plugin

 

22. Display PHP Version

Display PHP Version simply shows which PHP version you’re running. Faster PHP versions = faster load times, so be sure to login to your hosting account and use the latest PHP version.

Display-PHP

 

23. GTMetrix For WordPress

The GTmetrix WordPress plugin monitors your load times and PageSpeed + YSlow scores, then sends you a report directly in your WordPress dashboard, or through scheduled email reports.

GTmetrix-WordPress-Dashboard-Widget

GTmetrix-Scheduled-WordPress-Reports

GTmetrix-Scheduled-Reports

 

24. WP Hosting Performance Check

Shows overall performance of hosting and whether your technology (PHP, MySQL, WordPress versions) is running slow, in which case it should be updated. It also shows your slowest pages.

Hosting-PHP-Server-Response

Browser-Load-Speed

Web-Server-Response-Time

Bytecheck.com and GTmetrix also show your TTFB (time to first byte) in the Waterfall tab:

TTFB Check

GTmetrix TTFB

Cool Trick: one of the only things PageSpeed Insights is good for is checking for server response times. Google says it should be under 200ms. If not, your server (hosting) is slow.

Reduce Server Response Time Under 200ms

 

25. Better Search Replace

If you see minimize redirects in your GTmetrix report, this usually means you changed the WWW or HTTPS version of your site, but didn’t change your links to reflect the new version.

Minimize-Redirects

Instead of fixing all your links manually, use the Better Search And Replace plugin to update them in bulk. It can also be helpful for fixing broken links, or even bulk updating links/images which appear on multiple pages/posts. Better Search Replace can be an enormous time saver.

Better Search Replace – WWW Versions

 

Other Notable Tools / Resources

Cloudways and SiteGround – they are usually rated the top hosts in Facebook polls by far, with many people who migrated and posted their new load times. Both use cloud hosting and are extremely fast; SiteGround is more user-friendly but renewal prices are high and they have strict CPU limits. Cloudways is usually faster but more technical and they don’t support direct email hosting (you would need a Rackspace account). Both are very fast and do free migrations.

Cloudways Response Times

SiteGround Load Time Migration

SiteGround-Bluehost-Migration

Switching To SiteGround

Godaddy to DigitalOcean Migration

2018 Hosting Recommendations

Favorite Hosting For Elementor

VPS Cloud Hosting WooCommerce Poll

Hosting Recommendations Facebook

2017-WordPress-Hosting-FB-Poll

Untitled

SiteGround Response Times On Joomla

SiteGround-HostGator-Migration

HostGator To SiteGround Migration

Vultr Migration

July 2019 Hosting Recommendation

Elementor Hosting Recommendations

WordPress Hosting Suggestions

VPS Cloud Hosting Poll

2016-WordPress-Hosting-FB-Poll

Preferred-Web-Hosting-Poll

Affiliate Disclaimer – if you sign up for Cloudways or SiteGround using my affiliate link, I will earn a commission at no expense to you. I am not an affiliate for Bluehost, HostGator, or GoDaddy because they’re not fast and the results show it. I also donate a good chunk of my blog’s income to GoFundMe campaigns and would seriously appreciate your support. I try to make recommendations based on pure evidence.

Cloudflare – free CDN and speed/security service which mirrors your site (and offloads resources) on over 200+ data centers. Integrates with most cache plugins with options to use aggressive minification, Railgun, and hotlinking. All my cache plugin tutorials include Cloudflare setup instructions and don’t forget to set up page rules for your WordPress site.

StackPath – paid CDN which adds 30+ additional data centers around the world (more data centers = faster content delivery), reducing the distance between your website/visitors – a recommendation in the WordPress optimization guide. $10/month with a free 30-day trial.

Pingdom – most accurate tool for measuring load times according to WP Rocket, though GTmetrix has better recommendations for actually optimizing your site, in my humble opinion.

GTmetrix – good for identifying images that need to be optimized using the 3 methods: serving scaled images (resizing them), specifying images dimensions in the HTML/CSS, and optimizing images (lossless compression). GTmetrix recently switched to a fully loaded time metric which shows a longer load time than previously. Their waterfall tab measures individual slow loading elements, and if your time to first byte is long that indicates your hosting is slow.

Google PageSpeed Insights – most recommendations can be ignored but it’s good for measuring server response time which Google recommends <200ms or your hosting is slow.

Pronaya (My WordPress Speed Optimizer) – you can hire my WordPress speed optimizer on freelancer.com who I’ve been working with for 5 years and we’ve optimized multiple sites to load 500% faster. His name is Pronaya, he’s $40/hour and has a perfect 5/5 star review with 19 reviews (just sign up for a Freelancer account and search for user BDKAMOL). If you think I’m good at speed optimization, Pronaya is way better. I’ve also been working with Usama (his username is I333) who is quite cheaper but is also amazing with 4.9/5 stars and 375+ reviews.

 

Frequently Asked Questions

🚀 What are the 5 most important speed plugins?

WP Rocket, SG Optimizer, OMGF, Perfmatters, and Autoptimize are 5 top speed optimization plugins.

🚀 What is the best cache plugin?

WP Rocket was rated the #1 cache plugin in numerous Facebook polls because it has more speed features than other cache plugins including database cleanup, heartbeat control, lazy load, and optimizing Google Analytics. WP Fastest Cache is usually rated the top free cache plugin, and SG Optimizer is good if you're on SiteGround.

🚀 What's the best image optimization plugin?

ShortPixel, TinyPNG, Imagify, and Smush are 4 popular image optimization plugins.

🚀 Which plugin is best for optimizing fonts?

OMGF, Perfmatters, WP Rocket, and Autoptimize all have font optimization options. WP Rocket and Perfmatters let you preconnect them which makes them load even faster.

🚀 Should I add AMP?

We chose not to use AMP after reading Kinsta's article about how their conversions dropped by roughly 50% due to AMP.

My WordPress Speed Optimization Tutorial – has 400+ comments with people saying things like “My page speed score on gtmetrix went from 69 to 93” and “this might be one of the most helpful posts I’ve ever read.” Tons of people have used it to improve Pingdom/GTmetrix scores.

I hope you find these WordPress speed optimization plugins useful! If you have questions leave me a comment. Or if you simply need to fix your slow WordPress site, see my tutorial above. It has over 400 comments and has helped many people reduce their load time to <1s.

Cheers,
Tom

How To Optimize Images In WordPress (For Both Speed + SEO)

When it comes to image optimization, you’ve probably heard enough about alt text.

There are actually 20 different ways to optimize images (if you include both SEO and speed optimization). These will give you better scores in GTmetrix/Pingdom, potentially rank you higher in search, and make your content load much faster. I’ve managed to get a 100% GTmetrix report with .5s load times… optimizing my images in WordPress was a big part of it.

Optimize images BEFORE uploading – using a program like Photoshop to optimize images before uploading them can save lots of work. You can resize, compress, strip EXIF data, save in correct format (eg. PNG/JPEG), and write a descriptive file name (which will automatically be used as the alt text if using the Automatic Image Alt Attributes plugin). That’s 6 optimizations!

If you require high resolution images (eg. a photography website), you may not want to resize and compress them (step 3 and 8) since these can reduce quality, even if it’s by a small amount.

Main tools I use – I use GIMP to resize/compress images (my image editor of choice), WP Rocket for my cache plugin, Imagify for further lossless compression + removing EXIF data, both Cloudflare and StackPath CDN, Automatic Image ALT Attributes plugin to automatically use the image file name as alt text, and Optimum Gravatar Cache to cache Gravatars in comments. I use WP Review Pro as my rich snippets plugin, Better Search Replace to bulk update images (very handy), and GTmetrix as my speed testing tool. See the full list of tools.

Table Of Contents

  1. Find Unoptimized Images
  2. Serve Scaled Images
  3. Specify Image Dimensions
  4. Losslessly Compress Images
  5. Combine Images Into CSS Sprites
  6. Avoid Image URL Redirects
  7. Serve Images From A CDN
  8. Cache Images
  9. Make Favicon Small And Cacheable
  10. Remove EXIF data
  11. Cloudflare Image Optimization
  12. Lazy Load Images
  13. Save As Correct Format
  14. Image File Names
  15. Alt Text
  16. Open Graph (Facebook + Twitter)
  17. Images In Featured Snippets
  18. Structured Data
  19. Style Images
  20. Resize GIFs
  21. Cache Gravatars
  22. Avoid Embedding Images From External Websites
  23. Image Optimization Tools

 

1. Find Unoptimized Images

Run your site through GTmetrix and you’ll see these items in the Page Speed/YSlow tabs. The first five are usually page-specific, meaning GTmetrix will only show the unoptimized images for the single page you test. The last 3 usually occur on your entire site. Of course, these are only 7 ways to optimize images, but some of the most important, so we’ll be doing these first.

  • Serve scaled images: resize large images to correct dimensions (step 2)
  • Specify image dimensions: specify a width/height in the image’s HTML or CSS (step 3)
  • Optimize images – losslessly compress images (step 4)
  • Combing images using CSS sprites – combine multiple images into 1 image (step 5)
  • Avoid URL redirects – don’t serve images from wrong www or http(s) version (step 6)
  • Use a content delivery network – serve images/files from a CDN (step 7)
  • Leverage browser caching –  cache images/files using your cache plugin (step 8)
  • Make favicon small and cacheable – use a 16x16px favicon and cache it (step 9)

Image Optimizations In GTmetrix

Start by fixing images that appear on multiple pages: logo, sidebar/footer images, etc. Also start with serve scaled images as you may have to resize/reupload them with new dimensions.

 

2. Serve Scaled Images

If you see serve scaled images errors in GTmetrix, it means you have oversized images and need to resize them to the correct dimensions (which GTmetrix provides you with). As long as you follow your image dimensions cheat sheet (see below), you shouldn’t see these errors. But if you already uploaded oversized images, you’ll need to resize them manually, or use a plugin.

Serve-Scaled-Images

Bulk Resize Images Using A Plugin – the problem with this, is that different images call for different dimensions (widgets, sliders, fullwidth images). While most image optimization plugins have an option to resize images to one single specific set of dimensions, you should really crop/resize them before uploading. If you do resize images using a plugin, keeps backups of the original images (and only test a few out) in case you’re not happy with the results.

Resize Large Images

Resize Images Manually – get the correct dimensions from GTmetrix and resize/reupload them. Remember, GTmetrix only shows unoptimized images for the single page you test.

Create A Cheat Sheet Of Your Website’s Image Dimensions
Your sliders, blog sidebar, featured images, and blog content body all call for specific dimensions which images should be resized to. Create a cheat sheet so you can resize them before uploading them to WordPress. This is especially helpful if you have many areas of your website requiring different images sizes, and if you have multiple designers/editors.

Example:

  • Slider images: 1900(w) x 400(h)
  • Carousel images: 115(h)
  • Widget images: 414(w)
  • Fullwidth blog post images: 680(w)
  • Featured images: 250(w) x 250(h)
  • Yoast Facebook OG image: 1200(w) x 628(h) – step 11
  • Yoast Twitter OG image 1024(w) x 512(h) – step 11

680 Pixel Width Rectangle

 

3. Specify Image Dimensions

This means adding a width/height to the image’s HTML or CSS. The Visual Editor does this for you (but widgets, some page builders, and custom HTML do not). Test a few pages in GTmetrix.

GTmetrix tells you the image’s dimensions…

Speciy Image Dimensions GTmetrix

Add the width/height to the image’s HTML…

Specify Image Dimensions

 

4. Losslessly Compress Images

These are “optimize images” items in GTmetrix. Many programs (eg. Photoshop and Gimp) have the option to compress when exported. While this is a great start, image compression plugins usually get even better results. I prefer Imagify, Kraken, ShortPixel, or Smush. Other plugins are known to visually reduce image quality and may cause errors with your images.

Compressing Images With Imagify

  1. Sign up for Imagify
  2. Install the Imagify Plugin
  3. You will be prompted with the instructions below:
  4. Enter your API key from your Imagify account
  5. Set your compression level (normal, aggressive, ultra)
  6. Imagif’em all (photo below) with bulk optimizes all images on your site
  7. Once you’ve reached your limit, pay $4.99 or wait next month to reset your limit

imagify

Test how images look with different levels of compression…

Imagify Compression Comparison

Once signed up, bulk optimize all images on your site…

imagify-wordpress-image-optimization

Set the option to optimize images on upload…

Imagify Optimize Images On Upload

 

5. Combine Images Into CSS Sprites

On my homepage, you may think you see 21 icons, but they’re actually 1 single image. This is a CSS sprite, where you combine multiple images into 1 single image. This reduces the number of images (and requests) which is why my homepage only has 10 requests. Instead of loading 21 images, it loads 1. You will need CSS knowledge to do this, or use a CSS sprite generator.

CSS Sprites

GTmetrix CSS Sprites

Only Use CSS Sprites For Decorative Images – you lose a lot of image alt tags when you combine 21 images into 1. Do NOT combine important images into CSS sprites if they describe your content. As for me, the speed of my homepage is more important than it’s SEO… I use my homepage’s GTmetrix report in a lot of places (so I have to keep it clean) and my homepage, believe it or not, doesn’t target a keyword. It’s purpose is to outline my tutorials… and load fast.

 

6. Avoid Image URL Redirects

If you changed to HTTPS, www versions, or started serving images from a CDN, you should bulk update all your images (and links) using Better Search Replace so they are serving the correct version. Otherwise you may see minimize redirects or use cookie-free domains errors.

Minimize Redirects

Cookie Free Domains

Use the Better Search Replace plugin to bulk update image URLs…

Better Search Replace WWW Versions

Better Search Replace HTTP vs. HTTPS

 

7. Serve Images From A CDN

This requires changing image URLs to include your CDN URL

  • Old Image URL (Without CDN)https://onlinemediamasters.com/wp-content/uploads/2017/02/Tom-Dupuis-Widget.png
  • New Image URL (With CDN)https://t9w8m8j8.stackpathcdn.com/wp-content/uploads/2017/02/Tom-Dupuis-Widget.png

Cloudflare vs. StackPath – I use both Cloudflare and StackPath since more data centers = faster content delivery. Cloudflare has 200+ data centers, StackPath has 34+ data centers which are heavily located in the United States (which is where most my visitors are from). Cloudflare does not assign you a CDN URL so we’ll use StackPath’s CDN to serve images.

StackPath-Data-Centers

Step 1: Choose a CDN. I use StackPath (they have a 30-day trial).

Step 2: In the dashboard, click the CDN tab, then create a StackPath CDN Site

StackPath-CDN-Tab

StackPath-CDN-Domain

CDN-URL-StackPath

Step 3: Copy your CDN URL and paste it into your cache plugin (below is for WP Rocket)…

WP-Rocket-CDN

Step 4: Replace image URLs to include your CDN URL (using Better Search Replace).

Better Search Replace CDN URL

Step 5: Check for old image URLs using Chrome DevTools. Sometimes, your cache plugin or CDN Enabler takes care of this, except links in CSS and JavaScript which are hard-coded. For the links which are left behind, they are normally in files (such as CSS or Javascript) that need manual checking and replacing. Chrome DevTools shows you all domains currently being used.

Step 6: Run your site in GTmetrix and “content delivery network” should be green in YSlow. You shouldn’t have any errors in “minimize redirects” or “use cookie-free domains” either.

CDN GTmetrix YSlow

 

8. Cache Images

Most cache plugins have an option for browser caching, which caches images. I use WP Rocket which was rated the #1 cache plugin in multiple Facebook polls, and I have tutorial for that. Swift Performance is generally ranked the #1 free cache plugin (I have a tutorial for that too).

Browser Caching

 

9. Make Favicon Small And Cacheable

Ensure your favicon is 16x16px, is favicon.ico format, and is cached using your cache plugin.

 

10. Remove EXIF data

Exif data contains information such as aperture, shutter speed, ISO, focal length, camera model, date the photo was taken, and more. You don’t need this for images on your website. The VA Removing Exif plugin removes Exif data automatically once images are uploaded.

Most image optimization plugins (including Imagify, ShortPixel, Kraken, EWWW, and Smush) have an option to remove EXIF data automatically. Here is the settings for Imagify…

Imagify Remove EXIF Data

 

11. Cloudflare Image Optimization

Cloudflare also has a few ways to optimize images. Mirage and Polish are found in your Cloudflare speed settings while Hotlink Protection is found in your Scrape Shield settings.

Cloudflare Mirage (Pro Feature) – reduces image requests, lazy loads images, and improves image load times on mobile devices with slow network connections. Here are more details…

  • Resizes images based on a visitor’s device/connection. A visitor on a poor connection will get a smaller version (lower resolution) until they are back on a higher bandwidth.
  • Reduces amount of requests – instead of sending multiple requests for all images on the website, Mirage pulls this into one request so visitors can see images immediately.
  • Lazy loads images (only loads them once users scroll down and actually see the image).

Cloudflare Image Mirage

Cloudflare Polish (Pro Feature) – strips EXIF data and compresses images.

Cloudflare Image Polish

Cloudflare Hotlink Protection – prevents people from copying your images and pasting them on their own website, which (since you’re still hosting that image) will suck up your bandwidth.

Cloudflare Hotlink Protection

 

12. Lazy Load Images

This delays the loading of images until users scroll down the page and visibly see the image. While it improves initial load times, constantly loading images as you scroll can be very annoying. I personally only lazy load videos, since those take much long to load than images.

You can use the Lazy Load plugin, Lazy Load For Videos plugin, or use WP Rocket…

WP-Rocket-Lazy-Load

 

13. Save As Correct Format

PNG vs. JPEG – PNG is uncompressed (larger file size) and should be used in simple images without lots of colors. JPEG is a compressed (smaller file size) which slightly reduces image quality but is smaller in size, and is used in images with lots of colors. GIMP and other image editing programs should use the correct format automatically, but this is still good to know.

jpg_vs_png

Illustration by Labnol
 

14. Image File Names

Search engines use both alt text and image file names, so name your files before uploading them to WordPress. If you’re using a plugin that adds alt text automatically based on the file name, naming your files is all you need to do! Do not stuff keywords, just describe the image.

Label Image File Names

 

15. Alt Text

These should be the same as your image file name. You can use the Automatic Image Alt Attributes plugin to automatically use the file name as the alt text. As long as you’re using relevant images, some of them should naturally include (bits) of your keyword… there is absolutely no reason to stuff keywords in images, which risks a keyword stuffing penalty.

Add Alt Text To Images Automatically – use the Automatic Image Alt Attributes plugin. Now whenever you add an image, the plugin will add alt text which is the same as the file name…

<img src="https://website.com/wp-content/uploads/2016/08/WP-Fastest-Cache-Plugin.jpg" alt="WP-Fastest-Cache-Plugin" width="577" height="247" />

Find Missing Alt Text – Screaming Frog is a free tool that shows you all images missing alt text.

  • Download Screaming Frog SEO Spider
  • Enter your website and click “Start” to crawl the website
  • Click the images tab
  • Go to Overview → Missing Alt Text (see below)
  • Locate those images on your site and add alt text

Missing Image Alt Text – Screaming Frog

 

16. Open Graph (Facebook + Twitter)

This makes your content format properly when shared on Facebook/Twitter, specifically your image since both networks use custom dimensions to display it, otherwise it will look funny.

facebook-share

If using Yoast, go to the “Social” settings and enable Open Graph for both Facebook/Twitter…

Yoast-Social-Meta-Data

Now edit a page/post, then click the “share” link in Yoast and you will see options to upload custom images for Facebook (1200 width x 628 height) and Twitter (1024 width x 512 height).

yoast-social-media-optimization

 

Featured snippets are when Google shows bits of your content at the top of search results and can (but are not guaranteed) to include an image. Google will pull these from any 1st page result, however it’s up to them whether they will even display a featured snippet or image. These also make your snippet show up twice and are an incredible way to get lots of traffic.

3 Types Of Featured Snippets

  • Answers
  • Tables
  • Lists

Featured-Image-Snippets

How To Get Featured Snippets In Google

  • Target a keyword where people want a concise answer
  • Use Moz Keyword Explorer to identify question keywords
  • Use Answer The Public to find even more question keywords
  • Choose whether the answer should be a paragraph, list, or table
  • Design a nice graphic (or take a photo) describing the keyword
  • Use optimal character length (see photo below taken from Moz)
  • Create fact-based content with quality references (links, graphics, etc)
  • Target keywords that already have an featured snippet but do a poor job
  • If you’re aiming for the answer box, target your keyword using an exact match
  • Make sure you’re on the 1st page for the keyword, if not, improve the content

Optimial Featured Snippets Length

 

18. Structured Data

Images can be used in structured data (and badges) for the following content types:

Video Rich Snippet

Recipe-Rich-Snippets

Product Rich Snippet

What Rich Snippets Plugin Should I Use?
I use MyThemeShop’s WP Review Pro (here’s a page I use it on) which supports 14 data types including recipes and product reviews. I used to use WP Rich Snippets but the developer abandoned the plugin and it hasn’t been updated for 2+ years, and the All In One Schema plugin is just boring (it has a lack of options and styling). WP Review Pro is very easy to use.

 

19. Style Images

Don’t forget to style your images! I use borders on most of mine.

  • Image Titles
  • Image Links
  • Image Borders
  • Image Captions

 

20. Resize GIFs

Just like you resize images to the correct dimensions, GIFs should be resized too (use GIF GIF).

Resize the GIF…

Resizing GIFs

Then compress it…

Compress GIFs

The result :-)

Optimize Dog GIF

 

21. Cache Gravatars

If you have posts with lots of comments, Gravatars can completely ruin your report. You can disable them, break comments to only show a certain number of comments, or try a Gravatar cache plugin. You may need to do a bit of testing as some plugins don’t work on some websites.

  • Cache Gravatars (Optimum, Harry’s, or FV Gravatar Cache)
  • Disable Gravatars completely
  • Set your default Gravatar to blank
  • Delete comments that don’t add value
  • Set your default Gravatar to a custom image on your server
  • Restrict your Gravatar images to smaller dimensions (e.g. 32px)
  • Paginate comments in WP Disable to only show 20 comments at a time
  • If none of these work, check out WP Rocket’s caching Gravatars tutorial

Cache-Gravatar-Images

 

22. Avoid Embedding Images From External Websites

Always upload images to your website, never copy/paste them. Otherwise you end up with extra requests as the image isn’t hosted on your server so it has to pull it from somewhere else.

 

23. Image Optimization Tools

Avoid using plugins with duplicate functionality – Imagify, ShortPixel, Kraken, EWWW, and Smush all basically do the same thing (lossless compression, EXIF data removal, resize images). WP Rocket has options for lazy load, caching, and CDN (and database cleanup + hosting Google Analytics locally) which most cache plugins do not, saving you from using extra plugins.

 

Frequently Asked Questions

✅ How do you fix Optimize Image errors in GTmetrix?

By losslessly compressing them using a plugin like ShortPixel, Imagify, or Smush. I use ShortPixel because it always fixes this error in GTmetrix.

✅ How do you fix Serve Scaled Image errors in GTmetrix?

This means you need to crop/resize images to the correct dimensions. If images are too large, GTmetrix will show serve scaled image errors and tell you the correct dimensions they should be resized to.

✅ How do you fix Specify Image Dimension errors in GTmetrix?

View the image's HTML and check to make sure it has a specified width and height, as shown in this tutorial.

✅ Any other ways to make images load faster?

Removing EXIF data and using a CDN to serve your images will make the most difference outside the recommendations in GTmetrix.

✅ Which image optimization is best?

I use ShortPixel because there is virtually zero loss in quality and it fixes the Optimize Images item in GTmetrix.

 

What Do You Think?
Does your GTmetrix report look a little better? Let me know in the comments! And if you want more tips that will get you even better scores/load times, see my full WordPress speed guide.

New-GTmetrix-Report

See Also: How I Got 100% GTmetrix Scores

Cheers,
Tom

How To Fix Bluehost’s Slow WordPress Hosting (Using GTmetrix, PHP 7.3, Cloudflare’s CDN, Cache Plugins, And Optimizing Images)

Have a slow WordPress site on Bluehost?

The easiest way to fix a slow WordPress site on Bluehost is by upgrading to PHP 7.3, removing slow plugins, using a solid cache plugin, Cloudflare’s CDN, and optimizing images to load faster.

There’s an easy way to tell if Bluehost is the problem: run your site through Google PageSpeed Insights to see if reduce server response time is in your report (Google recommends <200ms). If you have a high server response time or TTFB in GTmetrix, then your Bluehost server is slow.

A warning about Bluehost: Bluehost is not fast and mainly promoted by bloggers who want affiliate commissions. I set up an identical Astra website on blhstserver.com and cwdoserver.com. One is hosted on Bluehost, one is hosted on Cloudways DigitalOcean who was rated the #1 host in Facebook polls, conversations, and migration results. Visit the websites and click through their pages – you will see the difference in speed.

Benchmark your scores + load times in GTmetrix and post them in the comments! If you need help, leave your GTmetrix report in the comments and I’ll provide you with some suggestions.

How To Fix A Slow WordPress Site On Bluehost

  1. Check Your Website’s Server Response Time
  2. Upgrade To PHP 7.3 In Bluehost’s cPanel
  3. Activate Cloudflare’s CDN
  4. Configure A Solid Cache Plugin
  5. Make Images Load Faster
  6. Remove Slow Loading Plugins
  7. Remove Junk From Your WordPress Database
  8. Optimize Google Fonts
  9. Optimize Third Party Scripts
  10. Remove Bloat From WordPress
  11. Retest Your GTmetrix Scores
  12. Consider Moving To Cloudways

When you’re done, hopefully your GTmetrix report looks more like this:

1s-2020-GTmetrix-Report

This video should also help (timestamps are in the video description):

 

1. Check Your Website’s Server Response Time

Run your site through Google PageSpeed Insights to see if reduce server response time is in your report. If yes, this means your server (on Bluehost) is slow. A high number of websites on Bluehost have a slow server especially since Google recommends it should be under 200ms.

The only way to fix this is by lowering the amount of CPU consumed by your website (eg. deleting high resource plugins in GTmetrix’s Waterfall tab). Or upgrade your hosting to include more server resources (either with Bluehost or someone else) – but this is the #1 speed factor.

Reduce Server Response Time

Indicators Bluehost Is Slow

  • High server response time in PageSpeed Insights (over 200ms)
  • High TTFB (time to first byte) in GTmetrix Timings tab (over 200ms)
  • High PageSpeed + YSlow scores in GTmetrix, but load time is still slow
  • 503 service unavailable errors; this means the server is being overloaded

You may also want to read Bluehost’s resource usage section on their user agreement page. It says “Accounts with a large number of files (inode count in excess of 200,000) can have an adverse effect on server performance.” This means if your site is consuming lots of resources (from more traffic, slow plugins, etc), they throttle your bandwidth and slow down your site. Bluehost customers constantly complain about slow servers on Twitter and Bluehost forums.

Join Facebook Groups and do your research.

Bluehost-Managed-WordPress-Hosting

 

2. Upgrade To PHP 7.3 In Bluehost’s cPanel

Most WordPress users are running outdated PHP versions when upgrading can easily make your site 2-3x faster. Bluehost will not upgrade you automatically (because they don’t want to risk breaking your site) so you need to do this yourself as Bluehost releases new PHP versions.

How To Update PHP Version On Bluehost

  • Login to your Bluehost cPanel
  • Select the PHP Config option
  • Select PHP 7.3 and save changes

Bluehost PHP 7.3 1

 

3. Activate Cloudflare’s CDN

To add Cloudflare, login to Bluehost and go to Domains → Cloudflare → Activate.

Bluehost-Cloudflare

Bluehost Cloudflare

This activates Cloudflare’s CDN (content delivery network) which hosts your website on 200+ data centers around the world, reducing the distance between your server and visitors. It also helps offload resources to their data centers (lightening the load on your server) while improving security. Registering your site on the actual Cloudflare website, logging into your Cloudflare dashboard, and configuring the speed tab and page rules can further improve speed.

 

4. Configure A Solid Cache Plugin

WP Rocket was the #1 rated cache plugin, costs $49 and is what I use on my site. WP Fastest Cache was the top rated free cache plugin and is super easy to set up. Both can shave multiple seconds off your load time and I wrote tutorials for both, plus W3 Total Cache and WP Super Cache. Only use 1 caching plugin on your site – I recommend WP Rocket or WP Fastest Cache.

WP Rocket is better because it has more speed optimization features than other cache plugins, otherwise you would need to install the following plugins to get these (different cache plugins have different features, so only install them if your cache plugin doesn’t have a built-in feature).

  • Database cleanup (built-in to WP Rocket, or use WP-Optimize)
  • Heartbeat control (built-in to WP Rocket, or use Heartbeat Control)
  • Lazy load images/videos (built-in to WP Rocket, or use WP YouTube Lyte)
  • Host Google Analytics locally (built-in to WP Rocket, or use CAOS For Analytics)
  • Host Google Fonts locally (built-in to WP Rocket, or use CAOS For Fonts, or SHGF)
  • Integration with Cloudflare + other CDNs (built-in to WP Rocket, or use CDN Enabler)

2016 best cache plugin poll

2019 cache plugin poll

Swift vs WP Rocket

2016 cache plugin poll

Best cache plugins 2018 poll

wp rocket vs w3 totla cache

A glimpse of the WP Rocket settings (file optimization are the most important settings):

WP-Rocket-File-Optimization-Settings

Here’s a glimpse of the WP Fastest Cache settings:

WP-Fastest-Cache-Settings

 

5. Make Images Load Faster

There are a few primary ways to optimize your images; some are found in GTmetrix, others are found in Google PageSpeed Insights. All of them will contribute to better scores and load times.

Serve Scaled Images – means images are too large and need to be resized. When expanded, GTmetrix tells you which images have errors and their correct dimensions. Your logo, sliders, blog, and any image on your website usually calls for specific dimensions which you should be resizing them too. Start with images that appear on multiple pages (eg. logo + sidebar images). It’s a good idea to create a cheat sheet of your image dimensions so you can resize images accordingly (content body width, widget width, sliders, featured images, carousel images, etc). This way you or your designer can crop/resize images before uploading them to WordPress.

image-optimization

serve-scaled-images

Specify Image Dimensions – means you need to specify a width and height in the image’s HTML or CSS. The WordPress visual editor should take care of this automatically, however you usually need to do this manually with images that are hand-coded in HTML or CSS. Expand the “specify image dimensions” item in your GTmetrix PageSpeed report and they tell you the width/height.

specify-image-dimensions

Specifying Image Dimensions In HTML:
<img src=”/wp-content/uploads/2019/10/example-image.jpg” alt=”Example Image” width=”360″ height=”180″ />

Specifying Image Dimensions In CSS:
logo width: 180px (retina: 360px;)
logo height: 110px max (retina: 220px;)

Losslessly Compress Images – this is the “optimize images” item in GTmetrix. It means you need to compress images using a plugin like ShortPixel (what I use), Imagify, or Smush. Set your compression level in the plugin settings and test a few images before bulk optimizing them, since you may see a slight reduction in quality. Most are free until you reach the monthly quota.

Imagify-Optimize-Images-On-Upload

Lazy Load Images – can be done using WP Rocket and most image optimization plugins. This delays the loading of images until users scroll down the page and visibly see images. Can also be done for videos, including replacing YouTube iframes with preview images (seen in WP Rocket).

Serve Images In Next-Gen Format – this is an item in PageSpeed Insights. It means you need to use image formats like WebP instead of JPEG and PNG. Most image optimization plugins will convert images to WebP format for you, or if you’re using SVGs, use the SVG Support plugin.

 

6. Remove Slow Loading PLugins

Find Your Slowest Plugins – look through your GTmetrix report (especially the Waterfall tab) to find which plugins are causing issues with your load times. Delete or replace them if possible.

Slow WordPress Plugin

Avoid Slow Plugins – avoid these 65+ infamously slow plugins.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. All-In-One Event Calendar
  4. Backup Buddy
  5. Beaver Builder
  6. Better WordPress Google XML Sitemaps
  7. Broken Link checker (use Dr. Link Check)
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. Contextual Related Posts
  11. Digi Auto Links
  12. Disqus Comment System
  13. Divi Builder
  14. Essential Grid
  15. View Full List Of 65 Slow Plugins

Minimize Plugins – deactivate and delete any plugins you don’t absolutely need.

Consolidate Plugins – use 1 plugin for multiple features, for example, use WP Rocket for nearly all speed optimizations instead of individual plugins like WP-Optimize or Heartbeat Control.

Selectively Disable Plugins From Specific Pages – use Perfmatters or Asset CleanUp to disable plugins from running on specific pages/posts. If you only use your contact form plugin on the contact page, disable everywhere else. Or if you have social sharing buttons on your blog, disable them on pages. Seeing which scripts/plugins are loading on your pages is an eye opener.

perfmatters-script-manager

 

7. Remove Junk From Your WordPress Database

If you’re using WP Rocket for your cache plugin, you can skip this step since there’s an option to do this in the WP Rocket “database” settings. Otherwise WP-Optimize does the same thing… it cleans your database like your spam and trash folder, pingbacks, trackbacks, and potentially thousands of post revisions. Schedule a database cleanup every 2 weeks or so to keep it clean.

WP-Optimize Clean Database

WP-Optimize lets you delete tables left behind by old plugins which aren’t installed anymore.

WP-Optimize-Tables

 

8. Optimize Google Fonts

See font-related errors in your GTmetrix report?

Try installing and configuring the OMGF plugin. It automatically downloads your fonts and creates a stylesheet for them, so that they’re included in your site’s header which makes them easier to optimize. You can also try hosting fonts locally yourself. Elementor Pro also has custom font options for hosting them locally. Especially if you’re using an external font like Google Fonts or Font Awesome, make sure you are minimal with the number of fonts/weights.

Google-Fonts-GTmetrix

OMGF will automatically create the stylesheet for you:

OMGF-Generate-Stylesheet

 

9. Optimize Third Party Scripts

Third Party Scripts are anything “embedded” on your website from an external website.

This is anything from embedded videos to Google Fonts, Analytics, AdSense, Tag Manager, Maps, or even social sharing buttons on your blog. You can usually find these in the “reduce DNS lookups” section of your GTmetrix report. These all generate extra requests from outside websites and will slow down yours. While some can be optimized, others cannot.

  • Embedded Videos – Lazy load videos and replace the YouTube iframe with a preview images (in WP Rocket) or use the WP YouTube Lyte plugin by the Autoptimize team.
  • Embedded Social Media Posts – try taking a picture of the post and using that instead.
  • Google Analytics – try hosting your Google Analytics tracking code locally. This should fix the “leverage browser caching” issue for Google Analytics in your GTmetrix report, but don’t worry if you can’t fix this since it shouldn’t even impact your actual load times.
  • Google AdSense – a GTmetrix killer, I highly recommend just doing affiliate marketing.
  • Google Maps – only use a Google Map on the contact or pages optimized for local SEO.
  • Google Tag Manager – usually only benefits load times for large, unoptimized websites.

WordPress External Scripts

 

10. Remove Bloat From WordPress

By default, WordPress consumes resources with autosaves, post revisions, pingbacks, trackbacks, heartbeat API, jQuery migrate, and many other things you probably don’t need.

I use the Perfmatters plugin by Kinsta to disable these (I was using WP Disable but it has bad reviews and can cause errors on your site). Perfmatters is the only plugin that not only lets you disable the crap, but also has a script manager for selectively disabling plugins (the previous step) as well as hosting Google Analytics locally. It’s what I personally use on my own website.

perfmatters-settings

 

11. Retest Your GTmetrix Scores

Rerun your site through GTmetrix and you should see a significant improvement in scores/load time. If not, this probably means you’re on Bluehost’s cheapest $6.99/month plan and you’re getting what you pay for. Any serious website should not be on such a cheap plan especially if it’s a business website and you rely on it to make a living. Let me know your new page load time in the comments! Or send me your GTmetrix + Pingdom report and I’ll send a few suggestions.

Other Optimizations:

  • Use A Lightweight theme and use fast page builder (Oxygen)
  • For WooCommerce, optimize scripts, styles, and cart fragments in Perfmatters
  • Minimize redirects by using the correct HTTP(S) and WWW version of your site

1s-2020-GTmetrix-Report

 

12. Consider Moving To Cloudways

Switching from Bluehost to DigitalOcean on Cloudways is night and day.

I signed up for 15+ hosting accounts to test their speed. All domains in this video are live, which means you can visit them in real-time and click through their pages, use GTmetrix, etc.

Each website is identical except for it’s hosting (same Astra Starter Site, SSL, no caching, no CDN, and the same 6 plugins). I also used WP Hosting Performance Check and KeyCDN to measure the most popular options. The results align with what most people are saying in the WordPress Hosting Facebook Group which I recommend joining to get real, unbiased opinions.

I moved from SiteGround to DigitalOcean on Cloudways and the results speak for themselves. I’m also paying 1/2 of what I was. Cloudways also does free migrations which made it very easy.

SiteGround-vs-Cloudways

#1. DigitalOcean On Cloudwayscwdoserver.com was the fastest, is who I use, and are very popular in Facebook Groups (especially as an alternative to SiteGround). DigitalOcean is also the only host mentioned in the WordPress Optimization Guide. Cloudways was #1 in most recent Facebook polls and people who migrate usually see significant load time improvements. They use PHP 7.4, Maria DB 10.3, Memcached, Varnish, Nginx, and Redis. Pricing starts at $10/month with no strict CPU limits or renewal prices like on other hosts. The community manager is very helpful and they do free migrations. You can get 25% off your first 2 months with the promo code OMM25.

#2. Kinstaknstaserver.com had similar speeds as DigitalOcean on Cloudways only they are more expensive starting at $30/month. Known for being capable of handling many concurrent visitors. People consistently recommend Kinsta in Facebook Groups, Twitter, and in migration results. Even though they’re not always #1 in Facebook polls (likely because not everyone can pay $30+/month), they are great for high traffic sites.

#3. WPX Hostingwpxserver.com is also very quick, but Cloudways and Kinsta are slightly faster. Starts at $20-$25/month and is who Matthew Woodward recommends.

#4. A2 Hostingatwoserver.com usually outperformed other shared hosting but is not nearly as fast as cloud hosting (just cheaper). I use A2 for my girlfriend’s restaurant website and it’s decently fast with good uptimes. A2 (and all shared hosting) is only sufficient for smaller websites with low traffic/plugins. Otherwise, use cloud hosting.

#5. SiteGround – has gone downhill with many complaints about their renewal prices, price hikes, CPU limits, and support isn’t as good as it used to be. SiteGround shifted to Google Cloud hosting (instead of shared) which is supposed to be faster, but load times and TTFB on stgrndserver.com were usually above 1s. Their SG Optimizer plugin should help, but I still wouldn’t use them. You’re better off on Cloudways DigitalOcean.

Affiliate Disclaimer – I would seriously appreciate you using my affiliate links which means I earn a commission at no expense to you. This would help me make GoFundMe donations ($6,000 so far)! I try to base my recommendations on tests, Facebook polls, and conversations I see on a daily basis in the 30+ WP Facebook Groups I’m active on.

I would personally skip shared hosting since cloud hosting is exponentially faster. This is especially true if you’re on GoDaddy or EIG brands (eg. Bluehost and HostGator) and for resource-intensive websites running WooCommerce, WPML, page builders, or slow plugins.

There are plenty of migration results if you check Twitter and Facebook Groups. Avoid the bloggers promoting Bluehost and WP Engine because they have the highest commissions and do your research. Hosting is the #1 factor in WordPress’ optimization guide – very important!

Cloudways Response Times

Godaddy to DigitalOcean Migration

VPS Cloud Hosting WooCommerce Poll

Hosting Recommendations Facebook

2017-WordPress-Hosting-FB-Poll

2018 Hosting Recommendations

Favorite Hosting For Elementor

Untitled

Vultr Migration

WordPress Hosting Suggestions

VPS Cloud Hosting Poll

2016-WordPress-Hosting-FB-Poll

July 2019 Hosting Recommendation

Elementor Hosting Recommendations

Cloudways Facebook Review

 

14. Frequently Asked Questions

🔵 Is Bluehost the problem?

If you have a high server response time in Google PageSpeed Insights, Bluehost may be the problem. Bluehost is owned by EIG who is infamous for overcrowding their servers.

🔵 What can I do to improve speed on Bluehost?

Upgrade to PHP 7.3 in your Bluehost cPanel, activate Cloudflare's CDN, use a good cache plugin like WP Rocket, configure it with optimal settings, and optimize images and plugins.

🔵 Will upgrading plans improve load times?

Yes, but you should optimize your website first and consider alternative hosts. Bluehost's Optimized WordPress Hosting or VPS plans aren't nearly as fast as semi-dedicated or cloud hosting from other providers. Join some Facebook Groups and do your research.

🔵 Which WordPress speed plugins should I use?

WP Rocket, TinyPNG, and Perfmatters are 3 key WordPress speed plugins. If you're not using WP Rocket, you will need to install additional plugins to take care of Heartbeat Control, database cleanup, lazy loading, and hosting Google Fonts and Analytics locally.

🔵 Which speed testing tools should I use?

GTmetrix has the most robust recommendations and is great for finding slow plugins and unoptimized images. Google PageSpeed Insights is primarily good for measuring server response times. Otherwise, follow the speed recommendations provided by GTmetrix.

🔵 Which plugins are slowing down my site?

Most slow WordPress plugins include social sharing, statistic (analytics) plugins, sliders, portfolios, page builders, calendars, chat, contact form, related post, sitemap, Wordfence, WPML, WooCommerce, and any plugin that runs ongoing scans or processes. Your slowest loading plugins can be found using Query Monitor or in your GTmetrix Waterfall report.

🔵 How can I optimize external scripts?

Some external scripts like Google Fonts and Analytics can be optimized by hosting them locally using the CAOS plugins. Disques also has a conditional load plugin, and YouTube videos can be lazy loaded. You can also try the Async JavaScript when loading JavaScript.

Other external scripts like Google AdSense, Facebook widgets, and high CPU plugins are nearly impossible to optimize and best to avoid all together.

Did this tutorial work?
Let me know in the comments and feel free to share your new load time! If you still have a slow WordPress site on Bluehost let me know about that too… I will gladly look into your GTmetrix + Pingdom report and send you a few suggestions (just please do what you can from this guide).

See Also: Cloudways Review

Cheers,
Tom

How To Fix HostGator’s Slow WordPress Hosting (Using PHP 7.3, CDNs, Cache Plugins, And A Variety Of Speed Optimization Plugins)

Have a slow WordPress site on HostGator?

If your WordPress site is slow on HostGator, you can speed it up by upgrading to PHP 7.3, configuring a cache plugin, using Cloudflare, and optimizing your images, database, and plugins.

To check if HostGator is the problem, run your site through Google PageSpeed Insights to see if reduce server response time is in your report. If yes, that means your HostGator server is slow. This wouldn’t be surprising considering how many people complain about HostGator’s servers.

HostGator is known for being cheap and were rated poorly in Facebook polls behind SiteGround and Cloudways who were consistently #1 (here’s just one person who migrated from HostGator and saw a 10s load time improvement). After all, HostGator is owned by EIG. Optimizing your site helps, but if your server response times are still slow, you know the issue.

A warning about HostGator: HostGator is one of the slowest hosts. I set up an identical Astra website on hstgtrserver.com and cwdoserver.com. One is hosted on HostGator’s Optimizes WordPress Hosting, one is hosted on Cloudways DigitalOcean who was rated the #1 host in Facebook polls, conversations, and migration results. Visit the websites and click through their pages – you will see the difference in speed.

Benchmark your scores + load times in GTmetrix and post them in the comments! And if you need help, leave your GTmetrix report in the comments and I’ll provide you with suggestions.

How To Fix A Slow Website On HostGator

  1. Check For Slow Server Response Times
  2. Upgrade To PHP 7.3 In HostGator
  3. Configure A Solid Cache Plugin
  4. Setup Cloudflare’s CDN
  5. Avoid Slow Loading Plugins
  6. Optimize Images
  7. Disable Unnecessary WordPress Features
  8. Clean Your Database
  9. Minimize Redirects
  10. Avoid External HTTP Requests
  11. Find Bottlenecks In GTmetrix
  12. Consider Moving To Cloudways

My goal is to make your GTmetrix report look more like this:

1s-2020-GTmetrix-Report

This video should help (timestamps are in the video description):

 

1. Check For Slow Server Response Times

Run your WordPress site through Google PageSpeed Insights to see if reduce server response time shows in the report (Google recommends 200ms). Servers are controlled by your hosting.

Reduce-Server-Response-Times

Another indicator is if your time to first byte (TTFB) is slow in the GTmetrix Timings tab. Good GTmetrix scores but slow server response times and TTFB indicates your hosting as the issue.

TTFB

Bottom line – you may be able to reduce this with these tips, but if not, you will either need to upgrade plans to include more server resources, or consider better hosting with faster servers.

 

2. Upgrade To PHP 7.3

Most WordPress users are running outdated PHP versions when upgrading can make your site 2-3x faster. HostGator will not upgrade you automatically (because they don’t want to risk breaking your site) so you need to do this yourself as HostGator releases new PHP versions.

HostGator’s Optimized WordPress Hosting does not have cPanel, so you cannot upgrade PHP versions yourself. You will need to contact support to have them do it.

WordPress PHP Benchmarks

Step 1: In your HostGator cPanel, go to Software → MultiPHP Manager.

Step 2: Upgrade to PHP 7.3.

Step 3: Check your website for errors. If you see any, you can always downgrade to the PHP version you were using previously. Errors are likely caused by themes/plugins that are not updated frequently by the developer, so make sure you’re using reliable plugins and themes.

Step 4: Keep your PHP updated to the latest version. HostGator does an OK job in releasing new versions, however other hosting companies already have a stable version of PHP 7.4.

Supported-PHP-Versions

 

3. Configure A Solid Cache Plugin

WP Rocket and WP Fastest Cache are usually rated highest in Facebook polls.

Many features are built-in to WP Rocket (database cleanup, heartbeat control, lazy load, etc) while WP Fastest Cache and other cache plugins don’t come with these features. In other words, WP Rocket lets you use 1 plugin for everything instead of having to install multiple plugins. That’s also why WP Rocket usually gives you better scores and load times in GTmetrix.

The following features are built-in WP Rocket. But if you’re using another cache plugin that doesn’t come with a specific feature, you’ll need to install these plugins:

2016 best cache plugin poll

2019 cache plugin poll

Swift vs WP Rocket

2016 cache plugin poll

Best cache plugins 2018 poll

wp rocket vs w3 totla cache

WP Rocket (406ms)
Pingdom Page Speed Test

WP Fastest Cache (527ms)
WP Fastest Cache Load Times

W3 Total Cache (619ms)
W3 Total Cache Load Times

Here are tutorials for configuring the ideal WP Rocket and WP Fastest Cache Settings. I also have configuration tutorials for W3 Total Cache, WP Super Cache, and Autoptimize settings.

A glimpse of the WP Rocket settings (file optimization tab is the most important):

WP-Rocket-File-Optimization-Settings

HostGator does have an option to enable cache in the cPanel which you should leave disabled if you’re using a cache plugin. Cache plugins take care of many other optimizations other than caching (eg. minifying HTML, CSS, JS) and you will get much better results with a cache plugin.

HostGator Cache

 

4. Setup Cloudflare’s CDN

Cloudflare’s CDN hosts your website on 200+ centers and reduces the distance between your server and visitors. It also helps offload resources which can reduce your server response time.

1. Sign up for a free Cloudflare plan, add your website, and run the scan.

Add Site To Cloudflare

2. You will eventually come to a page where Cloudflare assigns you 2 nameservers.

3. HostGator says you will need to contact them to setup private nameservers.

Unfortunately you need private nameservers on HostGator to do this which is only available on their reseller account, VPS, and dedicated server. I have no idea why they do this. WP Rocket and W3 Total Cache have settings for Cloudflare – you can try setting it up through one of these (let me know if this works in the comments please!)

HostGator Private Nameservers

4. Once they do, find them and enter the nameservers provided by Cloudflare.

HostGator Nameservers

5. Go to your Cloudflare speed settings and use these:

Cloudflare-Speed-Tab

6. Go to Cloudflare’s caching settings and Purge Everything.

Cloudflare Purge

All done! It can take 24 hour for Cloudflare nameservers to propagate so be patient :)

5. Avoid Slow Loading Plugins

Thank you Ivica from the WordPress Speed Up Facebook Group for contributing to this list.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. All-In-One Event Calendar
  4. Backup Buddy
  5. Beaver Builder
  6. Better WordPress Google XML Sitemaps
  7. Broken Link checker (use Dr. Link Check)
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. Contextual Related Posts
  11. Digi Auto Links
  12. Disqus Comment System
  13. Divi Builder
  14. Essential Grid
  15. View Full List Of 65 Slow Plugins

Be sure to deactivate/delete all plugins you’re not currently using. If you only use a plugin at certain times, deactivate/delete it – then reinstall the plugin when needed.

Disable Plugins On Specific Pages/PostsPerfmatters and Asset CleanUp let you selectively disable plugins on specific pages/posts. For example, if you’re only using your contact form on the contact page, disable it everywhere else. Or if you only use social sharing buttons on the blog, disable it on all your pages. Going through your scripts/plugins, viewing their size, and disabling plugins where they’re not being used can significantly improve scores and load times.

perfmatters-script-manager

 

6. Optimize Images

There are 5 primary ways to make images load faster:

  • Serve scaled images: resizing large images to be smaller.
  • Losslessly compress images: compress images using a plugin.
  • Lazy load images: delays loading images until you scroll down the page.
  • Specify image dimensions: add a width/height to the image’s HTML or CSS.
  • Serve images in next-gen formats: convert images (eg. to WebP) format using a plugin.

Serve Scaled Images
Serve scaled images are found in GTmetrix where they tell you which images are too large and the dimensions they should be resized to. GTmetrix only shows unoptimized images for a single page. Resize them, reupload them, and replace the old images with the new ones. It’s best to resize images BEFORE uploading them, and to create an “image dimension cheat sheet” listing the dimensions of all your different image sections (logo, sliders, widgets, full width blog images, etc). Start by fixing images that appear on multiple pages (logo, sidebar, and footer images) then run your most important pages through GTmetrix and optimize individual images.

Serve Scaled Images

Losslessly Compress Images
This is the “optimize images” item in GTmetrix. I personally use ShortPixel but Imagify is also good. Install an image optimization plugin, set your compression level, and test a few images to make sure you are happy with their quality. Most plugins are free until you reach their limit.

ShortPixel-Image-Compression-Levels

Lazy Load Images
Lazy load delays the loading of photos, videos, and iframes so they only load once you scroll down the page and see them. Videos are heavy so I suggest at least doing that – I don’t lazy load photos since it can be annoying to load photos as you scroll down. WP Rocket has an option for this in the Media tab, otherwise you can use a plugin like A3 Lazy Load and WP YouTube Lyte.

WP-Rocket-Lazy-Load

Specify Image Dimensions
Specify image dimensions means you need to locate the image, view it’s HTML, and add a width and height in the HTML (which is provided by GTmetrix). Since the WordPress visual editor and most page builders do this automatically, it only usually happens in hand-coded HTML or CSS.

Specify-Image-Dimensions-WordPress

Serve Images In Next-Gen Formats
Found in PageSpeed Insights, WebP and SVG formats can have better quality and compression than JPEG and PNG. Depending on which format you choose, most image optimization plugins have an option to convert your images to WebP format or for SVG, use the SVG Support plugin.

 

7. Disable Unnecessary WordPress Features

The Perfmatters plugin lets you disable pingbacks, trackbacks, heartbeat, and limit autosave intervals and post revisions. It also lets you host Google Analytics locally and selectively disable plugins from specific pages/posts. The only other plugin I know that does this is WP Disable, Clearfy, and Asset CleanUp, but I have tested them and personally use Perfmatters on my site.

perfmatters-settings

 

8. Clean Your Database

You can do this in WP Rocket’s database tab (below), otherwise use the WP Optimize plugin. Backup your website if this is your first time doing it and schedule this for weekly or monthly.

WP-Rocket-Database-Settings

One thing I like about WP-Optimize is that it lets you delete old tables left behind by plugins you deleted (shown as “not installed”). If you don’t plan on using the plugin again, delete these.

WP-Optimize-Tables

 

9. Minimize Redirects

Usually means you changed the WWW or HTTP(S) version of your site, but your links/images are still using the old version. You need to correct ALL these which can be done in bulk using the Better Search Replace plugin. GTmetrix will only show you errors for that page, so test a few pages out in GTmetrix to make sure you took care of all redirects throughout your website.

minimize redirects

Better-Search-Replace-WWW-Versions

 

10. Avoid External HTTP Requests

Third party scripts can be found in the reduce DNS lookups section of GTmetrix. These are anything that creates HTTP requests from outside websites (Google Fonts, Analytics, Maps, AdSense, embedded YouTube videos, and even social sharing buttons or social media widgets).

Some scripts are easy to optimize:

  • Optimize fonts with the OMGF plugin
  • Host Google Analytics tracking code locally
  • Disable and optimize Gravatars on blog comments
  • Generally, only use a Google Map on the contact page
  • Replace YouTube iframe with preview image (in WP Rocket)

Other scripts like Google AdSense and Google Tag Manager are much more difficult and can absolutely ruin your GTmetrix report, which is why I recommend affiliate marketing instead.

WordPress External Scripts

Preconnect + Prefetch
If you absolutely must use an external resource throughout your site, you should preconnect/prefetch it. This basically lets the browser anticipate external resources to make it load faster. WP Rocket, Perfmatters, and other plugins have options for this, otherwise you can also use the Pre* Party Resources Hints plugin. If using StackPath, you should also add your CDN URL here. Luke (from Bluehost) created a list of common domains to prefetch on GitHub.

 

12. Find Bottlenecks In GTmetrix

Slow plugins, images, scripts, and individual elements can all be found in your GTmetrix Waterfall tab. Learn which elements take longest to load and focus on those optimizations. Good hosting and correctly configuring a solid cache plugin should fix most errors in GTmetrix.

1s-2020-GTmetrix-Report

Other Optimizations To Consider

  • Use a lightweight WordPress theme
  • Avoid page builders (or if you do use one, use Oxygen)
  • Optimize WooCommerce scripts, styles, cart fragments in Perfmatters

 

13. Consider Moving To Cloudways

Switching from HostGator to DigitalOcean on Cloudways is night and day.

I signed up for 15+ hosting accounts to test their speed. All domains in this video are live, which means you can visit them in real-time and click through their pages, use GTmetrix, etc.

Each website is identical except for it’s hosting (same Astra Starter Site, SSL, no caching, no CDN, and the same 6 plugins). I also used WP Hosting Performance Check and KeyCDN to measure the most popular options. The results align with what most people are saying in the WordPress Hosting Facebook Group which I recommend joining to get real, unbiased opinions.

I moved from SiteGround to DigitalOcean on Cloudways and the results speak for themselves. I’m also paying 1/2 of what I was. Cloudways also does free migrations which made it very easy.

SiteGround-vs-Cloudways

#1. DigitalOcean On Cloudwayscwdoserver.com was the fastest, is who I use, and are very popular in Facebook Groups (especially as an alternative to SiteGround). DigitalOcean is also the only host mentioned in the WordPress Optimization Guide. Cloudways was #1 in most recent Facebook polls and people who migrate usually see significant load time improvements. They use PHP 7.4, Maria DB 10.3, Memcached, Varnish, Nginx, and Redis. Pricing starts at $10/month with no strict CPU limits or renewal prices like on other hosts. The community manager is very helpful and they do free migrations. You can get 25% off your first 2 months with the promo code OMM25.

#2. Kinstaknstaserver.com had similar speeds as DigitalOcean on Cloudways only they are more expensive starting at $30/month. Known for being capable of handling many concurrent visitors. People consistently recommend Kinsta in Facebook Groups, Twitter, and in migration results. Even though they’re not always #1 in Facebook polls (likely because not everyone can pay $30+/month), they are great for high traffic sites.

#3. WPX Hostingwpxserver.com is also very quick, but Cloudways and Kinsta are slightly faster. Starts at $20-$25/month and is who Matthew Woodward recommends.

#4. A2 Hostingatwoserver.com usually outperformed other shared hosting but is not nearly as fast as cloud hosting (just cheaper). I use A2 for my girlfriend’s restaurant website and it’s decently fast with good uptimes. A2 (and all shared hosting) is only sufficient for smaller websites with low traffic/plugins. Otherwise, use cloud hosting.

#5. SiteGround – has gone downhill with many complaints about their renewal prices, price hikes, CPU limits, and support isn’t as good as it used to be. SiteGround shifted to Google Cloud hosting (instead of shared) which is supposed to be faster, but load times and TTFB on stgrndserver.com were usually above 1s. Their SG Optimizer plugin should help, but I still wouldn’t use them. You’re better off on Cloudways DigitalOcean.

Affiliate Disclaimer – I would seriously appreciate you using my affiliate links which means I earn a commission at no expense to you. This would help me make GoFundMe donations ($6,000 so far)! I try to base my recommendations on tests, Facebook polls, and conversations I see on a daily basis in the 30+ WP Facebook Groups I’m active on.

I would personally skip shared hosting since cloud hosting is exponentially faster. This is especially true if you’re on GoDaddy or EIG brands (eg. Bluehost and HostGator) and for resource-intensive websites running WooCommerce, WPML, page builders, or slow plugins.

There are plenty of migration results if you check Twitter and Facebook Groups. Avoid the bloggers promoting Bluehost and WP Engine because they have the highest commissions and do your research. Hosting is the #1 factor in WordPress’ optimization guide – very important!

Cloudways Response Times

Godaddy to DigitalOcean Migration

VPS Cloud Hosting WooCommerce Poll

Hosting Recommendations Facebook

2017-WordPress-Hosting-FB-Poll

2018 Hosting Recommendations

Favorite Hosting For Elementor

Untitled

Vultr Migration

WordPress Hosting Suggestions

VPS Cloud Hosting Poll

2016-WordPress-Hosting-FB-Poll

July 2019 Hosting Recommendation

Elementor Hosting Recommendations

Cloudways Facebook Review

 

Hire My WordPress Speed Optimizer

Still need help with your GTmetrix report?

I’ve been working with Pronaya for 7 years (he’s the one who optimized my GTmetrix report). You can hire him by signing up for freelancer.com and searching for username bdkamol. Here is his full WordPress speed portfolio. He’s $40/hour from Bangladesh (so there is a time change) and you can email him at bdkamol@gmail.com. He also has a perfect 5 star review on his profile. Serious inquiries only, and please don’t expect 100% scores if you’re HostGator’s slow WordPress hosting, a bloated theme, and tons of heavy plugins. Please follow this guide first.

Pronaya-Kumar-S-Reviews

Review of Pronaya on his profile:

BDkamol-WordPress-Speed-Reviews

 

Frequently Asked Questions

🚀 How can I speed up my site on HostGator?

Upgrade to the highest possible PHP version inside your HostGator account, configure a good cache plugin like WP Rocket, optimize images with ShortPixel, setup Cloudflare's CDN, and avoid common slow plugins. This will be a great start to make your site faster.

🚀 How do you upgrade PHP versions?

Login to your HostGator account and find the PHP Selector. Upgrade to the highest version. Test your website for errors. It's a good idea to take a backup beforehand.

🚀 Which cache plugin will yields the best results?

WP Rocket is usually rated the best cache plugin in Facebook polls and will typically yield the best results since it has more speed optimization features than other cache plugins.

🚀 Which plugins cause slow load times?

The most common slow plugins include social sharing, statistics (analytics), sliders, portfolios, page builders, calendars, and live chat plugins. WooCommerce sites are usually slower because they require extra scripts, styles, cart fragments, and usually more plugins as well. See my list of 65+ slow plugins to avoid.

🚀 How do you setup a CDN?

Sign up for a free Cloudflare account, copy the 2 nameservers provided by Cloudflare, and change nameservers to Cloudflare's in your domain registrar.

See Also: How I Optimized My WordPress Site To Load In <1s

I hope you found this tutorial helpful! Retest your site in GTmetrix and if your WordPress hosting is still slow on HostGator leave me a comment and I’ll be glad to help. I tried to include everything here but I know it can get technical, so drop me a line if need be. Or if you were able to make your site faster, I would love to hear about your new scores and page load times.

Cheers,
Tom

How To Fix GoDaddy’s Slow WordPress Hosting (With PHP 7.3, Autoptimize, CDNs, And Making Images + Plugins Load Faster)

Is your WordPress site running slow on GoDaddy?

If your WordPress site is slow on GoDaddy, you can speed it up by upgrading to PHP 7.3, configuring Autoptimize, setting up Cloudflare, and making images and plugins load faster.

But GoDaddy is infamously slow. iThemes called them out for overcrowding servers and they are slow to release new PHP versions. Forbes wrote an article titled “5 Reasons You Should Leave GoDaddy.” They also blacklist all cache plugins and force you to use their own built-in caching system which doesn’t hold a candle to top-rated caching plugins such as WP Rocket.

How do you check if GoDaddy’s the problem?

Run your WordPress site through Google PageSpeed Insights to check if reduce server response time is in your report. Google recommends a response time of <200ms. Anything over is considered slow, and you can identify GoDaddy’s slow servers as the main problem.

A warning about GoDaddy: GoDaddy is one of the slowest hosts. I even set up an identical Astra website on gdaddyserver.com and cwdoserver.com. One is hosted on GoDaddy’s Managed WordPress Hosting, one is hosted on Cloudways DigitalOcean who was rated the #1 host in Facebook polls, conversations, and migration results. Visit the websites and click through their pages – you will see a huge speed difference.

Benchmark your scores + load times in GTmetrix and post them in the comments! And if you need help, leave your GTmetrix report in the comments and I’ll provide you with suggestions.

How To Fix A Slow WordPress Site On GoDaddy

  1. Check Your Server Response Time
  2. Upgrade To PHP 7.3 In GoDaddy’s cPanel
  3. Configure The Autoptimize Plugin
  4. Remove Junk From Your WordPress Database
  5. Add Cloudflare’s CDN
  6. Optimize Images
  7. Avoid Slow Loading Plugins
  8. Avoid Google Maps And AdSense
  9. Remove Bloat
  10. Lazy Load Videos
  11. Optimize Third Party Scripts
  12. Host Google Analytics Locally
  13. Find Your Slowest Loading Pages
  14. Keep WordPress Software Updated
  15. Leave GoDaddy For Cloudways

When you’re done, hopefully your GTmetrix report looks more like this:

1s-2020-GTmetrix-Report

 

1. Check Your Server Response Time

Run your site through Google PageSpeed Insights to see if reduce server response time is in your report. Your server is obviously controlled by your hosting. To reduce it, you either need to upgrade plans on GoDaddy (managed/VPS) or of course, switch to a faster hosting company.

Reduce Server Response Time

TTFB

Indicators Your Hosting Is Slow

  • High server response time in PageSpeed Insights (over 200ms)
  • High TTFB (time to first byte) in GTmetrix Timings tab (over 200ms)
  • High PageSpeed + YSlow scores in GTmetrix, but load time is still slow
  • 503 service unavailable errors which means the server is being overloaded
  • You’re using cheap, shared hosting with “unlimited bandwidth” but TOC says otherwise

What-is-the-reason-that-GoDaddy-is-loading-very-slowly-Quora

Slow Godaddy

Godaddy Server Response Time

Slow Server Response Times on Godaddy

 

2. Upgrade To PHP 7.3 In GoDaddy’s cPanel

Upgrading to PHP 7.3 can make your GoDaddy site 2-3x faster according to Kinsta. Most WordPress users run outdated PHP versions. That’s because most hosting companies won’t upgrade you automatically since it can break your site if you’re using incompatible plugins. That’s why whenever GoDaddy releases a newer version of PHP, you should upgrade ASAP.

How To Upgrade To PHP 7.3 On GoDaddy

  • Login to your GoDaddy account
  • Go to your Products Page → Manage → Settings
  • Upgrade to PHP 7.3
  • Check your website for errors
  • If you still see errors, revert to an earlier PHP version

GoDaddy Speed Optimization

 

3. Configure The Autoptimize Plugin

Your GTmetrix report may show errors for minify, Gzip, fonts, and other errors that can be fixed using the Autoptimize plugin. Below is a screenshot of my recommended Autoptimize settings.

Autoptimize JS CSS HTML Settings

If you’re using Google Fonts, these can also result in GTmetrix errors:

Google-Fonts-GTmetrix

Google Fonts can be optimized in the “Extra” settings, then select “combine and link in head”:

Autoptimize Combine Google Fonts

 

4. Remove Junk From Your WordPress Database

Install the WP-Optimize plugin then click ‘WP-Optimize’ (left in your dashboard). Running it deletes your trash, spam, post revisions, trackbacks, and garbage files. Since these are constantly accumulating, make sure you schedule WP-Optimize to run every 2 weeks or so.

WP-Optimize Clean Database

 

5. Add Cloudflare’s CDN

Cloudflare improves both your website speed and security. It improves speed by hosting your WordPress site on multiple data centers around the world (called a CDN or content delivery network) and reduces the geographic distance between your server and visitors. Sign up for a free plan, change nameservers to Cloudflare’s, then make tweaks in the Cloudflare dashboard.

Cloudflare Data Centers

1. Sign up for Cloudflare’s free plan, add your website, and run the scan. Cloudflare will walk you through a set of pages until you reach a page where Cloudflare assigns you 2 nameservers.

Cloudflare-GoDaddy-Nameservers

2. Login to your GoDaddy account and in your product list go to Domain → Manage DNS → Nameservers → Change. Click “custom nameservers” and add the ones Cloudflare gave you:

GoDaddy-Change-Nameservers

3. Go to Cloudflare’s speed settings (inside your Cloudflare dashboard) and copy these:

Cloudflare-Speed-Settings

4. In Cloudflare, go to the caching settingsPurge Everything.

Cloudflare Purge

This is all you need to do. It can take up to 72 hours for Cloudflare nameservers to propagate.

 

6. Optimize Images

We’ll use GTmetrix for this. Run your site through GTmetrix and in your report, you’ll see images can be optimized 3 ways. GTmetrix only shows unoptimized images for a single page so start by optimizing images that appear on multiple pages (logo, sidebar and footer images), then run your most important pages through GTmetrix and fix individual images on those too.

There are 3 ways to optimize images in GTmetrix:

  • Serve scaled images – resize large images to be smaller.
  • Specify image dimensions – specify a width/height in the image’s HTML or CSS.
  • Optimize Images – losslessly compress images.

image-optimization

Serve Scaled Images – GTmetrix tells you which images are too large and the dimensions they should be resized to. Find the image, crop or resize it, upload it to WordPress, then replace the old image with the new one. Follow your “image containers” and create a cheat sheet (below). You can manually check for large images by right clicking an image → copy image address then go to that URL where you should see if it’s too large. Never use the drag to resize feature in the visual editor since this only resizes the displayed image (not the actual image).

Sample cheat sheet:

  • Logo: 150(w) x 37(h)
  • Sliders: 1950(w) x 550(h)
  • Sidebar Widgets: 319(w)
  • Blog content body: 600(w)
  • Featured images: 200(w) x 200(h)
  • Carousel images: 225(h)

Specify Image Dimensions – refer to your GTmetrix report and expand these items to see which images need this. Locate each one in WordPress, then specify the dimensions (width/height) which GTmetrix will tell you. The visual editor takes care of this automatically so you usually have to do this with images that are in widgets, page builders, and other places.

specify-image-dimensions

Optimize Images – losslessly compress images using Imagify or Kraken (both are free until you reach the monthly limit). While there are other completely free plugins that offer unlimited compressions, do NOT use these since they have bugs, won’t work, or will break your images.

Imagify Instructions

  1. Install the Imagify Plugin
  2. You will be prompted with instructions
  3. Sign up for Imagify and enter your API key
  4. Set your compression level (normal, aggressive, ultra)… I use aggressive
  5. Imagif’em all (bulk compresses all images on your site)
  6. Once your limit is up, buy a plan or wait next month to reset your limit

imagify

imagify-wordpress-image-optimization

When you’re done, run your pages through GTmetrix and make sure all 3 items are 100%.

 

7. Avoid Slow Loading Plugins

You can use the GTmetrix Waterfall tab to see your slowest plugins:

Slow WordPress Plugin

The following plugins can take a long time to load. Many of these are in GoDaddy’s list of blacklisted plugins because (especially stat and related post plugins) consume a lot of CPU.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. All-In-One Event Calendar
  4. Backup Buddy
  5. Beaver Builder
  6. Better WordPress Google XML Sitemaps
  7. Broken Link checker (use Dr. Link Check)
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. Contextual Related Posts
  11. Digi Auto Links
  12. Disqus Comment System
  13. Divi Builder
  14. Essential Grid
  15. View Full List Of 65 Slow Plugins

Lightweight Plugin Alternatives

  • Meta Slider – minimal slider plugin with great reviews.
  • Envira Gallery – $29 lightweight gallery plugin. There’s also a free version but it doesn’t come with albums, tags, social integration, gallery templates, deeplinking, pagination, etc.
  • FooGallery – lightweight gallery plugin with great reviews.
  • Soliloquy Slider – fast, lightweight slider plugin.
  • UpdraftPlus – most popular lightweight (1-click) backup plugin.
  • Grow by Mediavine – lightweight social sharing buttons (the ones I use).

Plugin Tips

  • Deactivate and delete ALL plugins you don’t use
  • Diagnose slow loading plugins using GTmetrix Waterfall
  • Replace slow plugins with faster, more lightweight plugins
  • Disable individual plugin settings/modules you’re not using

 

8. Avoid Google Maps And AdSense

These kill your load times. Try to only use Maps on the contact page, or take a screenshot of the map (since a photo is quicker to load than an embedded map) and use an “Open In Maps” link.

Just like Google Maps require your site to pull resources from external websites and requests to your GTmetrix/Pingdom report, advertisements (eg. Google AdSense) are pretty much the worst thing you can do to your load times. Forget about using Google AdSense and start using affiliate links (they’re not only more profitable but they will also keep your load times down).

GTmetrix-Advertisements

 

9. Remove Bloat

The Perfmatters plugin by Kinsta takes care of what I like to call miscellaneous optimizations: disabling trackbacks/pingbacks, limiting post revisions, disabling the WordPress heartbeat API, limiting the autosave interval, and things reduce the load of your server and speed up your site.

Tips On Configuring Perfmatters

  • Disable heartbeat API
  • Disable pingbacks and trackbacks
  • Increase the autosave interval (I have mine a 5 minutes)
  • Change the login URL to improve security and stop spam bots
  • Set post revisions to 3-5 so you have backups, but you don’t need hundreds
  • Disable options in WordPress core which you don’t need (usually all of them)
  • Host Google Analytics tracking code locally (found in the Google Analytics tab)
  • Prefetch/preconnect third party scripts like Google Fonts in the “Extra” tab

perfmatters-settings

Disable Plugins On Specific Pages/Posts – one of the most valuable things about Perfmatters (which can also be done by the free Asset CleanUp plugin), is the Script Manager. This lets you disable plugins on specific pages/posts. A common example is disabling contact forms on all pages but the Contact page. You can do this with other plugins/scripts too (eg. social sharing buttons on your blog). Use Perfmatters or Asset CleanUp to only load plugins when necessary.

perfmatters-script-manager

 

10. Lazy Load Videos

A single video usually adds 2-3 seconds to your page load time. The WP YouTube Lyte plugin makes it so videos are only loaded once readers scroll down the page and click the play button.

 

11. Optimize Third Party Scripts

Third Party Scripts are Google Fonts, AdSense, Tag Manager, embedded YouTube videos, or even social sharing buttons on your blog. You can find all third party scripts loading on your site in your PageSpeed Insights report (and the Reduce DNS Lookups section in GTmetrix YSlow).

Some third party scripts are easier to optimize than others; Google Fonts can be optimized using the OMGF plugin. Google Analytics can be optimized with Flying Analytics. The Flying Scripts plugin can delay loading of Gravatars and comments if you have a lot of those on your blog. AdSense and Tag Manager are GTmetrix killers, and embedded videos can be optimized with WP YouTube Lyte. Be careful with scripts since they can slow down your GoDaddy site.

 

12. Host Google Analytics Locally

Flying Scripts fixes the “leverage browser caching” issue you’ll often see in GTmetrix and other speed testing tools. Just install the plugin, enter your Tracking-ID and the plugin does the rest.

Leverage-Brower-Caching-Google-Analytics

 

13. Find Your Slowest Loading Pages

Login to Google Analytics and on the left, go to Behavior → Site Speed → Speed Suggestions. Click “Page Speed Suggestions” to see recommendations, however the ones in GTmetrix are usually better. Most WordPress speed issues are related to your infrastructure (hosting, theme, page builder, plugins, etc) and not so much related to individual content (eg. optimizing images).

Speed-Suggestions-Google-Analytics

 

14. Keep WordPress Software Updated

Keep your software updated! WordPress, theme, plugins, etc.

WordPress Updates

 

15. Leave GoDaddy For Cloudways

With Cloudways DigitalOcean, you would be leaving one of the slowest hosts for the fastest.

Elementor Hosting

I signed up for 15+ hosting accounts to test their speed. All domains in this video are live, which means you can visit them in real-time and click through the pages, test GTmetrix, etc. gdaddyserver.com is on GoDaddy, cwdoserver.com is on Cloudways who was #1 in the tests.

Each website is identical except for it’s hosting (same Astra Starter Site, SSL, no caching, no CDN, and the same 6 plugins). I also used WP Hosting Performance Check and KeyCDN to measure the most popular options. The results align with what most people are saying in the WordPress Hosting Facebook Group which I recommend joining to get real, unbiased opinions.

I moved from SiteGround to DigitalOcean on Cloudways and the results speak for themselves. I’m also paying 1/2 of what I was. Cloudways also does free migrations which made it very easy.

SiteGround-vs-Cloudways

#1. DigitalOcean On Cloudwayscwdoserver.com was the fastest, is who I use, and are very popular in Facebook Groups (especially as an alternative to SiteGround). DigitalOcean is also the only host mentioned in the WordPress Optimization Guide. Cloudways was #1 in most recent Facebook polls and people who migrate usually see significant load time improvements. They use PHP 7.4, Maria DB 10.3, Memcached, Varnish, Nginx, and Redis. Pricing starts at $10/month with no strict CPU limits or renewal prices like on other hosts. The community manager is very helpful and they do free migrations. You can get 25% off your first 2 months with the promo code OMM25.

#2. Kinstaknstaserver.com had similar speeds as DigitalOcean on Cloudways only they are more expensive starting at $30/month. Known for being capable of handling many concurrent visitors. People consistently recommend Kinsta in Facebook Groups, Twitter, and in migration results. Even though they’re not always #1 in Facebook polls (likely because not everyone can pay $30+/month), they are great for high traffic sites.

#3. WPX Hostingwpxserver.com is also very quick, but Cloudways and Kinsta are slightly faster. Starts at $20-$25/month and is who Matthew Woodward recommends.

#4. A2 Hostingatwoserver.com usually outperformed other shared hosting but is not nearly as fast as cloud hosting (just cheaper). I use A2 for my girlfriend’s restaurant website and it’s decently fast with good uptimes. A2 (and all shared hosting) is only sufficient for smaller websites with low traffic/plugins. Otherwise, use cloud hosting.

#5. SiteGround – has gone downhill with many complaints about their renewal prices, price hikes, CPU limits, and support isn’t as good as it used to be. SiteGround shifted to Google Cloud hosting (instead of shared) which is supposed to be faster, but load times and TTFB on stgrndserver.com were usually above 1s. Their SG Optimizer plugin should help, but I still wouldn’t use them. You’re better off on Cloudways DigitalOcean.

Affiliate Disclaimer – I would seriously appreciate you using my affiliate links which means I earn a commission at no expense to you. This would help me make GoFundMe donations ($6,000 so far)! I try to base my recommendations on tests, Facebook polls, and conversations I see on a daily basis in the 30+ WP Facebook Groups I’m active on.

I would personally skip shared hosting since cloud hosting is exponentially faster. This is especially true if you’re on GoDaddy or EIG brands (eg. Bluehost and HostGator) and for resource-intensive websites running WooCommerce, WPML, page builders, or slow plugins.

There are plenty of migration results if you check Twitter and Facebook Groups. Avoid the bloggers promoting Bluehost and WP Engine because they have the highest commissions and do your research. Hosting is the #1 factor in WordPress’ optimization guide – very important!

Cloudways Response Times

Godaddy to DigitalOcean Migration

VPS Cloud Hosting WooCommerce Poll

Hosting Recommendations Facebook

2017-WordPress-Hosting-FB-Poll

2018 Hosting Recommendations

Favorite Hosting For Elementor

Untitled

Vultr Migration

WordPress Hosting Suggestions

VPS Cloud Hosting Poll

2016-WordPress-Hosting-FB-Poll

July 2019 Hosting Recommendation

Elementor Hosting Recommendations

Cloudways Thread

Cloudways Facebook Review

25% Off Cloudways With Promo Code OMM25

 

Get Help From My WordPress Speed Optimizer

Pronaya is a WordPress developer I found on freelancer.com who lives in Bangladesh and specializes in WordPress speed (yes, he’s better than me). I have worked with him for over 5 years and he optimized my site including multiple client sites to load 500% faster. He’s $40/hour with a perfect 5 star review on his freelancer profile. I have worked with over 20 overseas freelancers and he’s the one I always turn to for WordPress speed and development.

How to hire Pronaya – sign up for a Freelancer account and search for user BDkamol. Make sure the “online users” option is turned off, or email him at bdkamol@gmail.com. Serious inquiries only, and please do not tell him you expect a 100% score when you’re using slow hosting, bloated WordPress themes, and tons of plugins. Please review my WordPress speed guide and make sure you’re on good hosting and minimize plugins at the least (thank you!!!).

Pronaya-Kumar-S-Reviews

 

Frequently Asked Questions

✅ Is GoDaddy slow?

GoDaddy overcrowds their servers which is why they are able to offer cheap hosting. Strictly in terms of speed, GoDaddy is one of the slowest of shared hosting providers based on numerous Facebook polls and performance tests.

✅ How do you check server response times?

Run your site through Google PageSpeed Insights to check your server response time. It should be less than 200ms.

✅ What is the easiest way to improve load times on GoDaddy?

Upgrade to PHP 7.3 in your GoDaddy account, install the Autoptimize plugin, add Cloudflare's free CDN, clean your database with WP-Optimize, and use an image optimization plugin like TinyPNG. Avoid plugins that consume lots of resources and show multiple times in your GTmetrix report.

✅ Can you use a cache plugin with GoDaddy?

No, GoDaddy uses their own built-in caching system and blacklists cache plugins. The problem with this, is that cache plugins do a lot more for your speed than just caching.

✅ Will upgrading to a higher plan help?

It is unlikely this will permanently fix speed issues. Even on GoDaddy's Managed WordPress Hosting, performance tests have shown that load times were still slow.

✅ Which speed testing tool should I use?

GTmetrix is great for finding specific images, plugins, and third party scripts that need to be optimized. Google PageSpeed Insights is mainly good for measuring server response times.

Godaddy Managed WordPress Hosting Feedback

So…. did it work?
Let me know your new Pingdom/GTmetrix scores in the comments! Or if you need help fixing GoDaddy’s slow WordPress hosting, leave a comment and I’ll be glad to help with whatever I can. If it’s related to a plugin/tool I mentioned, keep in mind they also have their own support :)

See Also: How I Optimized My WordPress Site To Load In <1s

Please share if you liked this tutorial – I’d appreciate it!

Cheers,
Tom