How To Reduce CPU Usage On Bluehost (Fix 503 Errors + Bandwidth Throttling)

Bluehost cpu usage

Getting CPU overages or 503 errors on Bluehost?

The easiest way to reduce CPU usage on Bluehost is to activate server level caching, offload bandwidth to Cloudflare, and use PHP 8.0. Cloudflare’s bot fight mode and hotlink protection can also reduce CPU. Finally, disable WordPress heartbeat API and remove high CPU plugins.

Upgrading plans is the last thing you should do. It’s well-known in Facebook groups like WP Speed Matters that Bluehost is slow, crams too many websites on their servers, and throttles bandwidth. If you use this guide and still have issues, try Cloudways Vultr HF or NameHero’s LiteSpeed which are much faster than Bluehost and can instantly fix CPU issues with better core web vitals. I use Vultr HF and you can check my GTmetrix report or click through my posts.

Bluehost is the issue

 

1. Check AWStats And Error Logs

Login to your Bluehost account and check your AWStats and error logs.

AWStats can help you identify the source of high CPU by showing how much bandwidth websites are using as well as bots, images, and other elements on your Bluehost account.

Bluehost awstats website bandwidth

Error logs are also found in Bluehost which show the last 300 Apache errors. Learn what kind of error it is and fix it. You may need a developer for this, but you can point them in the right place.

Bluehost error logs

 

2. Enable Bluehost’s Server Caching

Bluehost’s server caching can be activated in your account or by using Bluehost’s plugin.

This enables page caching which lightens the load on your server. Caching at a server level is also faster than file-based caching done by most cache plugins, so you should definitely use it.

Bluehost caching

 

3. Use PHP 8.0 (And Keep It Updated)

Bluehost supports PHP 8.1 at the time of writing this, but PHP 8.0 is more stable. You can upgrade PHP versions in your Bluehost account under MultiPHP Manager. Check here every few months or so to see if Bluehost released a new version. Check for errors after upgrading.

Bluehost upgrade php version

 

4. Offload Bandwidth To Cloudflare

Cloudflare’s free CDN reduces CPU usage by offloading resources to their 250+ data centers. You can activate Cloudflare directly in your Bluehost account, but you’re better off setting up Cloudflare manually by signing up on the Cloudflare website and changing nameservers. This gives you access to Cloudflare’s full dashboard instead of the (very basic) settings in Bluehost.

Cloudflare bandwidth
Cloudflare offloads bandwidth to their data centers (you can see this in their analytics tab)
Disable cloudflare bluehost
Step 1: Disable Cloudflare in Bluehost if you plan on setting it up manually (recommended)
Change bluehost nameservers cloudflare
Step 2: Sign up for Cloudflare, add your website, and copy your 2 nameservers
Bluehost change nameservers
Step 3: Login to Bluehost’s DNS settings and change your nameservers to Cloudflare’s
Cloudflare proxy
Step 4: Activate Cloudflare’s CDN in the DNS settings by changing your website to “Proxied”

Once you’ve added your website to Cloudflare and changed nameservers, you will have access to their full dashboard which has a lot of settings. Below are some of the settings I would tweak:

  • Enable bot fight mode to block spammy bots and reduce CPU.
  • Enable HTTP/3, Brotli, early hints, and consider using their APO.
  • Minify HTML/CSS/JS in Cloudflare and disable these in your cache plugin.
  • Take advantage of page rules, firewall rules, and other Cloudflare features.

 

Hotlink protection prevents other people from embedding your images on their website. Instead of downloading images and uploading them to their own website, they just copy/paste the image. Since the image is hosted on your server, it also uses CPU from your server. Even if you don’t have high res images, there are many content thieves out there and it’s best to be safe.

Hotlink protection can be activated in your Bluehost control panel or Cloudflare has this too.

Bluehost hotlink protection

 

6. Replace WP-Cron With A Real Cron Job

Every page view triggers the WordPress cron job which increases CPU.

Bluehost’s cPanel lets you setup, remove, or edit cron jobs. Open your wp-config.php file in your main WP folder. Then add this code before the line: /* That’s all, stop editing! Happy blogging. */

define('DISABLE_WP_CRON', true);

Now in the Bluehost cPanel, find the cron job section. Add a new cron job using the following code and replace https://yourwebsite.com with your site. Set the cron job to run 2x per hour.

wget -q -O - https://yourwebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Bluehost cron job

 

7. Remove Reporting, Backup, Security Plugins

These plugins should be avoided because they run high CPU background tasks. Some people have success with Wordfence (you can try it), but it usually does more harm than good. Stat plugins have to collect stats and if you need backups, use a lightweight plugin like UpdraftPlus.

There are 2 types of slow plugins: ones that add extra CSS/JS which make your frontend website slow. And plugins that are running in the background which increase CPU usage.

Two tools I recommend are Query Monitor and the WP Hive Chrome Extension. Query Monitor lets view any page on your site, then go to Queries > Queries By Component to see your slowest loading plugins. WP Hive lets you browse the WordPress plugin repository and see whether a plugin impacts PageSpeed + memory usage before installing it. I have already checked WP Hive and other resources, so make sure you check out my full list of slow plugins.

Plugin Category Memory Impact PageSpeed Impact
Analytify Analytics X
Backup Buddy Backup X
iThemes Security Security X
Broken Link Checker SEO X
Jetpack Security X X
Query Monitor Analytics X
NextGEN Gallery Gallery X X
Site Kit by Google Analytics X
Wordfence Security X
wpDiscuz Comments X X
WPML Translate X X
Yoast SEO SEO X
Slow wordpress plugins query monitor
Query Monitor shows your slowest loading plugins (delete it when you’re done)

 

8. Consider A Premium Cache Plugin

All 3 factors impact CPU usage:

  • If you’re using a cache plugin
  • Which cache plugin you’re using
  • Whether you configured it properly

The fastest cache plugin is LiteSpeed Cache which uses server-side caching, but you’ll need to use a LiteSpeed host to use it (I recommend NameHero). I was using WP Rocket but made the switch to FlyingPress (by Gijo Varghese from the WP Speed Matters Facebook Group) and immediately noticed my site was faster when clicking through posts. So either use FlyingPress or WP Rocket – both are paid plugins. Free cache plugins like W3TC or WPFC don’t do a good job at addressing core web vitals which means you’d need to install several extra speed plugins. I have guides on LiteSpeed Cache, WP Rocket, and most free cache plugins, not FlyingPress yet.

Omm switches to flyingpress

Some cache plugin settings also impact CPU usage (look through their documentation).

  • Preload crawl interval (try increasing it)
  • Caching logged-in uses (usually turn off)
  • Using separate cache for mobile (usually turn off)
  • Guest Mode setting in LiteSpeed Cache (on if your server can handle it)

 

9. Disable WordPress Heartbeat

The WordPress Heartbeat API allows plugins to send you real-time notifications and also shows when other users are editing a post. This creates an additional request every 15-30 seconds (consuming server resources). Most cache plugins have a setting to disable or limit Heartbeat. You can also do it manually with some code or with the Heartbeat Control plugin.

Heartbeat control plugin settings

 

10. Clean Your Database With WP-Optimize

Even though most cache plugins have an option to clean your database, you should install the WP-Optimize plugin once in a while which lets you go through database tables and remove tables left behind by old plugins. If you installed a plugin and deleted it, it will store settings in your database. Some plugin modules also accumulate quite a bit of database junk (Rank Math modules is one example). So if you don’t use a certain feature in a plugin, disable that module. However, only some plugins are module-based and let you disable certain features in the plugin.

Wp optimize unused database tables
Use WP-Optimize to remove unused database tables marked as “not installed”

 

11. Disable Object Cache If Using W3 Total Cache

If you use W3 Total Cache, object cache usually does more harm than good and can slow down the admin. Redis and memcached are great for reducing CPU but aren’t supported on Bluehost.

W3 total cache object cache

 

12. Avoid Slow Page Builders On Cheap Shared Hosting

Shared hosting with Elementor/Divi is a recipe for disaster (same with WooCommerce).

Slow page builders already add extra CSS, JavaScript, and fonts to your site which make it slower. Page builder editors also consume a decent amount of CPU, especially if you install a bunch of extra Divi/Elementor plugins on top of the page builder. I made this mistake and it costs thousands of dollars and weeks of work trying to revert back to a faster alternative (I ended up with Gutenberg but GeneratePress and the Kadence theme are also popular options).

If you must use Elementor/Divi, at least optimize it. Elementor has experimental settings which can improve load times and reduce CPU, and Divi also added their own speed settings. You should also highly consider hard coding your header/footer in CSS so it doesn’t use heavy page builder code. These obviously appear across your entire site and CSS is much more lightweight.

Page builder speed test
Most page builders aren’t good for load times or CPU usage (image source: gutenberghub.com)

 

13. Try Not Minifying Or Combining CSS/JS

WP Rocket says:

“Occasionally some of the options on the File Optimization tab, such as 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 to see if it helps.”

This can apply to any cache plugin, not just WP Rocket. You’re also better off using your CDN (i.e. Cloudflare) to minify HTML, CSS, and JavaScript files and disabling these settings in your cache plugin. Since the CDN is closer to your end-users, minifying in your CDN is slightly faster.

 

14. Keep Web And Email Hosting Separate

Emails take up storage, files (inodes), and resources.

That’s why many premium hosts like Cloudways and Kinsta don’t offer email hosting – because it should be separate from your web hosting to begin with. Obviously this is an extra cost since you will need to use a third-party service like Google Workspace (what I’m using), but it can potentially make an improvement especially if you’re exceeding Bluehost’s 250,000 inode limit.

 

15. Check For A Slow TTFB

If you have a slow server response time (TTFB) in PageSpeed Insights, you can pretty much identify Bluehost as the problem. Google flags your TTFB if it’s over 600ms but under 200ms is ideal. TTFB doesn’t just affect TTFB. It also affects LCP and many other items in core web vitals.

Reduce server response time

Unfortunately, Bluehost’s TTFB is one of the slowest:

Bluehost hosting review

Bluehost slow server response time

Bluehost server response time

Bluehost crap server response time

Bluehost server response times

 

14. Move To LiteSpeed Or Cloud Hosting

Most hosting recommendations are garbage, but it’s the #1 speed factor and you can use KeyCDN to test your global TTFB (which is also 40% of LCP). I suggest joining the WP Speed Matters Facebook Group to get unbiased hosting feedback. The 3 hosts below are solid and either use LiteSpeed servers, Cloudflare Enterprise, cloud hosting, and all 3 use NVMe/Redis. These are much faster than “mainstream hosts” (Bluehost, SiteGround, Hostinger) who use slower SSDs, Apache/Nginx, and no Cloudflare Enterprise or Redis (and if they do, it costs $$$).

The aff links below are how I make a living and I appreciate you using them. Thanks :)

Namehero cloudways rocket. Net
These are the same hosts I recommend

  • NameHero – all plans use LiteSpeed which is not only faster than Apache/Nginx, but it can handle 2x the capacity of Apache. This also means you’ll use LiteSpeed Cache + QUIC.cloud CDN (arguably fastest setup on a budget). NameHero has more CPU/RAM than similar LiteSpeed hosts with cPanel + email hosting. I usually recommend the Turbo Cloud plan with 3 cores + 3GB RAM + NVMe for $7.58/mo. The main con is their data centers are only in the US + NL. If these aren’t close to your visitors, make sure to use QUIC.cloud (which has HTML caching) or look into ChemiCloud / Scala. All 3 use LiteSpeed and have at least a 4.7/5 TrustPilot rating.

Web server poll

Web server poll oxygen

Litespeed vs nginx vs apache
LiteSpeed servers are faster than Apache (what Bluehost uses)
Ram on litespeed hosting plans
NameHero has more CPU/RAM than similar hosts if you compare specs

Litespeed cache litespeed server

  • Cloudways Vultr High Frequency – while NameHero is shared, Vultr HF is cloud hosting with NVMe and 44 data centers. I moved from SiteGround and load times + hosting costs both cut in half while eliminating CPU issues. People are scared it’s “techie” but launching a server and connecting your domain can literally take 5 minutes (plus they offer a free migration). Redis Object Cache Pro is free and the Cloudflare Enterprise add-on is $5/mo which adds prioritized routing, more PoPs, image optimization, WAF, Argo, and load balancing. Cons are extra costs for email hosting (use Google Workspace), cache plugin (use FlyingPress), and Cloudflare Enterprise doesn’t have full page caching (coming soon). It’s monthly pricing with 3-day trials. Normally starts at $13/mo but here’s a coupon for 30% off 3 months.
Cloudways launch vultr high frequency server
Launching a server is easy and gives you more control
Siteground to cloudways shoutout
They were also ranked #1 in several Facebook polls

Bluehost to cloudways migration

Stay away from bluehost eig godaddy vs cloudways

Bluehost choice plus vs cloudways vultr

  • Rocket.net – a step up from Cloudways in terms of speed, support, and easy of use. Unlike Cloudways, their Cloudflare Enterprise is free with full page caching and no configuration needed (the CEO Ben Gabler was previously Chief Product Officer at StackPath, so won’t get a better Cloudflare Enterprise). You get 32 cores + 128GB RAM, NVMe, Redis, and Brotli. There are no PHP worker limits since only about 10% of traffic hits the origin server and they allow 10x more monthly visits than Kinsta. However, a con is the low bandwidth compared to Cloudways. Since hosting/CDNs are a big part of TTFB/LCP, you’re hitting 2 birds with 1 stone. While still small, they’re getting popular and start at $25/mo (yearly) or try them for $1. If you have a larger/WooCommerce site, I suggest having a conversation with Ben.
Keycdn global ttfb
Rocket.net averages a <100ms global TTFB (you can also search their TrustPilot reviews for “TTFB“)

Rocket. Net vs kinsta migration

Kinsta to rocket. Net ttfb redis

How do I reduce CPU usage in Bluehost?

The easiest way to reduce CPU usage in Bluehost is to offload resources to Cloudflare’s CDN and disable high CPU background tasks + plugins. Configuring a cache plugin and cleaning your database can also reduce CPU, but Bluehost may still throttling bandwidth.

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

Cheers,
Tom

Leave a Comment