This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

📣 Introducing DigitalOceans General Purpose & CPU Optimized Servers on Cloudways Flexible. Learn More

How To Fix WordPress High CPU Usage [Easy Fixes]

Updated on April 16, 2025

11 Min Read
WordPress high cpu usage

Noticed your WordPress site dragging its feet lately? Maybe your host has flagged unusual CPU activity, or users are bouncing before the page even loads. When your site starts feeling heavier than it should, it’s usually not just in your head.

High CPU usage can throw a wrench into everything—from slow-loading pages to backend errors you weren’t expecting. The tricky part? There’s no one-size-fits-all cause. It could be a bloated plugin, outdated code, or even automated traffic hammering your server without you realizing it.

Before you start swapping themes or jumping to a bigger hosting plan, it helps to zero in on what’s chewing up your server resources.

This guide breaks down the common culprits and lays out clear ways to get your site back on track.

Let’s get started…

Table of Contents

What Causes High CPU Usage in WordPress?

1. Malware or Bot Traffic

Behind-the-scenes threats like malware and automated bot traffic are common reasons WordPress sites start pulling more CPU than they should. Malware often sneaks in and kicks off background processes that quietly drain server power. At the same time, bots might be hitting your site with repeated requests or brute-force login attempts—none of which add value, but all of which strain your resources.

One of the best ways to stay ahead of this kind of stress is to catch and clean malware early—before it gets the chance to slow you down or compromise your data.

For sites hosted on Cloudways, there’s now a built-in malware protection add-on powered by Imunify360 that quietly handles this in the background, removing threats without needing hands-on involvement. It works in real-time, directly on the application level, and plays well with PHP-based CMS platforms like WordPress.

2. Too Many or Inefficient Plugins

Some plugins are heavier than they appear. When you’ve got multiple active plugins, especially ones that overlap in functionality or run background tasks, it strains your server. Even one poorly optimized plugin can be enough to spike your CPU usage.

3. Heavy Themes with Unnecessary Features

Some WordPress themes come packed with all kinds of flashy elements—sliders, animations, parallax effects—that can make a site look slick but also chew through CPU power fast. The more features baked into the theme, the harder your server has to work to load and display them. Going for something lighter usually means faster load times and better overall performance.

4. A Bloated or Unoptimized Database

Your database quietly fills up with a lot of junk over time—old revisions, trashed posts, spam comments, leftovers from plugins you stopped using. When it’s not cleaned out regularly, the extra weight slows down how quickly your site can respond to requests. The more clutter there is, the more strain on your CPU when pulling data.

5. Caching Issues or No Caching at All

If caching isn’t set up properly—or isn’t used at all—your server ends up rebuilding the same pages over and over for each visitor. That’s fine with light traffic, but it quickly becomes a problem when more people hit your site. Some hosting platforms help take this off your plate.

For instance, Cloudways includes multiple caching layers like Varnish, Memcached, and Redis out of the box. They work behind the scenes to reduce the workload on your server and keep your site moving fast.

6. Background Tasks Running Constantly

WordPress uses wp-cron to handle scheduled tasks like publishing posts or sending emails. But if too many of these tasks run too often—or if malicious code slips into your cron jobs—it can tie up server resources quickly.

To keep things under control, it helps to manage cron jobs from the server side rather than relying on WordPress’s built-in system. On Cloudways, you can configure and schedule these jobs directly through the dashboard.

7. Outdated Software

Old versions of WordPress core, themes, or plugins can be inefficient and vulnerable. They’re more likely to conflict with each other, miss performance improvements, or provide an open door to security threats that increase load.

We’ve got something for this too—SafeUpdates. It’s an add-on that automates the process of checking for updates to your WordPress core, plugins, and themes.

8. Weak Hosting Setup

Sometimes the issue isn’t with your site—it’s the server behind it. Shared hosting plans often come with tight limits on CPU power, and once your site starts pulling in more visitors or running more processes, things slow down fast.

9. Oversized Media Files

Uploading massive image files or uncompressed videos can increase CPU usage since the server needs to process and deliver these to every visitor. Without proper optimization, media becomes a bottleneck.

We’ve covered a detailed guide on how to increase the maximum upload file size in WordPress, which you should definitely check out.

10. High Traffic Without Enough Resources

A sudden jump in traffic is great for business, but not if your hosting environment isn’t equipped to handle it. A lack of scalable resources can push CPU usage to the max, leading to slowdowns or crashes.

At Cloudways, we’ve taken care of this for our customers through Cloudways Autonomous. It’s a fully managed WordPress hosting setup built on Kubernetes that automatically scales your site when traffic surges.

WordPress Hosting Built for Auto Scale Websites from $11/Month!

Power your WordPress sites with fast, reliable hosting designed to handle complex data and AI needs.

How to Fix WordPress High CPU Usage?

Several factors can push your server’s CPU to its limits, affecting your site’s speed and reliability. Let’s look at the most common causes and how they impact performance.

1. Use a Web Host with Optimized CPU Resources

Shared hosting environments often come with resource caps that limit how your site performs under load. That includes fixed CPU allocations, memory restrictions, and limits on PHP workers—which can bottleneck dynamic sites during traffic spikes.

On the other hand, a better hosting setup gives you room to work with. You’ll want flexibility to adjust PHP workers based on how your site behaves, plus caching layers that cut down on repeated server-side processing. Things like full-page caching, object caching, and opcode caching help reduce CPU strain by serving content faster and more efficiently.

Cloudways offers this kind of flexibility. You’re not boxed in by fixed PHP worker limits—you can tune them based on how your site handles load. Our platform also comes with built-in caching options like Varnish and Redis, helping your site serve pages faster and more reliably.

2. Remove Resource-Heavy Plugins

Query Monitor

Some plugins quietly run background tasks that can seriously add to your site’s CPU load. These usually involve real-time data collection or ongoing scans—like live traffic tracking, broken link checks, or error logging.

It’s not always about deleting every heavy plugin on sight, though. Some are useful—you just need to keep an eye on how they’re configured. Turning off constant background scans or limiting how often they run can help cut down on server strain without losing the features you rely on.

Tools like Query Monitor can help you pinpoint which plugins are hogging resources. Once it’s active, look at the “Queries by Component” section. If a plugin stands out, see if it’s something you can do without—or at least switch to a more efficient alternative.

We have a guide on how to debug WordPress performance issues with Query Monitor that you may find useful.

You can also check out the WP Hive Chrome extension. It shows how each plugin affects memory usage and performance directly from the WordPress plugin repository. And if you’ve got a cluttered database from leftover plugin tables or old logs, WP-Optimize can help you clear it out. Sometimes, even just slimming down the number of active plugin modules can make a big difference.

Also read: 25 Best WordPress Performance Plugins

3. Enable Full-Page Caching

Full-page caching can dramatically cut down on CPU usage by reducing how often your server needs to build pages from scratch. Instead of processing PHP and database queries for every visit, your site can serve static HTML versions of your pages—keeping things fast and light.

This isn’t something you always need to set up manually. Many managed hosting platforms now handle full-page caching for you, either through built-in tools or server-level configurations.

If you’re on Cloudways, you already have some useful caching tools available out of the box. Breeze, the default caching plugin, takes care of full-page caching. Object Cache Pro is another built-in feature that handles more complex caching needs—particularly helpful for database-heavy sites.

And if you want to go a step further, Redis is available and can be enabled from your server settings with just a few clicks.

You can also layer in a CDN like Cloudflare, which offers edge-level caching to help you improve your site’s Time to First Byte (TTFB). This means cached content is delivered from servers closest to your visitors, giving you faster load times while easing the load on your origin server.

Cloudways users can get Cloudflare Enterprise for a small fee, cheaper than buying it directly from Cloudflare.

4. Disable WP-Cron & Implement an External Cron Job

WordPress has a built-in cron system—called WP-Cron—that handles tasks like publishing scheduled posts, sending email alerts, or checking for plugin updates. The catch? It runs every time someone loads a page on your site.

On a busy site, this constant triggering can start to drag on performance. Instead of letting WP-Cron run on every page load, you can switch to an external cron job that runs on a consistent schedule at the server level. This way, you avoid tying routine background tasks to visitor traffic.

Most hosting providers offer a way to schedule these jobs independently of WordPress. If you’re on Cloudways, you’ve got the option to add server-side cron jobs directly through the platform.

You can also turn on the Cron Optimizer feature, which replaces WP-Cron with scheduled server-side jobs and spreads them out so they don’t all run at the same time. This keeps your site from getting bogged down by too many tasks running at once.

5. Block Bad Bots and Malicious Traffic

Not all traffic to your WordPress site comes from real users. A big portion of it is bots—some helpful, some not so much. While search engine bots like Googlebot are essential for SEO, there’s a growing crowd of automated crawlers that add no value and can slow your site down by constantly pinging your pages.

To keep things running efficiently, it helps to filter out the junk. You can start by blocking unwanted bots using your robots.txt file. Here’s the basic syntax:

User-agent: NameOfBot

Disallow: /

To restrict access to a specific directory only, the structure is slightly different:

User-agent: BotName

Disallow: /folder-name/

To check your website’s robots.txt file, enter your domain followed by /robots.txt in your browser’s address bar.

robots.txt

Some bots will ignore these directives entirely. For cases like that, it’s better to block them at the server level using your .htaccess file. The following rule denies access to a particular user agent:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} ^BotName [NC]

RewriteRule .* - [F,L]

To block multiple bots in one go, list them together:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} ^.*(BotOne|BotTwo|BotThree).*$ [NC]

RewriteRule .* - [F,L]

This is what the .htaccess file of my server looks like just to give you an idea:

Breeze file

If this sounds a bit too technical or you’d rather not keep chasing bots manually, there are plugins that can handle it for you. Some plugins monitor how crawlers interact with your site, and when a bot matches known patterns of abuse, access is blocked automatically.

Alternatively, if you’re using Cloudflare, you can enable the “Bot Fight Mode” option that can block shady traffic automatically. If you’re on the Cloudways platform with the Cloudflare Enterprise add-on, you won’t even need to activate this because we add rules to block these on our end periodically to keep your site safe.

6. Optimize and Clean the Database

If your WordPress site’s CPU usage is constantly spiking, your database might be part of the problem. Over time, junk data builds up—like leftover entries from plugins, temporary records that were never cleared, and old drafts that no one needs anymore.

WooCommerce sites, in particular, pile up temporary data—like cart sessions and product cache—that serve a purpose for a short time and then just sit there. These expired entries can be cleared out to ease some of the background strain.

Old plugins are another culprit. Even after you deactivate or delete them, they often leave behind tables or entries that keep getting queried.

plugins like WP-Optimize or Advanced Database Cleaner can help you scan for leftover data and clear it safely.

If you’re hosting on Cloudways, you can optimize your database directly from the built-in Database Manager.

Head into the Database Manager, select the tables that look bloated (like wp_options, wp_postmeta, or wp_comments), and use the Optimize function to tidy them up.

Optimize function

7. Upgrade to the Latest PHP Version

Upgrading to a newer PHP version can significantly improve your site’s speed and reduce server resource usage. PHP 8.3, which Cloudways supports, delivers faster performance and greater efficiency compared to older versions.

With Cloudways, upgrading or downgrading your PHP version is straightforward, and you can do it directly from the platform without any hassle.

Latest PHP Version

These are just a few ways to address high CPU usage on your WordPress site. There could be other factors at play causing the spikes, and tracking down the exact cause can sometimes feel like a guessing game. A smarter solution would be use Cloudways Copilot, which simplifies the process of pinpointing issues and finding exact solutions using AI.

Fix WordPress High CPU Usage Faster With Cloudways Copilot

Cloudways Copilot is our step towards more intelligent, self-managing hosting. Powered by AI, it quietly learns how your server behaves, keeping tabs on performance, stability, and potential issues—then flags anything unusual with clear guidance on what to do next.

What It Watches For

Host Health

Copilot alerts you when the entire server goes down. This usually points to issues like:

  • Ongoing DDoS or DoS attacks
  • Brute force hits on login pages or admin panels

Webstack Health

You’ll get notified when any core web service stops responding—before it impacts your live sites. This covers:

  • Apache
  • Nginx
  • MySQL
  • PHP-FPM

It also flags potential problems tied to resource exhaustion, which are easy to miss until traffic spikes or something breaks.

Disk & Inode Health

Copilot warns you before storage limits hit critical levels:

  • Disk space warnings once you hit 95%+ usage
  • Inode consumption alerts to help avoid file limits

Disk & Inode Health

Here’s how Copilot detected high CPU usage on our test server:

“We found that the server’s load was extremely high, driven by multiple php-fpm processes consuming significant CPU. The primary issue appears to be heavy inbound traffic, especially from crawling bots like PetalBot and OAI-SearchBot. Such traffic is likely overloading the server and causing performance problems.”

Remediation_steps:

To address the high CPU usage and aggressive bot traffic issue affecting your Cloudways host, follow these steps:

1. Create and Upload a robots.txt File:

Create a robots.txt file in a text editor with the following content to block the PetalBot:

User-agent: PetalBot

Disallow: /

Upload this robots.txt file to your public_html directory using SFTP or create it via SSH by clicking Master Credentials > Launch SSH Terminal, then using the touch command and editing it with vi.

2. Modify .htaccess to Block Unwanted Bots:

Open the .htaccess file in the public_html directory and add the following lines to block

PetalBot:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} PetalBot [NC]

RewriteRule .* - [F,L]

This will deny requests from the specified bot, reducing load on your server.

3. Monitor and Optimize Server Performance:

Check your server’s CPU and memory usage regularly. You can do this via the Cloudways platform or by using SSH commands like htop to monitor in real time. Additionally, consider reviewing caching settings and optimizing application performance to help alleviate server load.

Implement these steps to mitigate the impact of bot traffic and improve your server’s performance. If issues persist, further investigation into caching errors or application optimization may be required.

Links:

Copilot compares issues across the server fleet, quickly identifying patterns and suggesting the best solutions with step-by-step instructions—saving you time on manual detection, troubleshooting, and support interactions.

Try Cloudways Copilot in Public Preview for Free

Copilot gives you instant clarity with AI-driven diagnostics and practical fixes—no need to dig through logs or wait on support.

Wrapping Up!

Reducing CPU usage is essential for enhancing the performance, uptime, and overall health of your WordPress site. While the tips shared in this post can help lower CPU load, they often require some trial and error to pinpoint the exact cause.

Cloudways Copilot offers a more intelligent solution, and it’s only going to get better with time.

Here’s what’s coming in future updates that will make Copilot even more useful:

  • One-click fixes: Automatically resolve common issues with a single click.
  • Automated tasks: Copilot will take care of regular tasks like cache purges and backup management.
  • Developer workflows: Free up your team by automating performance monitoring and testing.

And the best part? Cloudways Copilot is completely free during our early access period. We’re onboarding users through a limited-access program, so visit the Cloudways Copilot page and submit your email to secure your spot.

Share your opinion in the comment section. COMMENT NOW

Share This Article

Abdul Rehman

Abdul is a tech-savvy, coffee-fueled, and creatively driven marketer who loves keeping up with the latest software updates and tech gadgets. He's also a skilled technical writer who can explain complex concepts simply for a broad audience. Abdul enjoys sharing his knowledge of the Cloud industry through user manuals, documentation, and blog posts.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Want to Experience the Cloudways Platform in Its Full Glory?

Take a FREE guided tour of Cloudways and see for yourself how easily you can manage your server & apps on the leading cloud-hosting platform.

Start my tour