How To Reduce CPU Usage On HostGator (Bandwidth Limits/Throttling Which Cause 503 Service Unavailable Errors)

Home » WordPress Hosting » How To Reduce CPU Usage On HostGator (Bandwidth Limits/Throttling Which Cause 503 Service Unavailable Errors)

Bandwidth limits happen when your hosting plan doesn’t have enough server resources to accommodate your plugins, images, theme, and other things that might be causing high CPU. You can use AWstats (built-in to your HostGator cPanel) and the Query Monitor plugin to find the source, but this tutorial outlines the most common solutions (I had CPU overages myself).

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).

 

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.

HostGator-PHP-Selector

Step 2: Select a newer PHP version (the higher, the faster).

HostGator PHP Upgrade

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.

PHP-Compatibility-Checker

Step 5: Enjoy your website which should be much faster.

WordPress PHP Benchmarks

 

2. Offload Resources To Cloudflare CDN

Offloading heavy files to Cloudflare’s 200+ data centers greatly reduces the load on your own server. Cloudflare’s CDN is free and quite simple to setup, just follow these instructions below.

Step 1: Sign up for Cloudflare (free plan).

Step 2: Run the scan and you will eventually come to a page with 2 nameservers.

Cloudflare-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.

HostGator Nameservers

 

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.

WP-Rocket-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.

WP-Optimize Clean Database

 

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.

2016 best cache plugin poll

2019 cache plugin poll

Swift vs WP Rocket

2016 cache plugin poll

Best cache plugins 2018 poll

wp rocket vs w3 totla cache

WP Rocket has more features than other cache plugins:

WP-Rocket-Features

If you can’t afford WP Rocket, I recommend either Swift Performance or WP Fastest Cache.

 

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.

  1. AddThis
  2. AdSense Click Fraud Monitoring
  3. All-In-One Event Calendar
  4. Backup Buddy
  5. Beaver Builder
  6. Better WordPress Google XML Sitemaps
  7. Broken Link checker (use Dr. Link Check)
  8. Constant Contact for WordPress
  9. Contact Form 7
  10. Contextual Related Posts
  11. Digi Auto Links
  12. Disqus Comment System
  13. Divi Builder
  14. Essential Grid
  15. View Full List Of 65 Slow Plugins

You can also use the GTmetrix Waterfall tab (or Query Monitor) to find your slowest plugins:

Slow WordPress Plugin

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:

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.

Prefetch-DNS-Requests-List

WP Rocket has an option for prefetching:

Prefetch-DNS-Requests

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.

Serve Scaled Images

 

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.

optimize-images-gtmetrix

 

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.

Install Wordfence and use their live traffic report to see all bots hitting your site in real-time.

Live-Traffic-Report-Wordfence

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-Blocking-Rule

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.

Wordfence-Rate-Limiting

Another alternative, is to simply install the Blackhole For Bad Bots plugin.

Blackhole for Bad Bots

 

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:

  1. Login to cPanel and click HotLink Protection.
  2. Make sure the domain name you wish to protect is in the box called “URLs to allow access”.
  3. In the box called “Block direct access for these extensions”, provide the extensions for which you would like to block.
  4. We suggest you check the box for “Allow direct requests”.
  5. Skip the “Redirect request to this URL” box and hit Submit.

Cloudflare also has an option for hotlink protection in the scrape shield settings:

Cloudflare Hotlink Protection

 

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.

Robots-Spiders-Bandwidth

 

14. Check Server Response Times

Slow server response times are never good for CPU, load times, or anything. Run your site Google PageSpeed Insights and check if improve server response time appears in your report.

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.

Reduce Server Response Time

 

15. Get Better Hosting

HostGator sucks.

They were rated very poorly in Facebook polls and people constantly complain about their slow server response times, bandwidth limits, and of course their bad support and uptimes.

I use SiteGround and have 200ms response times with 100% GTmetrix scores and .4s Pingdom load times. Do a hosting check, run your own tests, or click through my fast loading pages. They were rated the #1 host in 26 Facebook polls and are worlds better than EIG (Bluehost, HostGator), GoDaddy, and other hosts who pack too many people on the same server. There have been plenty of people who migrated and posted results on Facebook and Twitter. Tweet after tweet, post after post, poll after poll after poll, faster hosting will fix slow response times. They’re recommended by WordPress, do free migrations, and I use their semi-dedicated plan.

2019 Hosting Poll
View Poll

People usually migrate because their speed technology can improve server response times by multiple seconds. Here are a few people who migrated to SiteGround and posted their results.

Switching To SiteGround

SiteGround Load Time Migration

Bluehost to SiteGround GTmetrix

HostGator To SiteGround

SiteGround GTmetrix

SiteGround Google PageSpeed Insights

100 Perfect Score On SiteGround

SiteGround Genesis

Speed Delivered By SiteGround

SiteGround GTmetrix Report

Reduced Load Times With SiteGround

New SiteGround Response Times

HostGator To SiteGround Migration

SiteGround Response Times On Joomla

Switched To SiteGround Hosting

SiteGround Rocket Imagify Combo

Joomla GTmetrix On SiteGround

SiteGround PageSpeed Insights

SiteGround On Joomla

SiteGround Reduced Load Times

SiteGround Speedy Hosting

New Pingdom Results On SiteGround

New SiteGround Response Time

SiteGround Response Time Improvement

I’m on their semi-dedicated GoGeek plan with a .5s load time in GTmetrix

2019-GTmetrix-Report

OMM-On-SiteGround

SiteGround has 3 plans:

SiteGround WordPress Hosting

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 the features page

SiteGround-Server-Resources-Chart

I use SiteGround because:

  1. My GTmetrixPingdom reports speak for themselves
  2. My pages load instantly (click through them if you want)
  3. Fast speed technology (PHP 7.3, NGINX, SG Optimizer, Cloudflare)
  4. Recommended by Yoast, WordPress, Ivica from WordPress Speed Up
  5. Free Let’s Encrypt SSL, easy to use cPanel, and features for eCommerce
  6. WordPress support is unbeatable even without GoGeek’s priority support
  7. GrowBig comes with staging, more storage, and more server resources (scroll down to “we allocate the resources you need” and hover over the server tab)
  8. GoGeek comes with even more server resources, storage, priority support
  9. Free migrations, migrator plugin, and a 30-day money back guarantee
  10. Plenty of praise on Reddit, Facebook conversations, Twitter, TrustPilot
  11. Tons of praise on Facebook: #1, #2, #3, #4, #5, #6, #7#8, #9, #10#11
  12. Many people already migrated and posted results on Twitter: #1, #2, #3, #4, #5, #6#7, #8, #9, #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #20, #21, #22, #23, #24, #25, #26, #27, #28, #29, #30, #31, #32, #33, #34, #35, #36, #37

Affiliate Disclaimer – if you sign up for SiteGround using my affiliate link I will donate a good chunk at no cost to you. Each year I donate $3,000 to GoFundMe campaigns (2018 was to feed the hungry in Denver, 2017 was to Red Cross at Hurricane Harvey). Your support helps and I genuinely appreciate it. Either way, I would avoid HostGator – join some Facebook groups and see the conversations, polls, tweets, and those who migrated from HostGator to SiteGround. I refuse to send people to HostGator or EIG. Do your research, see who Yoast is using, and results of people who already migrated.

Read up for yourself:

HostGator Server Response Time

HostGator Feedback

HostGator-vs-SiteGround

HostGator-To-SiteGround

Favorite-Web-Host

 

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.

Cheers,
Tom

View More Tutorials

Subscribe
Notify of
1 Comment
Newest
Oldest Most Voted
Inline Feedbacks
View all comments