How To Improve Server Response Time On Bluehost’s WordPress Hosting: A Common Item In Your Google PageSpeed Insights Report

Bluehost is infamous for slow server response times.

You can measure this in Google PageSpeed Insights or Bitcatcha. Google recommends your server response time should be under 200ms. Any higher than 1-2s and you’ve got a problem.

You can fix slow server response times on Bluehost by configuring a solid cache plugin, avoiding high CPU plugins, using a CDN, cleaning your database, optimizing images, deleting unused plugins, using the Blackhole For Bad Bots plugin to stop spam bots, Heartbeat Control plugin, and making sure your hosting plan has enough server resources to handle your traffic/plugins.

Is Bluehost the problem?

Probably… they’re owned by EIG who is known for cutting costs by overcrowding servers. They’re known for being cheap (not fast) and are rated poorly in Facebook polls. Try joining the WordPress Hosting Facebook Group and see what real, unbiased people are recommending for hosting. There are much better options than Bluehost. I use Cloudways and have an awesome GTmetrix report especially for a 2.56MB size and 89 requests. You won’t get that with Bluehost.

 

1. Check Server Response Times

Check your own server response times using Bitcatcha. That’s mine… hehe.

Bitcatcha Server Speed Report

Or use Google PageSpeed Insights:

Reduce Server Response Time

As long as you’re with Bluehost, you are not alone:

Bluehost slow server response time

Slow Bluehost Server Response Time

Bluehost Server Response Time

Bluehost Crap Server Response Time

Bluehost Server Response Times

Bluehost-Managed-WordPress-Hosting

 

2. Upgrade To PHP 7+

Upgrading to a higher PHP version (in your cPanel) is one of the easiest ways to make your website faster, while also reducing server response times. Bluehost now supports PHP 7.2.

WordPress PHP Benchmarks

Bluehost-PHP-Config

Bluehost Update PHP Version

 

3. Avoid High CPU Plugins

Too many plugins (or just 1 single high CPU plugin) can make or break your server response time (and load time). P3 used to be great at finding slow plugins, but now Query Monitor is best. Install the plugin and go to “Queries By Component” to view slowest loading plugins.

Query Monitor Slow Plugins

You can also use the GTmetrix Waterfall tab:

Slow WordPress Plugin Waterfall

*Common culprits include related post, statistic, sitemap, chat, calendar, page builders, and plugins that run ongoing scans/processes or show high CPU 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
  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. Elementor
  15. View Full List Of 73 Slow Plugins

 

4. Avoid External Resources

External resources can come from Google Maps, Analytics, Gravatars, social sharing plugins, comment plugins, and other sources. These pull requests from external resources and will increase server response times and destroy your GTmetrix + Pingdom reports. Obviously it’s best to avoid external resources all together, but I also left some common solutions below.

Cache-Gravatar-Images

Prefetch DNS Requests – if you absolutely HAVE to use external resources, prefetching them helps browser anticipate them so they can load faster. Luke created an amazing list of common domains to prefetch. Copy all these (or just the ones you need) and add them to your site (most cache plugins have an option for this). Also include your CDN URL if you’re using StackPath, KeyCDN, BunnyCDN, or another CDN (except for Cloudflare which doesn’t use CDN URLs).

Prefetch-DNS-Requests-WP-Rocket

Prefetch-DNS-Requests

 

5. Configure A Cache Plugin

If you’re going the free route, I recommend either Swift Performance or WP Fastest Cache, and I have tutorials for both Swift and WPFC. But if you can drop the $49, WP Rocket is much better, is what I use, and was rated the #1 cache plugin in multiple Facebook polls. But why?

WP Rocket comes with many features most cache plugins don’t. That means if you were to use most other cache plugins, you would need to install about 6 extra plugins. If you’re like me, you only want to use 1 plugin. This is why WP Rocket yields better scores + load times in GTmetrix/Pingdom (it has more features, while reducing the number of plugins on your site).

  • 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)
  • Optimize Google Fonts (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)

WP-Rocket-Features

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

Most people do not configure their cache plugin correctly or take full advantage of it’s features. I highly recommend looking through my tutorials to make sure your setup is ideal.

 

6. Clean Database

Your database can accumulate junk files like deleted comments, spam comments, post revisions, expired transients, and other things that are causing your database to be bloated.

It’s best to clean your database about once every 1-2 weeks. You can use the WP-Optimize plugin to clean it, as well as schedule ongoing database cleanups. Just make sure you take a backup of your database before doing this, especially if this is your very first time cleaning it.

WP-Optimize Clean Database

If using WP Rocket, you don’t need WP-Optimize as this is built-in:

WP-Rocket-Database-Settings

 

7. Heartbeat Control

The WordPress heartbeat API shows real-time plugin notifications and that other users are editing a post. While this sounds nice, it also consumes server resources by creating a request every 15-30 seconds. Use the Heartbeat Control plugin and limit it, or disable it completely.

Heartbeat-Control-Plugin

Heartbeat Control

If using WP Rocket, you don’t need this plugin, as this is built-in:

WP-Rocket-Heartbeat-Control

 

8. CDN

A CDN (content delivery network) offloads resources to multiple data centers around the world. This put less stress on your server, but it also reduces the geographical distance between your server and visitor, and is a recommendation in the WordPress optimization guide. I recommend using Cloudflare which is a free CDN with 200+ data centers and there’s no reason you shouldn’t be using it. Cloudflare is only available on Bluehost’s share plan, while customers with VPS or a dedicated server will need to contact Bluehost and request it.

In your Bluehost cPanel, go to Domains > Cloudflare > Activate.

Bluehost Cloudflare

Bluehost Cloudflare Activation

If you want to go the extra step, you can configure a few settings in your Cloudflare dashboard.

Cloudflare-Speed-Tab

And if you really want to go the extra mile, you can use multiple CDNs. Each CDN has their own set of data centers, and more data centers = faster delivery of your content and will offload even more resources. I personally use both Cloudflare (free) and StackPath ($10/month with free 30-day trial).

StackPath-Data-Centers

Step 1: Sign up for StackPath.

Step 2: In the dashboard, click the CDN tab, then create a StackPath CDN site. You will walk through a series of pages where StackPath will request your domain, find your server’s IP address, then create a CDN URL which you will copy/paste into your cache plugin. Easy peasy.

StackPath-CDN-Tab

StackPath-CDN-Domain

StackPath-Server-IP-Address

CDN-URL-StackPath

Step 3: Paste your StackPath CDN URL into your cache plugin (below is for WP Rocket). If your cache plugin does not have a field for a CDN URL, use the CDN Enabler plugin instead.

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

 

9. Block Bad Bots

You will never know if spam bots are hitting your site and consuming resources, unless you check. I found 2 spammy bots (compute.amazonaws.com and linode.com) were constantly hitting my site about every 3 seconds – I was spending server resources on literally nothing. Obviously Googlebot is OK, but you want to prevent spam bots from consuming resources.

Step 1: Install Wordfence.

Step 2: View your live traffic report (under Wordfence’s Tools settings). Look carefully for a solid minute to see which bots are hitting your site. If they look spammy, Google their hostname and see if other people are reporting them as spam. Make a list of all the spam bots.

Live-Traffic-Report-Wordfence

Step 3: Go to Wordfence’s Blocking settings and add the spam bots here. Use asterisks to make sure you’re blocking all variations of that bot, otherwise this may not be effective.

Wordfence-Blocking-Rule

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

Wordfence-Firewall-Blocking

If you don’t want to use Wordfence, the Blackhole For Bad Bots plugin does this automatically:

Blackhole for Bad Bots

 

10. Optimize Images

There are 5 ways to optimize images in GTmetrix and PSI, but a total of 15 ways as explained in my image optimization tutorial.

GTmetrix Image Optimizations

Properly scaled images – resize large images to be smaller. For example, my blog width is 680px so I take screenshots and crop/resize images for those exact dimensions. Learn the different areas of your site (logo, sidebar, blog, features images, etc), then follow the correct dimensions.

Defer offscreen images – lazy load images which was built-in to WordPress 5.5 and above.

Efficiently encode images – losslessly compress images using a plugin like ShortPixel. You get 100 free credits each month (this is the my favorite image compression plugin and I have tried many including Imagify, Smush, EWW, and others). Install it, grab your API key from the ShortPixel website, then configure the settings. Set the image compression level to lossless. Go to your Media tab and optimize a couple images to make sure you’re happy with the quality. If you are, bulk compress all images on your site. I recommend taking a backup beforehand.

Serve images in next-gen formats – use a WebP plugin like ShortPixel of WebP Converter For Media to convert your JPEG/PNGs to WebP. It’s usually done using the tag conversion method.

 

11. Use Lightweight Plugins

If you’re running high CPU plugins that cause slow server response times, you either need to delete them, or find alternative plugins that don’t consume as many resources. Here are some lightweight plugins I suggest, though in many cases, you need to do your own research/testing. View your Query Monitor report after installing EACH plugin to see how it impacts load times.

Social Sharing – WP Rocket’s test showed Social Media Feather, MonarchSimple Share Buttons Adder, and MashShare had the least amount of requests and fastest load times.

BackupUpdraftPlus.

SlidersSoliloquy, LayerSlider, or Meteor Sliders.

CommentsDisqus Conditional Load.

PortfolioEnvira Gallery, FooGallery, or The Grid.

Analytics – Google Analytics and Search Console should be plenty. Just make sure you’re hosting Google Analytics locally (using WP Rocket, CAOS, or Perfmatters).

Page BuildersWordPress Page Builder by MotoPress, but no page builder runs faster than the native WordPress Editor. Combine this with the Duplicator plugin and you shouldn’t need a page builder (including page builders built-in to WordPress themes). Unless your team absolutely refuses to learn a little HTML (the easiest coding language), avoid page builders.

StudioPress Plugins – lightweight plugins for the Genesis Framework.

 

12. Host Google Fonts Locally

If you see Google Font errors in your GTmetrix report, it means you need to host fonts locally.

Google-Fonts-GTmetrix

Use can use the CAOS for Webfonts plugin:

CAOS-Fonts

Or Self-Hosted Google Fonts plugin is a good alternative, which automatically downloads all Google Fonts you’re using and adds them to your CSS, with having to configure any settings.

Self-Hosted-Google-Fonts-Plugin

 

13. Host Google Analytics Locally

If you see Google Analytics errors in your GTmetrix report, it means you need to host your Google Analytics tracking code locally. The CAOS Analytics plugin does this automatically.

Leverage-Brower-Caching-Google-Analytics

CAOS-Analytics

WP Rocket also has this feature.

WP Rocket Local Analytics

 

14. Retest Website

Head back to Google PageSpeed Insights or Bitcatcha and retest your website’s server response time. They should be much faster, considering we hit nearly everything impacting it.

Reduce-Server-Response-Time-Facebook

 

15. Switch To Faster Hosting

Most hosting recommendations are honestly garbage.

Join the WordPress Hosting Facebook Group to get unbiased feedback from knowledgeable people who’ve been around the block. I won’t tell you to switch hosts if you don’t need to, so run your website through Lighthouse and check for slow server response times (TTFB) over 600ms.

If your TTTFB is slow, many people in Facebook groups (including myself) use Cloudways WordPress Hosting. Specifically their DigitalOcean or Vultr High Frequency plan. Sure, it’s $10-$13/month, but we’re talking about speed, TTFB, and core web vitals – not being cheap.

Take a look at conversations, migration results, and polls posted in some of these Facebook groups. Or look at Backlinko’s PageSpeed Test where he found SiteGround has a slow TTFB. You already know GoDaddy and EIG brands (Bluehost and HostGator) are obviously not good. Hosting affects TTFB, LCP, and other web vitals which will be a ranking factor as of May, 2021.

Here are 22 people who moved to Cloudways and posted their results (click image to enlarge):

Cloudways Numbers
Another Happy Cloudways Customer

Recent Facebook polls taken on “the best hosting” (click image to enlarge):

Moving from SiteGround
eCommerce Hosting Poll

I use Cloudways DigitalOcean who is #1 in most recent Facebook polls.

Cloudways Shoutout

Not saying hosting is everything, but it helps.

2021 PSI Report

This is a simple Pingdom test to measure TTFB + load times of 16 WordPress hosts. I installed the same Astra Starter Site on 16 hosting accounts (using separate domains) while measuring Pingdom load times for 1 week at 30 minute check intervals, as well as TTFB in various tools. No caching or CDN (with same plugins) are being used since I’m strictly comparing the server. Some domains are still live (cwdoserver.com is hosted on a $10/month Cloudways DO plan and stgrndserver.com is on SiteGround GrowBig). I cancelled most accounts since it got expensive. Even when browsing through those 2 sites or running your own tests, you’ll see the difference.

WordPress-Hosting-2020-Pingdom-Test

I use Cloudways because:

  • My TTFB is consistently under 200ms.
  • Free migration service made it easy to try them.
  • They continuously update their speed technology.
  • Multiple caching levels (Redis, memcached, Varnish).
  • Support is great as reflected in their Trustpilot reviews.
  • Free SSL, staging, bot protection, cron job management.
  • Monthly pricing with no long-term contracts or high renewals.
  • They have a Cloudways Users Facebook Group to ask questions.
  • Choice of 5 cloud providers: DO, Vultr, AWS, Google Cloud, Linode.
  • Their community manager answered my questions when signing up.
  • Launching a server yourself and using their migrator plugin is also easy.
  • Ain’t nobody got time for shared hosting when trying to pass web vitals.

 

Affiliate Disclaimer – if you sign up for Cloudways using my affiliate link, I seriously appreciate it. I try to support my recommendations with real, unbiased evidence. I also make donations ($6,000 to GoFundMe so far) and your support would help. It’s easy to request a free migration and promo code OMM25 gets you 25% off the first 2 months.

 

Frequently Asked Questions

How do I improve server response times?

Although you can lighten the load on your server with CDNs, upgrading PHP versions, and avoiding slow plugins, your server is ultimately controlled by your hosting. Unless your website is not optimized for speed whatsoever, you really shouldn't be getting server response time errors.

How do I lighten the load on my server?

Using a good cache plugin like WP Rocket, configuring it correctly (including adding a CDN), upgrading PHP versions, and avoiding resource hungry plugins and third party scripts (eg. AdSense) can help lighten the load on your server.

Will cache plugins improve server speed?

Yes, they should especially if you also use them to setup a CDN. Cache plugins should improve load times, GTmetrix scores, and server response times.

Do I really need to upgrade hosting?

First, optimize your site. Then if you still have slow server response times, upgrading plans or consider moving to a faster host like Cloudways.

Is it Bluehost's fault?

Many people have reported slow servers on Bluehost some people improve their load times by over 7 seconds when moving to another host. Cloudways (cloud hosting) is a popular choice and were rated highly in Facebook polls.

I hope this was helpful. If you have questions, drop me a comment.

Cheers,
Tom

About Tom Dupuis

Tom Dupuis 2017Tom Dupuis writes WordPress speed and SEO tutorials out of his apartment in Denver, Colorado. In his spare time, he plays Rocket League and watches murder documentaries. Read his bio to learn 50 random and disturbing things about him.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments