Hitting your CPU limits on SiteGround?
I was on SiteGround for almost 4 years and started constantly hitting CPU limits. I tried everything: disabling heartbeat, configuring SG Optimizer, blocking bad bots from Wordfence… everything in this guide which is supposed to work. I spent countless hours with support, upgraded to their $120/month cloud hosting, and closely monitored what people are saying about SiteGround’s CPU limits in the WordPress Hosting FB Group. Here’s my conclusion:
SiteGround’s CPU limits are often unfixable and a ploy to make you upgrade. While these tips should help, often the only way to “fix” them is by constantly upgrading plans. Alternatively, move to another host. I left SiteGround for Cloudways and have never had CPU issues since.
How to fix high CPU usage on SiteGround
- What Are SiteGround’s CPU Limits?
- Configure Ideal SG Optimizer Settings
- Upgrade To Ultrafast PHP
- Disable WordPress Heartbeat
- Clean Your Database
- Find And Eliminate High CPU Plugins
- Activate Cloudflare’s CDN In SiteGround
- Block Bad Bots In Wordfence
- Disable SiteGround’s SG Site Scanner
- Leaving SiteGround Instantly Fixed My CPU Usage
- SiteGround Has No Plans To Change Their CPU Limits
1. What Are SiteGround’s CPU Limits?
SiteGround’s CPU limits are found on their features page under the “server resources” section. Your server, databases, and email are all limited to specified amounts. If you exceed them, SiteGround will send you an email warning you of excessive usage, then within just a few days, they can (and usually will) take down your site for the full remainder of your monthly period.
At this point, you’re forced to either beg SiteGround to borrow temporary server resources while you reduce CPU usage, or you can upgrade to a more expensive plan with more resources.
|Simultaneous Server Processes||10||20||30|
|Simultaneous Connections From Single IP||10||15||20|
|CPU Seconds||1000/hour, 10000/day, 300000/month||2000/hour, 20000/day, 600000/month||4000/hour, 40000/day, 800000/month|
|Average Execution Time Per Day||2 seconds||2 seconds||4 seconds|
|Shared Service CPU Usage||No more than 20% for a period more than 10 seconds||No more than 20% for a period more than 10 seconds||No more than 20% for a period more than 10 seconds|
|Server Memory Per Process||768 MB||768 MB||768 MB|
|Minimum Cron Job Interval||30 minutes||30 minutes||30 minutes|
In a blog post, SiteGround said they do not plan on increasing CPU limits.
2. Configure Ideal SG Optimizer Settings
Steps 2-5 can all be done in SG Optimizer.
The SG Optimizer settings are easy to configure. Make sure you enable all forms of caching (static, dynamic, memcached) in your SuperCacher settings (all 3 forms are available with GrowBig+). Between faster PHP versions, disabling WordPress heartbeat, cleaning your database, and optimizing your entire site, it should theoretically reduce CPU usage significantly.
3. Upgrade To Ultrafast PHP
Ultrafast PHP is available with GoGeek+ and can be activated in the Environment Optimization tab of SG Optimizer. SiteGround claims it can drop memory usage by 15% and TTFB up to 50%.
On GrowBig and StartUp, you should ideally be using PHP 7.4.
4. Disable WordPress Heartbeat
In the SG Optimizer Environment settings, also disable WordPress Heartbeat. The Heartbeat API shows you real-time plugin notifications, when other users are editing a post, etc. If you absolutely need Heartbeat, you should at least increase it’s interval to save on server resources.
5. Clean Your Database
Also in SG Optimizer’s Environment settings, schedule ongoing database cleanups. This removes junk from your database such as spam, trash, expired transients, post revisions, etc.
To go a step further, install the WP-Optimize plugin which lets you go through your individual database tables and delete tables left behind by old plugins. For example, when you install a plugin and delete it, it leaves behind tables. If you don’t plan on using that plugin again, you can delete it’s tables. Advanced DB Cleaner does this too (SG Optimizer doesn’t have this feature).
6. Find And Eliminate High CPU Plugins
SiteGround will often blame high CPU usage on resource-hungry plugins.
You can find your slowest loading plugins using Query Monitor, in your GTmetrix Waterfall report, or view my list of common slow plugins below. Try to delete these or replace them with lightweight plugins. Page builders (including Elementor) are infamous for causing slower load times and even a slow admin. Next time you redesign your website, I suggest Oxygen Builder.
Most slow WordPress plugins include social sharing, statistic (analytics), sliders, portfolios, page builders, calendars, chat, contact forms, related post, sitemap, Wordfence, WPML, WooCommerce, and any plugin that runs ongoing scans or processes. These can be identified using Query Monitor or GTmetrix Waterfall.
- 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
7. Activate Cloudflare’s CDN In SiteGround
Login to your SiteGround account and activate Cloudflare’s CDN.
This helps offload resources to Cloudflare which can save lots of bandwidth and put less stress on your server. To go a step further, login to your Cloudflare dashboard and take advantage of their settings. A few things I would do is setup your 3 free page rules, increase TTL value, and block spam bots using 5 Cloudflare Firewall rules (see next step). This should help reduce CPU.
Cloudflare can offload lots of bandwidth:
8. Block Bad Bots In Wordfence
SiteGround will also blame high CPU usage on bad bots.
In the words, spam bots are hitting your server and consuming resources at no benefit. Blocking them will stop them from hitting your server and save resources. Instructions are listed below.
Step 1: Install Wordfence and view your live traffic report. Watch it for a couple minutes and take note of any suspicious looking bots hitting your server repeatedly. If you’re not sure it’s a spam bot, Google it’s hostname and see if other people are reporting it as spam. Be sure to delete the Wordfence plugin when you’re done since this plugin itself can cause high CPU.
Step 2: Block the spam bots. If you only have a few primary spam bots hitting your site, you can block up to 5 of them using Cloudflare Firewall rules (see below for an example). If you have more than 5 bad bots, try configuring the Blackhole for Bad Bots plugin (be sure to view their installation instructions). Wordfence also lets you block bad bots and has rate limiting options, but like I said, Wordfence can cause high CPU which is why I recommend the other 2 methods.
9. Disable SiteGround’s SG Site Scanner
If you purchased SiteGround’s SG Site Scanner at checkout, try disabling it (and stop paying for it). I personally found Site Scanner caused slightly higher CPU usage and ultimately disabled it.
10. Leaving SiteGround Instantly Fixed My CPU Usage
If you’re still hitting SiteGround’s CPU limits, you should probably leave.
Everything listed in this tutorial is supposed to significantly reduce CPU usage, but SiteGround is infamous for having CPU limits that are not fixable. As mentioned earlier in this guide, I had to constantly update my SiteGround plan to 8x what I was paying to get rid of CPU limits. Upgrading to GoGeek might help, but avoid their cloud hosting at all costs (it’s horrible and you will need to upgrade even more than $80/month to fix CPU issues). It’s not worth all the money.
I moved to Cloudways which not only fixed CPU issues, but I was paying 1/2 of what I was at SiteGround and my load times cut in half. Since then, I wrote a Cloudways review showing why they’re much better than SiteGround, was the fastest host in my speed tests, was #1 in most recent Facebook polls, along with many people who migrated and posted improved load times.
Many people in Facebook Groups have done the same:
11. SiteGround Has No Plans To Change Their CPU Limits
SiteGround says they have no plans to increase limitations.
As long as you’re on SiteGround, you’re going to be dealing with them.
Conclusion: while these tips should help reduce CPU usage on SiteGround, they are often mysteriously not fixable. SiteGround has become focused on their bottom line by replacing cPanel with Site Tools once cPanel raised their prices. They shifted priority support from GrowBig to GoGeek. And they have a history of price increases. It seems to me SiteGround is doing anything they can to squeeze money out of customers, and CPU limits are one of them.
Ivica has a list of possible solutions as well:
Do yourself a favor and leave. They have gone downhill anyways.