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.
How To Reduce CPU Usage On Bluehost
- Check AWStats and error logs
- Enable Bluehost’s server caching
- Use PHP 8.0 (and keep it updated)
- Offload bandwidth to Cloudflare
- Activate hotlink protection
- Replace wp-cron with a real cron job
- Remove reporting, backup, security plugins
- Consider a premium cache plugin
- Disable WordPress heartbeat
- Clean your database with WP-Optimize
- Disable object cache if using W3 Total Cache
- Avoid slow page builders on cheap shared Hosting
- Try not minifying or combining CSS/JS
- Keep web and email hosting separate
- Check for a slow TTFB
- Invest in better hosting (Vultr HF or LiteSpeed)
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.
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.
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.
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.
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.
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.
5. Activate Hotlink Protection
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.
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
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 | ✓ |
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.
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.
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.
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.
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.
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.
Unfortunately, Bluehost’s TTFB is one of the slowest:
14. Invest In Better Hosting (Vultr HF Or LiteSpeed)
If you want a faster website/TTFB, leave Bluehost and join the WP Speed Matters Facebook Group (run by Gijo Varghese) to get unbiased feedback on WordPress hosting and site speed.
I use Cloudways Vultr HF which is a popular choice in Facebook Groups. You can check my GTmetrix report, TTFB, core web vitals, or click through my site to see yourself. I moved from SiteGround (who is faster than Bluehost) to Cloudways which cut load times in half and fixed CPU issues (it’s also monthly pricing with no higher renewals and 44 data centers). They use Redis and NVMe storage which are faster than Bluehost’s slower SSDs. The main cons are no file manager or email hosting, and the Breeze plugin + CloudwaysCDN (StackPath) aren’t great. I suggest FlyingPress or WP Rocket, Cloudflare or BunnyCDN, and Google Workspace. They do 3-day trials, a free migration, and a promo code for 30% off 3 months. Some people say they’re techie since it requires an extra step to launch a server + connect your domain, but it’s not hard:
Spend 5 minutes looking at recent Facebook polls on “the best hosting,” migration results of people who switched, and unbiased feedback in Facebook groups (click thumbnails to enlarge).
Cloudways Vultr High Frequency starts at $13/mo and is cloud hosting with faster NVMe SSD storage (compared to Bluehost’s shared hosting with slower SATA SSDs).
NameHero is a solid choice for cheap shared hosting on LiteSpeed servers which are faster and more efficient than Apache (what Bluehost uses).
They use LiteSpeed on all plans which have more CPU/RAM for a cheaper price compared to Hostinger, A2, SiteGround, and Bluehost. They also use NVMe on higher plans. This means you can use the LiteSpeed Cache plugin with QUIC.cloud, HTTP/3, Redis, and faster server-leveling caching. Since this setup is free on LiteSpeed, there’s no need to buy premium cache plugins. I recommend their Turbo Cloud plan with 3 cores, 3GB RAM, NVMe, and LiteSpeed for $8/mo.
Even though NameHero is known as a “simple, beginner-friendly host” with cPanel, they use faster technology behind the scenes. Their uptime status is usually clean with less “scheduled maintenance” and they’re one of the only cheap hosts that don’t sacrifice speed/support. The main con is the data centers are only in the US/Netherlands. NameHero does a free migration, has a 30-day refund time, and the CEO (Ryan) is a genuinely great guy if you watch his YouTube channel. You can use WP Johnny’s (who also uses LiteSpeed) or my own LiteSpeed Cache guide.
Hostinger only uses 1-2 CPU cores with less RAM and slower SATA SSDs. A2 uses less RAM on most plans (and only higher plans use LiteSpeed). SiteGround has strict CPU limits and limited resources with slower SSDs. Some hosts like Bluehost don’t even list the actual specs (red flag).
NameHero starts at $2.69/mo, is more beginner-friendly than Cloudways, and one of the fastest shared hosts with LiteSpeed and more CPU/RAM/NVMe than other hosts.
Affiliate Disclaimer: I use aff links to Cloudways + NameHero and appreciate your support. These are top Bluehost alternatives based on my obviously biased opinion + FB group research.
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