Is your WordPress hosting slow on Bluehost?
Turns out, Bluehost is owned by EIG and is infamous for cutting costs by packing too many people on the same server (they have shareholders to please). People promote them because their aggressive affiliate program, but they underperform even on their managed WordPress hosting. They were also rated very poorly in Facebook polls, with SiteGround being the leader.
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 shows up in your report (see screenshot). You can also use bytecheck.com to see your time to first byte (TTFB). Both should be under 200ms.
We will use multiple speed testing tools throughout this tutorial (Pingdom, GTmetrix, Google PageSpeed Insights) since each tool helps in different areas of speed optimization.
This video should help (timestamps are in the video description):
1. Check Server Response Times
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.
Bluehost customers are constantly complaining about their slow servers on Twitter, and if you search Bluehost’s WordPress forums you can see tons of people are also having this issue…
2. Upgrade To PHP 7.2
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.
Step 1: Run the PHP Compatibility Checker plugin to make sure your plugins work with the newest PHP version. This is why you should use reliable plugins that are actively maintained.
Step 2: Go to your Bluehost cPanel and click the PHP Config option…
Step 3: Select the latest PHP version…
Step 4: 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 theme.
Step 5: Keep your PHP updated to the latest version. Bluehost does an OK job in releasing new versions, however they don’t fully release the stable version (as oppose to the beta) for quite some time, when other hosting companies already have a stable version of PHP 7.2.9.
3. Configure A 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 setup. 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 features than other cache plugins (lazy loading, database cleanup, hosting Google Anallytics code locally, and integration of Cloudflare + CDNs) which if you were to use another cache plugin, you would likely need to install 1 extra plugin for each of these features. WP Rocket has these built-in and for that reason, should give you better load times. It’s easy to setup, is updated frequently, and has less chance of errors.
- WP Rocket Settings With Cloudflare + StackPath Instructions
- WP Fastest Cache Settings With Cloudflare + StackPath Instructions
- W3 Total Cache Settings With Cloudflare + StackPath Instructions
- WP Super Cache Settings With Cloudflare + StackPath Instructions
Here’s a glimpse of the WP Rocket settings, but see my tutorial for full instructions…
Here’s a glimpse of the WP Fastest Cache settings…
If you’re already using W3 Total Cache…
Check my W3 Total Cache settings tutorial which has over 500 comments and has been used by over 250,000 people. Sometimes this plugin can work extremely well for some websites.
4. Setup Cloudflare (Using Your Cache Plugin)
Cloudflare is free if you set it up through your cache plugin, otherwise Bluehost tries to charge you for this which is complete BS. Cloudflare’s CDN has 150+ data centers which reduces the geographical distance between your server and visitor, resulting in faster delivery of content. Most cache plugins also have an option to setup Cloudflare which make this pretty easy.
Sign up for Cloudflare, add your website, and it will run a scan. You will go through a set of pages until you see this dashboard, then change name servers in Bluehost to Cloudflare’s…
Global API Key – go to your Cloudflare account and click your name (in the top right) and go to your profile. Scroll down and you will see your global API key, then paste this into WP Rocket.
WP Fastest Cache also has an option for Cloudflare…
Here are the Cloudflare settings with W3 Total Cache (activate in the “extensions” tab first)…
Bonus Tip: StackPath’s CDN is $10/month but has 35 more data centers (more data centers = faster content delivery) which are heavily focused on the US. You can set this up with your cache plugin – just create a StackPath CDN URL and paste it into your cache plugin…
5. Resize Large Images
You can optimize images 3 ways: serve scaled images (resizing large images), specifying a width/height in the HTML, and optimizing images through lossless compression. All 3 are high priority items in GTmetrix which is the tool we’ll use for this and I will go through each one…
To find images that need to be resized, run any page through GTmetrix and expand the “serve scaled images” item (photo below). GTmetrix will show you which images need to be resized and their correct dimensions. Start with images that appear on multiple pages (logo, sidebar and footer images) since this improves load times for multiple pages (eg. your logo appears on your entire site). Then run other important pages through GTmetrix and work on those too.
It’s good 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.
6. Specify Image Dimensions
This 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 appear in certain places like your widgets and CSS.
Again, expand the “specify image dimensions” item in your GTmetrix report and find those appearing on multiple pages. Locate each image in WordPress then view it’s HTML or CSS.
Add a width/height like this…
HTML Example (Shown Above):
<img src=”/wp-content/uploads/2016/10/example-image.jpg” alt=”Example Image” width=”360″ height=”180″ />
First find the image id or class then go to Appearance → Editor → Stylesheet). To specify your logo dimensions you would add this:
logo width: 180px (retina: 360px;) logo height: 110px max (retina: 220px;)
7. Losslessly Compress Images
Imagify and Kraken are the best plugins to losslessly compress images in bulk (Imagify is free until you reach a 25mb monthly quota). Even then it should only be $4.99 to optimize ALL images on your website depending on how many you have. Other completely free plugins can break images and even your website. Trust me – I have tried many plugins and did my research.
- Install the Imagify Plugin
- Sign up for Imagify and grab your API key
- Go to Settings → Imagify
- Set your compression level (normal, aggressive, ultra). Imagify provides “before and afters” so you can see the difference… I use the aggressive setting
- Imagif’em all (bulk optimizes all images on your site)
- Once you’ve reached your limit of 25MB, either wait for next month to reset your limit and compress more, or pay for a plan
8. Turn Off Unnecessary WordPress Settings
WP Disable lets you disable settings in WordPress that consume CPU and slow down your site. Go through the settings and disable anything you don’t use. Enabling heartbeat control, deleting spam, minimizing requests, and disabling Gravatars/pingbacks/trackbacks will help.
9. Clean Your 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 deletes garbage files like your spam and trash folder, pingbacks, trackbacks, and the potentially thousands of post revisions every time you click “save as draft.” Just install the plugin and click the WP-Optimize button on the left of your dashboard, then delete these…
10. Delete Unused Plugins
Deactivate and delete all plugins you don’t use. If you only use plugins at certain times (Imagify, P3 Plugin Performance Profiler, WP Optimize…), delete it then reinstall it ONLY when needed. Hello Dolly and WordPress Importer can be deleted, you don’t need a Google Analytics plugin since the tracking code can be inserted directly into your footer, Facebook widgets can be created on the Facebook website, and same thing with Twitter widgets.
Disable any plugin settings that require ongoing scans/processes like Broken Link Checker’s ongoing scans, Wordfence’s live traffic reports, etc. These put constant stress on your server, will slow down your site, and in some cases it may cause bandwidth limitations on Bluehost.
11. Diagnose Slow Plugins And Find Alternatives
Some plugins are infamous for being slow: Jetpack, Revolution Slider, event and calendar plugins, Disqus (and other comment plugins), live chat, and social media sharing plugins can all slow down your WordPress site. It’s key to use fast plugins – like Soliloquy Slider. Test your website in Pingdom after you install EACH plugin to see how it affects your page load times.
List of slowing loading plugins taken from the WordPress Speed Up Facebook Group…
12. Retest Your Pingdom Scores
Rerun your site through Pingdom and you should see a significant improvement in scores/load time. If not, this probably means you’re on Bluehost’s cheapest $3.95/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 Pingdom/GTmetrix report and I’ll send a few suggestions.
13. Switch To SiteGround (They Are Much Faster)
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.
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.
They’re recommended by WordPress:
A few threads:
SiteGround has 3 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:
People usually migrate because their speed technology can cut load times in half:
15. More WordPress Speed Optimizations
See my WordPress speed optimization guide to learn how to:
- Embed light YouTube videos which are a heavy element
- Minimize redirects if you switched your WWW or HTTPS
- And plenty more, seriously just read it… over 150,000 people have used it
15. 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 servers, causing them to be slow.
What can I do to improve speed on Bluehost?
Upgrade to PHP 7.2 in your Bluehost dashboard, activate Cloudflare, 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, ShortPixel, and Asset Manager 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.
How can I optimize external scripts?
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 Bluelost let me know about that too… I will gladly look into your Pingdom + GTmetrix report and send you a few suggestions (just please do what you can from this guide).