Sometimes, it’s a bottleneck.
Most times, a slow WordPress admin is from poor hosting on Apache servers and insufficient CPU cores/RAM (and possibly no object cache). If your hosting account shows high CPU usage, switching to LiteSpeed servers alone can reduce CPU and memory usage by 75%. Then you add faster NVMe storage + MariaDB into the mix, and the WordPress admin should load much faster.
Hosts often blame high CPU usage on things like Heartbeat, bots, and database bloat. While these can increase CPU usage, it shouldn’t be enough to make the WordPress admin unusable. It’s really because the hosting stack can’t handle it which is common on SiteGround, Bluehost, Cloudways, and other hosts (and by the way, all the hosts I just listed are using Apache servers).
If it is a specific bottleneck, it’s probably caused by resource-hungry plugins, background tasks, or your cache plugin/CDN setup. Regardless of which it is, these recommendations should help with all three: reducing CPU usage, speeding up your WordPress admin, as well as the frontend.
- Use LiteSpeed with more CPU cores/RAM
- Install object cache + OPcache
- Avoid page builders on slow hosting
- Use latest PHP versions
- Find resource hungry plugins
- Remove database junk
- Remove admin bloat
- Limit Heartbeat, autosaves, post revisions
- Limit preloading in cache plugins
- Don’t let your cache plugin clear the entire cache
- Try a different cache plugin and CDN
- Use a CDN firewall
- Cache your WordPress admin
- Replace wp-cron with a real cron job
- Delete transients
1. Use LiteSpeed With More CPU Cores/RAM
Check the CPU usage in your hosting account which should ideally be under 50%.
Next, use the WP Hosting Benchmark plugin to get a glimpse of your host’s performance. If your scores are low, you’ve narrowed down the problem. You can set up object cache and clean your database, but the scores highly depend on whether your host uses fast and efficient technology.
Here’s what can happen if you switch from Apache to LiteSpeed. SiteGround, Bluehost, Cloudways, Kinsta, and WP Engine all use Apache servers when LiteSpeed is more efficient.
Reducing CPU/memory is just 1 benefit of LiteSpeed. You also get to use the free LiteSpeed Cache plugin with QUIC.cloud’s CDN which are faster (and usually cheaper) than other setups.
ChemiCloud uses LiteSpeed servers, NVMe SSDs, Redis, and more CPU/RAM which can scale through their Turbo Boost add-on. You’ll configure LiteSpeed Cache (which is free and does a great job with core web vitals) on top of QUIC.cloud’s CDN or Cloudflare APO. This beats other hosting setups in terms of TTFB, price, support, and scalability. With a 5/5 TrustPilot rating, it’s obvious other hosts are popular from marketing, but fall short when you actually look at specs.
Notes
- LiteSpeed servers are faster than Apache.
- LiteSpeed servers are more CPU/memory efficient.
- NVMe SSDs are faster than SATA SSDs, often with 6x faster read/write speeds.
- MariaDB is more powerful than MySQL (here’s a Facebook poll taken on the two).
- Redis is more powerful than Memcached, especially for dynamic/WooCommerce sites.
Rocket.net is who I use (cloud hosting) which has 32 cores/128GB RAM on all plans, free Cloudflare Enterprise, and averages a 100ms global TTFB you can test in SpeedVitals (or feel free to click through my site). They have better specs than SiteGround, Kinsta, Cloudways, etc.
I’m not trying to make the whole post about “moving hosts” but it’s by far the #1 factor that affects your admin speed. I recommend reading my hosting reviews since Kinsta, SiteGround, WPX, Hostinger, and several other popular hosts don’t live up to the hype.
2. Install Object Cache + OPcache
Both are specifically good for speeding up the WordPress admin.
The first step is to check whether your host supports object cache at all. Do a Google search for “[your host} Memcached” or “[your host] Redis.” Redis is generally more powerful compared to Memcached, and Redis Object Cache Pro is even faster which is used on Cloudways/Rocket.net. Redis Pro is especially powerful for WooCommerce sites which require a heavier database load.
If your host doesn’t support object cache, use the Docket Cache plugin. If they do support object cache, follow their instructions. This usually means enabling it in your hosting account, then using a plugin to connect it like LiteSpeed Cache, SiteGround Optimizer, or a Redis plugin.
For example, on cPanel, you can enable both Redis + OPcache in the PHP Extensions menu. Then if you’re using LiteSpeed, use LiteSpeed Cache to connect Redis. On Cloudways, you would just enable Redis in their dashboard. On SiteGround, you would enable Memcached in Site Tools, then connect it in SiteGround Optimizer. Google instructions for your specific host!
3. Avoid Page Builders On Slow Hosting
Why do you think Elementor recommends a 768 MB memory limit?
Because Elementor (and Divi) use more memory than Gutenberg. When you start combining slow hosting with resource-hungry page builders, you get a slow admin. This is also true with WooCommerce. Running page builders/WooCommerce on Apache servers is a recipe for slow.
Every time you open your Elementor/Divi editor or preview a page, it requires memory. While there are several ways to optimize Elementor and Divi, the best thing you can do by far is use hosting that better supports them. Page builders can get by on shared LiteSpeed hosting, but WooCommerce sites should generally skip shared hosting all together and go straight to cloud.
You can also try increasing the memory limit in your hosting account to around 768 MB.
4. Use Latest PHP Versions
Upgrade to the latest stable PHP version in your hosting account.
I always upgrade to the highest possible version and check my site for errors. If you see any (which probably means a specific plugin isn’t compatible), simply revert to an earlier version.
5. Find Resource Hungry Plugins
What do security, statistic, and backup plugins all have in common?
They all run background tasks. The more background tasks that are running, the more resources you’ll need (same concept as your computer which you check in the task manager). And also like computers, they often store information in your database which makes it bloated.
There are a few ways to deal with this:
- Deactivate all plugins 1 by 1 and check the wp-admin speed.
- Use tools like Query Monitor and WP Crontrol to identify the problem.
- Use WP-Optimize to remove tables left behind by old plugins you deleted.
- Use WP Hive to see if a plugin increases memory usage before installing it.
- View my list of 75+ Slow Plugins which impact memory usage or PageSpeed.
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 | ✓ |
6. Remove Database Junk
A bloated database can also slow down your admin.
While most cache plugins clean your database, WP-Optimize lets you remove database tables from old plugins you deleted which will be marked as not installed. If you don’t plan on using the plugin again, remove the table. While cache plugins are good for removing most junk, WP-Optimize does a more robust database cleanup, especially if you find yourself deleting plugins.
7. Remove Admin Bloat
Most of this can be done with FlyingPress and Unbloater.
There’s also Disable WooCommerce Bloat and Perfmatters also has several bloat removal options. Make sure you disable XML-RPC if you’re not using it and take some time to go through each setting to remove as much bloat as you can (remember to delete unused themes/plugins).
8. Limit Heartbeat, Autosaves, Post Revisions
WordPress Heartbeat slows down the admin since it consumes resources by notifying you when other users are editing a post, real-time plugin notifications, etc. You can disable/limit it in most cache plugins, the Heartbeat Control plugin, or add the code below into your functions.php file.
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}
Some plugins can control Heartbeat in the dashboard, frontend, and post editor. In this case, I recommend disabling it in the dashboard/frontend, then increasing it to 120s in the post editor.
Similar to Heartbeat, WordPress autosaves every 1 minute and stores a post revision any time you hit the “publish” button. I personally increased the autosave interval to 5 minutes then limited post revisions to 5 (so I’ll still have a few backups, but they don’t cause too much bloat).
Both these can be done in Perfmatters or by adding the code to your wp-config.php file.
define('WP_POST_REVISIONS', 5);
define('AUTOSAVE_INTERVAL', 300); // seconds
9. Limit Preloading In Cache Plugins
When cache plugins preload the entire cache, it increases resource usage. Some cache plugins like WP Rocket and the LiteSpeed Cache crawler let you control preloading. Here are some tips:
- Disable preloading and control it with a cron job (recommended).
- Only preload important sitemap URLs like pages/posts, not the full sitemap.
- Increase the preload crawl interval (usually something like 500ms – 3000ms).
Disable Link Preloading
You may also want to disable link preloading especially if you’re on a shared server or your website has lots of image links. When users hover over your internal links, those pages will be downloaded in the background so they’re loaded when users actually click them. This is great for perceived load time, but can increase server load especially if users hover over lots of links.
Reduce Remove Unused CSS Batch Size
The remove unused CSS feature can also increase CPU usage and can be limited by adjusting the batch size. However, I recommend using Perfmatters, FlyingPress, or LiteSpeed Cache for this since WP Rocket loads used CSS inline which is better for scores but slower for actual users.
10. Don’t Let Your Cache Plugin Clear The Entire Cache
Any time you trigger one of these actions, the entire cache is deleted and needs to be rebuilt. Just like anything that increases CPU usage, this can slow down the admin. The screenshot is shown in WP Rocket’s documentation but is similar with most cache plugins. They do partial cache deletions on specific actions too. If you trigger these too frequently, it stresses the server.
To avoid this, you can disable automatic cache clearing (WP Rocket has a helper plugin) then create a cron job to control which pages are cleared and when the cache is cleared. You could schedule the cron job to run in the middle of the night when very few people are on your site.
Increasing cache TTL helps since the cache won’t be rebuilt as frequently, which can lead to a better cache hit ratio. This is why Google suggests serving static assets with a 1 year cache TTL.
11. Try A Different Cache Plugin And CDN
For cache plugins, FlyingPress and LiteSpeed Cache address core web vitals better than WP Rocket and SiteGround Optimizer. WP Rocket only released 1-2 new features since 2011 if you check their changelog. FlyingPress specifically made several major updates (including bloat removal) which put it far ahead of WP Rocket. I always say: use LiteSpeed Cache if you’re on a LiteSpeed server, FlyingPress in all other cases. Even if you’re using SiteGround Optimizer, you should also use FlyingPress, but remember to avoid enabling duplicate settings in each plugin.
For your CDN, it’s hard to beat Cloudflare with APO (except for Cloudflare Enterprise on Rocket.net which is what I use). QUIC.cloud’s CDN is also good if you’re on a LiteSpeed server. All these support dynamic caching which can significantly improve TTFB when testing your site in multiple global locations using tools like KeyCDN’s performance test + SpeedVitals TTFB test.
Since your host/CDN are the 2 main TTFB factors, your CDN is just as important as hosting (if not more) for TTFB. And since TTFB is roughly 40% of LCP and FCP, these are key for core web vitals.
12. Use A CDN Firewall
By blocking unwanted requests, you’re saving server resources.
My site isn’t that big and it still can block 100+ events/day. I would have never known so many bots were hitting my site until I saw my Wordfence real-time traffic report. But since security plugins (and image optimization plugins) increase usage, you’re better off using a CDN firewall.
QUIC.cloud’s CDN also uses a firewall and includes DDoS protection on their paid (standard) plan. However, many CDNs like RocketCDN and SiteGround’s CDN don’t always include these.
Not Using A Firewall? Then you need to find a solution for blocking bad bots, then enable Hotlink protection in your host or Cloudflare. Not using a CDN? Unless you target 1 specific area, you should offload bandwidth to Cloudflare which can massively reduce resource usage.
13. Cache Your WordPress Admin
Some cache plugins like LiteSpeed Cache let you cache the WordPress admin which can speed it up. Just note that this can cause expired data which you may see when working on your site.
14. Replace WP-Cron With A Real Cron Job
wp-cron is loaded on every pageview and schedules automatic tasks like checking updates, publishing scheduled posts, sending email notifications, and more. Just like you can use cron jobs to schedule preloading and automatic cache clearing, you can do the same with WP cron.
The first step is to disable wp-cron by adding the code to your wp-config.php file.
define('DISABLE_WP_CRON', true);
Now we’ll set up an external cron job (Google instructions for your host). In cPanel, you’ll open the “cron jobs” tab and add this line to set a cron job to run every 10 minutes. It may seem a higher interval would be better, but this can cause CPU spikes since too many jobs run at once.
wget -q -O - https://yourwebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
WP Crontrol is nice for changing the schedule of specific cron jobs and deleting jobs with no action. You could also offload cron jobs from your server using a Cloudflare JavaScript worker.
15. Delete Transients
WooCommerce and social sharing plugins specifically can accumulate transients.
You can clear WooCommerce transients and customer sessions in the WooCommerce Tools settings. If you’re not using WooCommerce, the transients manager plugin is a handy tool. Other types of transients can usually be deleted with your cache plugin or with WP-Optimize.
Plugins To Help Speed Up Your WordPress Admin
Not that most plugins actually speed up your site/admin, but if they do, here they are.
Plugin | Description | Category |
---|---|---|
Query Monitor | Find slow queries + plugins | Diagnostic |
WP Hosting Benchmark | View CPU/memory utilization | Diagnostic |
WP Healthcheck | View WordPress/PHP/mySQL version, server, etc | Diagnostic |
WP Rocket Helper Plugins | Control preloading + automatic cache clearing | Limiting |
WP Crontrol | Control cron jobs | Limiting |
Unbloater | Remove various types of bloat | Bloat Removal |
Widget Disable | Disable unused widgets in the admin | Bloat Removal |
Disable Woo Bloat | Remove WooCommerce admin bloat | Bloat Removal |
Limit Login Attempts | Block requests to wp-login | Security |
WPS Hide Login | Block requests to wp-login | Security |
Transients Manager | Edit/delete transients | Transients |
WP-Optimize | Remove old databases tables | Database |
Docket Cache | Object cache (if your host doesn’t support it) | Caching |
Cloudflare | Set up Cloudflare’s APO | Caching |
Super Page Cache for Cloudflare | Full page caching on Cloudflare | Caching |
Blackhole for Bad Bots | Block bad bots | Bot Protection |
Frequently Asked Questions
What causes a slow WordPress admin?
A slow WordPress admin is often caused by high resource usage on Apache servers. Try using a better hosting configuration with more CPU cores + RAM, object cache, limiting background tasks/bloat, and identifying resource-hungry plugins. Offloading resources to a CDN and using a CDN firewall to blocked unwanted requests to your server can also help.
Will changing hosts fix a slow admin?
Switching to a host that uses more efficient technology (like Apache servers, Redis, MariaDB, and more CPU cores + RAM) can definitely speed up your WordPress admin.
How do I fix a slow WooCommerce admin?
A slow WooCommerce admin is highly affected by your hosting including PHP workers and CPU frequencies. You can also use the Disable WooCommerce Bloat plugin as well as clear transients + customer sessions. Redis Object Cache Pro helps with database optimizations.
Why is the WordPress admin slow on GoDaddy?
If your admin is slow on GoDaddy, it's likely because they use outdated technology, overcrowds their Apache servers, and don't support critical features like object cache.
How do I reduce admin-ajax.php server load?
To reduce calls to the admin-ajax, try disabling WordPress Heartbeat and use Query Monitor or your GTmetrix waterfall chart to find plugins making calls to admin-ajax.php.
Admin still slow? Let me know a little bit about your setup and I’ll see if I can help.
Cheers,
Tom
You can check these in your hosting account or use WP Server Stats. The majority of this tutorial is focused on reducing server load and lowering usage.