Are you exceeding your CPU usage on HostGator?
Excessive CPU usage on HostGator happens when your hosting plan doesn’t have enough server resources to accommodate your website’s resource consumption. Reducing CPU usage usually requires removing resource hungry plugins, offloading resources to CDNs, and fixing items in GTmetrix. Use AWstats (built-in to HostGator) or Query Monitor to find the source.
Just a heads up, HostGator is terrible. They restrict CPU usage and have slow server response times. Just look at the Facebook polls or read some conversations in the WordPress Hosting Facebook Group. They’re owned by EIG and have gone completely downhill. If you want to stop exceeding bandwidth limits, this guide will help, but I would switch to SiteGround or Cloudways. I use SiteGround (you can view my GTmetrix/Pingdom report with <1s load times).
How to reduce CPU on your HostGator site
- Upgrade To PHP 7.2
- Offload Resources To Cloudflare CDN
- Control WordPress Heartbeat API
- Clean Your Database
- Use A Great Cache Plugin
- Configure Optimal Cache Plugin Settings
- Eliminate High CPU Plugins
- Eliminate External Resources
- Serve Scaled Images
- Losslessly Compress Images
- Block Spam Bots
- Enable Hotlink Protection
- Check AWstats To Find Source Of High CPU
- Check Server Response Times
- Get Better Hosting
1. Upgrade To PHP 7.2
Upgrading to PHP 7.1 or 7.2 can make your site significantly faster, while reducing CPU usage. This is especially true if you haven’t upgraded PHP versions for awhile (or have never done it).
Step 1: In your HostGator cPanel, select the PHP Selector.
Step 2: Select a newer PHP version (the higher, the faster).
Step 3: Check your website for errors. If you see errors, chances are you’re running plugins that aren’t compatible with the newer PHP version. In this case, run the PHP Compatibility Checker plugin to see which plugins are incompatible. You either need to delete these plugins (and replace them with plugins that are maintained better) or revert to an earlier PHP version.
Step 5: Enjoy your website which should be much faster.
2. Offload Resources To Cloudflare CDN
Step 1: Sign up for Cloudflare (free plan).
Step 2: Run the scan and you will eventually come to a page with 2 nameservers.
Step 3: Login to your HostGator account > Domains > Gear Option > Change Nameservers.
Step 4: Replace HostGator’s nameservers with the ones Cloudflare’s provided you.
3. Control WordPress Heartbeat API
The WordPress Heartbeat API runs in the background of your admin panel automatically. It shows real-time plugin notifications, when other users are editing a post, and other resource-hungry tasks. This generates a request every 15-30 seconds, so it’s best to disable it to save on bandwidth. Install the Heartbeat Control plugin and set it to 60s, or better, disable it entirely.
Some cache plugins like WP Rocket have an option for heartbeat control.
4. Clean Your Database
A bloated database can slow down your website and also consume bandwidth. Install the WP-Optimize plugin and schedule it to run every 1-2 weeks, keeping your database nice and clean.
5. Use A Great Cache Plugin
All 3 are super important:
- If you’re using a cache plugin
- Which cache plugin you’re using
- Whether the settings are configured optimally
If you can afford $49/year, WP Rocket was rated the #1 cache plugin in multiple Facebook polls. That’s because it comes with many features most cache plugins don’t (see below). Otherwise, you would need to install about 6 extra plugins to get these features, when WP Rocket has them all built-in, reducing the number of plugins on your site. If you use another cache plugin, you’ll want to research which features that specific cache plugin comes with, then install these plugins if it doesn’t support them.
- 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)
WP Rocket has more features than other cache plugins:
6. Configure Optimal Cache Plugin Settings
I wrote tutorials for the most popular cache plugins. It is very important you configure these optimally… even 1 simple setting (eg. object cache) can greatly affect load times.
7. Eliminate High CPU Plugins
Too many plugins (or 1 single high CPU plugin) can skyrocket bandwidth usage. Common high CPU plugins include social sharing, statistic, backup, live chat, page builders, and related post plugins. You should either delete them, replace them with lightweight plugins (you may need to do research), or you will need a hosting plan with enough server resources to accommodate them. Thank you Ivica from the WordPress Speed Up Facebook Group for starting this list.
- 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 73 Slow Plugins
You can also use the GTmetrix Waterfall tab (or Query Monitor) to find your slowest plugins:
If you plan on using resource-hungry plugins, you will inevitably need to upgrade your HostGator plan (their business plan is better, their VPS is even better but if you’re spending that kind of money, you’ll be better off with SiteGround, Cloudways, Kinsta, or WP Engine).
8. Eliminate External Resources
External resources are almost inevitable. Embedding a YouTube video, a tweet, using a social plugin that connects to Facebook, Google Fonts, running AdSense… these will generate extra requests and will likely appear in your GTmetrix / Pingdom reports. Here are some quick tips:
- High CPU Plugins – many plugins from my list generate external requests.
- Gravatars – host them locally (WP User Avatar) or cache them (Harry’s or FV).
- Google AdSense – use Cloudflare’s Rocket Loader, workers, and using ad balance.
- Google Maps – only use them on pages you absolutely need them (eg. contact page).
- Google Fonts – host them locally using Self-Hosted Google Fonts or CAOS Webfonts.
Prefetch DNS Requests
In cases where you must use external resources, you can prefetch them. This helps browsers anticipate them and loads them faster. Luke created a nice list of common domains to prefetch including Google Maps, Fonts, Analytics, YouTube (when embedding videos), Disqus and more.
WP Rocket has an option for prefetching:
Otherwise you can add it to your header:
<link rel=”dns-prefetch” href=”//youtube.com”>
<link rel=”dns-prefetch” href=”//maps.googleapis.com”>
<link rel=”dns-prefetch” href=”//fonts.googleapis.com”>
9. Serve Scaled Images
If you see serve scaled image errors in GTmetrix, it means you need to resize large images. GTmetrix tells you which images need to be resized and their correct dimensions, but it only shows unoptimized images for the single page you test. If you have common image dimensions (sliders, widgets, carousel, fullwidth blog images) you can create a cheat sheet with all their dimensions. Then crop/resize images before uploading them. This can save you time, and CPU.
10. Losslessly Compress Images
This means you need to lossless compress them (ShortPixel is great). Set the compression level, then optimize a couple images in your media library to make sure you’re happy with the quality. If yes, you can bulk optimize images, and automatically compress images upon upload.
11. Block Spam Bots
These are way more common than you think.
compute.amazonaws.com was hitting my site every 3 seconds and draining CPU on literally nothing. If you haven’t checked to see which bots are hitting your site, I would 100% do this.
Write down all hostnames that look suspicious and hit your site frequently. Google them, and see if other people are reporting them as spam. If yes, go to Wordfence’s Blocking settings (you can also use Cloudflare firewall rules) and block the spam bots here. Be sure to user an asterisk to block all variations of that bot. Check your blocking log and watch the bots get blocked. If your site was getting hit frequently by spam bots, this can save a LOT of bandwidth.
Wordfence also has rating limiting settings. This limits/blocks crawlers (and humans) from making excessive requests, blocks fake Google crawlers, and improves security on 404 pages. The settings below are the same ones recommended by Wordfence on their rate limiting page.
Another alternative, is to simply install the Blackhole For Bad Bots plugin.
12. Enable Hotlink Protection
Hotlink protection prevents people from copying your images and pasting them on their website, which consumes bandwidth since you are still hosting those images. This usually only happens if your website has high quality images (eg. photography). Follow these instructions:
- Login to cPanel and click HotLink Protection.
- Make sure the domain name you wish to protect is in the box called “URLs to allow access”.
- In the box called “Block direct access for these extensions”, provide the extensions for which you would like to block.
- We suggest you check the box for “Allow direct requests”.
- Skip the “Redirect request to this URL” box and hit Submit.
13. Check AWstats To Find Source Of High CPU
AWstats is built-in to the statistics section of your HostGator cPanel and can help you identify the source of high CPU. It tells you exactly how much bandwidth is consumed by bots, images, and other elements. Remember, you can block spam bots with Wordfence or the Blackhole For Bad Bots plugin, and you can optimize your images using tools like GTmetrix and ShortPixel.
14. Check Server Response Times
CPU and server response times go hand-in-hand. If you went through my tutorial and you still have high CPU usage on HostGator, you probably know what the problem is – it’s HostGator.
15. Get Better Hosting
Cloudways is currently the highest rated host in Facebook polls.
They’re also popular in the WordPress Hosting and WP Speed Matters Facebook Group (a great place to get unbiased feedback). I use their Vultr High Frequency plan and you can click through my blog to see how instantly it loads. In nearly every GTmetrix test, TTFB is <150ms.
Ain’t nobody got time for slow TTFBs when trying to pass core web vitals. SiteGround went downhill and their TTFB is slow, Hostinger writes fake reviews, and GoDaddy, Bluehost + EIG brands were never good. Since core web vitals, there’s been a large shift in people moving to Cloudways DigitalOcean and now Vultr HF (since it was just released on 8/20/2020). This shift can be seen in recent Facebook polls, migration results, and threads if you take the time to look.
I know there are lots of bad hosting suggestions out there. That’s why I encourage you to join these Facebook Groups and stay updated since a lot has been changing in the hosting industry.
Recent polls taken on “the best hosting” (click thumbnail to enlarge):
People who moved to Cloudways and got faster load times (click thumbnail to enlarge):
I moved from SiteGround to Cloudways and here’s what happened:
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 while measuring their load times for 1 week at 30 minute check intervals, as well as TTFB in various tools. No caching or CDN (with same plugins) were used since I’m strictly comparing the server’s speed. Some domains are still live (cwvltrhfserver.com is on $13/mo Vultr HF, cwdoserver.com is on $10/mo DigitalOcean, and stgrndserver.com is on SiteGround GrowBig). I cancelled most accounts since it got expensive. Even when browsing through those 3 sites or running your own tests, you’ll see the difference.
Why I use Cloudways:
- My TTFB is consistently under 200ms
- Server-level caching (Redis + memcached)
- Free migration, or use their migrator plugin
- Support is great as reflected in Trustpilot reviews
- Monthly pricing with no nasty contracts or renewals
- Free SSL, staging, bot protection, cron job management
- You shouldn’t exceed CPU unless your site actually uses it
- Choice of 5 cloud hosts: DO, Vultr, AWS, Google Cloud, Linode
- Releases new servers (DO Premium) but I still suggest Vultr HF
- They have a Cloudways Users Facebook Group to ask questions
- Their community manager can also answer any questions you have
- Getting started is easy: launch a server, connect domain + SSL, login to WP
Affiliate Disclaimer – if you sign up for Cloudways with my affiliate link, I really appreciate it. I try to do extensive research and make recommendations based on unbiased evidence. I also donate to GoFundMe ($6,000 so far) and your support would help. You can use promo code OMM25 to get 25% off the first 2 months at Cloudways.
Frequently Asked Questions
What causes high CPU?
High CPU is usually caused by a slow server, resource-hungry plugins, an increase in website traffic, not using a CDN, and websites that aren't optimized for speed.
How do you reduce CPU?
Upgrade to the highest available PHP version in your HostGator cPanel, configure a cache plugin (I recommend WP Rocket), setup Cloudflare's free CDN, install the Heartbeat Control plugin, clean your database with WP-Optimize, and consolidate your plugins.
What are HostGator's CPU limits?
On HostGator's CPU Resource page, they save they have a 25% CPU usage limit, and that you may exceed this limit for no longer than 90 seconds.
Is HostGator the problem?
HostGator was rated poorly in Facebook polls and is known for having slow servers if you do your research in Facebook Groups. Look at people who migrated from HostGator to other hosts and you will see there are definitely better options.
Will switching hosts fix the CPU issue?
Every host has CPU limits. You need to learn how much CPU your potentially new hosting plan comes with and compare it to your current HostGator plan. If it has more more, it should fix the issue.
Hope this helped.