Getting CPU overages on Bluehost?
The most commons ways to reduce CPU usage on Bluehost are: upgrading to PHP 7.3 in the cPanel, activating Cloudflare, eliminating high CPU plugins, and using the Heartbeat Control, WP-Optimize, and Blackhole For Bad Bots plugin. These can all help reduce CPU on Bluehost.
There are 2 options: lower the CPU consumed by your website/plugins (using my guide), or upgrade your plan to include more server resources. But, it’s well-known in the WordPress Hosting Facebook Group that Bluehost is one of the cheapest, lowest quality hosts. They’re owned by EIG, pack too many people on the same server, and are constantly bashed about slow servers, support, and downtimes. Do some research and join that Facebook Group – there are much better options like Cloudways (I use their DO plan and you can view my GTmetrix report).
How to reduce CPU usage on your Bluehost site
- Upgrade To PHP 7.3
- Activate Cloudflare CDN
- Find CPU-Hungry Plugins
- Disable Backup, Statistic, And Scan Plugins
- Reconsider Your Cache Plugin
- Disable Heartbeat API
- Block Spammy Bots
- Clean Database With WP-Optimize
- Configure Cloudflare Settings
- Offload More Resources To StackPath CDN
- Disable Object Cache In W3 Total Cache
- Disable Features In WP Rocket
- Increase Preload Interval In WP Rocket
- Identify The Source In AWStats
- Check Server Response Times
- Switch To Faster Hosting
1. Upgrade To PHP 7.3
Higher PHP versions make your site load much faster, and makes it more secure. Bluehost currently supports PHP 7.3 – which you definitely should be using. Here’s how to upgrade.
Step 1: Use the Display PHP Version plugin to see which PHP version you’re currently on.
Step 2: Run PHP Compatibility Checker to make sure your plugins are compatible.
Step 3: Head to PHP Config section of Bluehost’s cPanel.
Step 4: Upgrade to a higher PHP version (the higher, the faster):
Step 5: Check your website for errors (you can always go back to an earlier version).
2. Activate Cloudflare CDN
Cloudflare is a free CDN which hosts your website files on 200+ data centers, and helps offload resources to those data centers (putting less stress on your own server). It also has lots of other speed/security features, but you should be using a CDN if you have CPU usage issues.
In your Bluehost cPanel, activate Cloudflare:
3. Find CPU-Hungry Plugins
You probably know plugins are notorious for causing slow load times and consuming resources. If you run your site through GTmetrix and see the same plugin showing multiple times in your report, it’s probably a sign. You can also use the GTmetrix Waterfall tab to see how long each individual element/plugin takes to load. I have an extensive list of high CPU plugins which you should avoid if possible (they are known for consuming server resources).
Query Monitor can also identify slow plugins (but uninstall it when you’re done):
4. Disable Backup, Statistic, And Scan Plugins
These are by far the most common CPU-hungry plugins. Any plugin that runs constantly will put stress on your server. UpraftPlus has some recommendations, but the bottom line is that if you’re going to be using these types of plugins, you need to make sure your server has enough resources to accommodate them. Otherwise, you will inevitably end up with CPU overages.
5. Reconsider Your Cache Plugin
All 3 factors impact bandwidth consumption:
- If you’re using a cache plugin
- Which cache plugin you’re using
- Whether you configured it properly
WP Rocket was rated #1 in Facebook polls because it comes with many features most cache plugins don’t. Otherwise, you would need to install about 6 extra plugins. This is why WP Rocket yields better scores + load times in GTmetrix/Pingdom (it has more features, and you only need 1 single plugin to get all these features). If you don’t want to pay for WP Rocket, check out Swift Performance or WP Fastest Cache which are usually the #1 free cache 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)
- 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)
Most people have a cache plugin installed, but the settings aren’t configured optimally. Review my tutorials to make sure you’re getting the most out of it.
- WP Rocket Settings With Cloudflare + StackPath Instructions
- Swift Performance 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
6. Disable Heartbeat API
The WordPress Heartbeat API allows plugins to send you real-time notifications, and shows you when other users are editing a post. This may sound nice, but it also creates an additional request every 15-30 seconds (consuming server resources). Install the Heartbeat Control plugin and disable it completely, or at least limit it to 60 seconds. This will save you resources.
WP Rocket also has an option to disable the heartbeat API:
7. Block Spammy Bots
Many websites (mine included) get infested with spam bots that do nothing but crawl your site and consume resources. You can see which bots are hitting your site in real-time using Wordfence’s live traffic report. The easiest solution is to install the Blackhole For Bad Bots plugin. The plugin creates a hidden rule and blocks all spam bots that don’t follow the rule. Googlebot and other good bots are whitelisted, and the spammy ones are blocked. Easy peasy.
Or, install Wordfence and view your live traffic report which shows all bots hitting your site in real-time. Create a list of all bots that look spammy, then Google their hostnames (provided by Wordfence) to see if other people are reporting them as spam. If yes, add them to your list.
Now go to Wordfence’s Blocking Settings and add the spam bots here (you can also do this using Cloudflare Firewall Rules). Be sure to use an asterisk to block all variations of that bot (amazonaws.com is the most common one and was hitting my website about every 3 seconds). I couldn’t believe I was consuming resources on this… for them to do this should be illegal.
8. Clean Database With WP-Optimize
Cleaning your database every 1-2 weeks using WP-Optimize prevents junk files from accumulating in your database and slowing it down. Be sure to take a backup before doing this.
WP Rocket also has an option to clean your database:
9. Configure Cloudflare Settings
In your Cloudflare dashboard, head to the Page Rules tab. Create this rule for your WP Uploads area, which saves bandwidth since this area of your site isn’t updated much, and doesn’t need to be cached often. You should also create a page rule to disable Cloudflare performance features in your WordPress Admin area, just like Cloudflare recommends.
Here are my settings for the speed tab:
And the caching tab:
10. Offload More Resources To StackPath CDN
Multiple CDNs = more data centers = faster delivery of your content, and the more resources are offloaded. I use Cloudflare and StackPath who has 31 data centers heavily located in the U.S., which is where most my visitors are. StackPath has a free 30-day trial then is $10/month.
Step 1: Sign up for StackPath.
Step 2: In the dashboard, click the CDN tab, then create a StackPath CDN Site:
StackPath will walk you through a set of pages:
Step 3: Copy your StackPath CDN URL and paste it into WP Rocket:
If not using WP Rocket, you can also use CDN Enabler:
Step 4: In StackPath, go to CDN → Cache Settings, then click Purge Everything:
Step 5: Run your site in GTmetrix and “content delivery network” should be green in YSlow.
11. Disable Object Cache In W3 Total Cache
12. Disable Features 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.”
13. Increase Preload Interval In WP Rocket
WP Rocket’s preloading is set to 500ms by default, but this can cause high CPU since it crawls URLs very frequently. Install their Preload Crawl Interval plugin and increase it. You can try 1 or 2 seconds to start, and if it’s still causing high CPU, increase it more (to around 3 seconds).
14. Identify The Source In AWStats
AWstats is located in Bluehost’s “Stats” section in the cPanel, and can identify the source of high CPU. It shows how much bandwidth each bot, image, and other elements are consuming. If you see unknown bots are consuming bandwidth, check your Wordfence live traffic report or install the Blackhole For Bad Bots plugin. If you see images are consuming high bandwidth, optimize them to load faster (by resizing them, and losslessly compressing them in ShortPixel).
Bonus: I also have a tutorial for optimizing images in WordPress including the 3 primary GTmetrix items (serve scaled images, specify image dimensions, and lossless compression).
15. Check Server Response Times
Slow server response times aren’t good for bandwidth either. You can check this in Bitcatcha or Google PageSpeed Insights. Google says you server response time should be under 200ms, but this is unrealistic if you’re on Bluehost especially the $6.99/month shared plan. When they say you get what you pay for, this is directly reflected in your website’s server response times.
Unfortunately, Bluehost’s servers are not as fast:
16. Switch To Faster Hosting
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).
What happened when I moved from SiteGround:
GTmetrix tests are always different, but even posts with a huge 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.
The evidence is there:
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. 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 these 2 sites or running your own tests, you’ll 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).
- Server caching (Varnish, Redis, memcached) = faster performance.
- You get to pick from DigitalOcean, Vultr HF, Linode, AWS, Google Cloud.
- 4.7/5 star TrustPilot rating + 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.
- Muhammed (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.
Do your research or look at this Facebook thread.
I hope this was helpful. If you have questions, drop me a comment.