Have a slow WordPress site on Bluehost?
A slow Bluehost website can be fixed by activating Cloudflare and PHP 7.3 in the cPanel, using a cache plugin with a CDN, and avoiding resource heavy plugins on shared hosting. Optimizing your images, WordPress database, and fonts should also improve page load times on Bluehost.
There’s an easy way to tell if Bluehost is slow: run your website through Google PageSpeed Insights to see if reduce server response time is in your report (Google recommends under 200ms). If you have a high server response time or TTFB in GTmetrix, then your server is slow.
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 loading Bluehost website
- Measure Your Slow Server Response Time
- Identify Bottlenecks In GTmetrix
- Upgrade To PHP 7.3 In Bluehost’s cPanel
- Activate Cloudflare’s CDN
- Configure A Solid Cache Plugin
- Make Images Load Faster
- Find And Fix Slow Loading Plugins
- Remove Junk From Your WordPress Database
- Avoid Using Slow Page Builders On Shared Hosting
- Combine Google Font Files
- Optimize Third Party Scripts
- Remove Bloat From WordPress
- Consider Moving To Cloudways
Maybe we can get your site faster than this post which has lots of images and comments:
This video should also help (timestamps are in the video description):
Easy Ways To Fix A Slow Website On Bluehost
- Use Bluehost’s latest PHP version (PHP 7.3)
- Active Cloudflare’s CDN inside Bluehost
- Install and set up a top-rated caching plugin
- Remove junk from your database using WP-Optimize
- Avoid common slow loading plugins and page builders
- Find large images in GTmetrix and make them smaller
- Losslessly compress images using a plugin like TinyPNG
- Be minimal with fonts + weights and using the OMGF plugin
- Optimize external scripts using plugins like WP Rocket’s Add-Ons
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, or see migration results. Visit the websites and click through their pages – you will see the difference in speed.
1. Measure Your 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.
Indicators Bluehost Is Slow
- High server response time in PageSpeed Insights
- High TTFB (time to first byte) in GTmetrix Timings tab
- High PageSpeed and YSlow scores in GTmetrix, but a slow load time
- 503 service unavailable errors which 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.
2. Identify Bottlenecks In GTmetrix
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.
- For WooCommerce, optimize scripts, styles, and cart fragments in Perfmatters
- Minimize redirects by using the correct HTTP(S) and WWW version of your site
3. 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
4. Activate Cloudflare’s CDN
To add Cloudflare, login to Bluehost and go to Domains → Cloudflare → Activate.
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.
5. 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)
- 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)
A glimpse of the WP Rocket settings (file optimization are the most important settings):
Here’s a glimpse of the WP Fastest Cache settings:
6. 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.
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.
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.
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.
7. Find And Fix 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.
Avoid Slow Plugins – avoid these 65+ infamously slow plugins.
- AdSense Click Fraud Monitoring
- All-In-One Event Calendar
- Backup Buddy
- Beaver Builder
- Better WordPress Google XML Sitemaps
- Broken Link Checker
- Constant Contact for WordPress
- Contact Form 7
- Contextual Related Posts
- Digi Auto Links
- Disqus Comment System
- Divi Builder
- 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.
8. 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 lets you delete tables left behind by old plugins which aren’t installed anymore.
9. Avoid Using Slow Page Builders On Shared Hosting
Yes, even Elementor.
Elementor and other page builders load lots of scripts on your entire website which you can check using Asset CleanUp or Perfmatters. It also consumes more resources (when editing) than Gutenberg or alternative faster page builders. In general, I would not recommend using a page builder on shared hosting unless it’s Oxygen. The only thing I regret when designing my new website is not creating it in Oxygen. See how many times Elementor is in the source code?
If you decide to keep Elementor, at least disable all addons, modules, and scripts you’re not using. Most Elementor plugins have an option to toggle modules on or off. Next, view your scripts in Asset CleanUp or Perfmatters and disable the ones you’re not using (I would do this on a staging website since toggling these can break things if they’re in use). It requires testing.
10. Combine Google Font Files
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.
OMGF will automatically create the stylesheet for you:
11. 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 image (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.
12. 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.
13. Consider Moving To Cloudways
Hosting recommendations are usually garbage.
Yes, it’s a little more expensive at $10-$13/month, but we’re talking about speed here – not being cheap. With Cloudways, you have a choice of using DigitalOcean, Vultr High Frequency, Google Cloud, AWS, or Linode. These are worlds faster than shared hosting and can handle resource-intensive tasks much better (Elementor, Beaver, Divi, WooCommerce, AdSense, etc).
Here’s what happened when I moved:
GTmetrix tests are always different, but even posts with a huge page 2.70MB page size and 96 requests can often load in under 2s. I’ll also take a 148ms time to first byte any day of the week. That post has 70+ images, 480 comments (showing Gravatars), Font Awesome, and Elementor.
The evidence is there:
This was a simple Pingdom test to measure load times of 16 WordPress hosts. I signed up for popular hosting companies then installed the same Astra Starter Site on each of them while measuring load times in Pingdom for 1 week at 30 minute check intervals. Some domains are still live (cwdoserver.com is hosted on a $10/month Cloudways DO plan and stgrndserver.com is hosted on SiteGround GrowBig). I cancelled most of them because it was getting expensive. Even when browsing through their pages or running your own tests, you can see the difference.
Hosting Companies You Should Avoid
- SiteGround – they have gone completely downhill in recent years.
- Bluehost – slow servers, owned by EIG, bad support, rated poorly in FB Groups.
- HostGator – also owned by EIG with slow servers, bad support, CPU limit issues.
- GoDaddy – top malware hosting network worldwide, rated poorly in FB groups.
- Hostinger – they write fake reviews and vote for themselves in Facebook polls.
- WP Engine – also not what it used to be, expensive and not even fast anymore.
- *A2 Hosting – if you can’t afford Cloudways, A2 is still fast and uses LiteSpeed.
I use Cloudways because:
- Even posts with a 2.70MB page size can load in under 2s
- DigitalOcean and Vultr HF are miles faster than shared hosting.
- It’s $10-$13/month (no yearly contracts or high renewal prices).
- Varnish, Redis, and memcached are all built-in for higher performance.
- You get to pick from DigitalOcean, Vultr HF, Linode, AWS, Google Cloud.
- 4.8/5 star TrustPilot rating and highly recommended in Facebook Groups.
- They have 25+ data centers between all their cloud hosting providers.
- No CPU issues like on SiteGround, Bluehost, and other shared hosting.
- SSL, staging, and backups are all very easy in the Cloudways dashboard.
- Support used to be average, but is now really good as reflected on TrustPilot.
- They offer a free migration but their Migrator plugin will also do the trick.
- Adding a server, migrating your site, and the dashboard is actually very easy.
- Mustasaam (their community manager) gave me peace of mind when moving.
- Only complaint is they need to add LiteSpeed servers to their list of providers.
Affiliate Disclaimer – if you sign up for Cloudways using my affiliate link, I would seriously appreciate it. I don’t recommend bad hosting like many other affiliates. I also donate quite a bit to charity ($6,000 to GoFundMe so far) and your support would really help. I try to base my reviews not only from my experience, but real evidence from the overwhelming feedback in numerous Facebook Groups. It would mean a lot.
Just do your research and look at this Facebook thread.
Frequently Asked Questions
Why is my website slow on Bluehost?
Bluehost is shared hosting and lacks server resources. These are needed to accomodate high CPU tasks like WooCommerce, AdSense, and even Elementor. Configuring a cache plugin with a CDN is one of the most effective ways to fix a slow website on Bluehost.
How to fix a slow server response time on Bluehost?
You can fix a slow server response time on Bluehost by upgrading to the latest PHP version, configuring a cache plugin with a CDN, and cleaning up your database. If these don't work, consider moving away from shared hosting.
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.
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