Speed Up A Slow WooCommerce Admin (Dashboard) In 17 Steps While Reducing CPU/Memory Usage [2023 Advanced Guide]

Slow woocommerce admin

Have a slow WooCommerce admin panel?

A slow WooCommerce dashboard is usually caused by a specific bottleneck (plugin, bloated database, or your cache plugin’s preloading and automatic cache clearing are increasing CPU usage). However, the more likely reason is because of your server configuration (hosting). For WooCommerce, you ideally want cloud hosting with Redis and a good amount of CPU/RAM. I recommend Rocket.net with free Cloudflare Enterprise, 32 CPU/128GB RAM, Redis, and NVMe.

Tools like Query Monitor and WP Hosting Benchmark can also help find the problem. Even though a slow admin usually comes down to your infrastructure, there are other things you can try like reducing CPU usage using CDNs, blocking bad bots, as well as limiting background tasks like Heartbeat, autosaves, and wp-cron. I hope this list helps; let me know if you have questions!

 

1. Disable High CPU Plugins

First, deactivate plugins 1 by 1 and test your admin speed.

Some plugins slow down the admin by increasing CPU usage (usually from background tasks) or they add CSS/JS to the frontend. Go through my list of slow plugins, use Query Monitor to find your slowest plugins, and use WP Hive to learn whether a plugin increases memory usage.

WooCommerce sites generally have more plugins than static sites (that’s why consolidating them and using lightweight plugins is so important). You can often eliminate security/image optimization plugins by using Cloudflare for image optimization and their WAF. I was also able to remove my table/gallery plugins by using Gutenberg blocks. It’s a long journey, but worth it.

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
Slow wordpress plugins query monitor
Find slow plugins in Query Monitor (the “queries by components” tab)

 

2. Control Your Cache Plugin’s Preloading + Cache Clearing

Cache plugins automatically clear the entire cache when you trigger specific actions.

So if you’re messing with your cache plugin settings or making design changes that would trigger these, your server is working extra hard to rebuild the entire cache. It slows down the admin, the frontend of your site, and can result in errors that make your website inaccessible.

Some cache plugins let you disable automatic cache clearing, then you can setup a cron job to schedule the cache to be cleared once per day (often at night) so you’re not stressing the server.

Wp rocket full cache deletion

Preloading and removing unused CSS can also increase CPU usage. You usually only want to preload important sitemap URLs (pages, posts, etc) as oppose to preloading the entire sitemap. If removing unused CSS increases CPU usage, try decreasing the batch size. WP Rocket’s remove unused CSS is inferior to FlyingPress, Perfmatters, and LiteSpeed Cache since it loads used CSS inline instead of a separate file which is faster since it can be cached. One of many reasons why WP Rocket isn’t the best cache plugin and I recommend FlyingPress or LiteSpeed Cache instead.

Just be aware there are several settings inside cache plugins that can increase CPU usage and slow down your WooCommerce admin. Check your cache plugin’s documentation to see them.

Wp rocket sitemap preloading

 

3. Use Cloud Hosting With Cloudflare Enterprise

First off, skip the shared crap and use cloud hosting instead. SiteGround, Hostinger, and WPX aren’t built for WooCommerce sites which have more dynamic requests and can’t be cached (this can lead to CPU limit/PHP worker issues). Most of these hosts also lack CPU/RAM and use slow SATA SSDs with memcached (which is inferior to Redis). For WooCommerce hosting, you ideally want cloud hosting with Redis, NVMe SSDs, LiteSpeed, and a good amount of CPU/RAM.

Slow wordpress admin hosting
Hosting affects both the frontend + admin panel

Some cloud hosts also started using Cloudflare Enterprise (Rocket.net, Cloudways, Kinsta) which is a far superior CDN than most. It has one of the largest networks of 270+ PoPs with speed/security features like Argo Smart Routing + Tiered Cache (great for WooCommerce), full page caching, prioritized routing, image optimization, load balancing, Brotli, HTTP/3, and WAF.

Rocket.net and their free Cloudflare Enterprise is the only host with all these and is who I use. Looking at their specs, it’s private cloud hosting with 32 cores + 128GB RAM, NVMe SSDs, Redis, and LiteSpeed’s PHP. This alone blows mainstream hosts like Kinsta/WP Engine out of the water.

When comparing their Cloudflare Enterprise to Cloudways/Kinsta, Rocket.net’s is free, setup automatically, and uses full page caching (unlike Cloudways). And unlike Kinsta’s, Rocket.net has Argo Smart Routing, load balancing, and image optimization. Rocket.net also doesn’t limit PHP workers (like Kinsta does) because only about 10% of traffic hits your origin server. This is also why they allow 10-25 more monthly visits. Not to mention the CEO (Ben Gabler) was Chief Product Officer at StackPath and has experience building CDNs, so I trust their integration more.

SiteGround Kinsta WPX Cloudways Vultr HF Rocket.net
Hosting type Shared Cloud Shared Cloud Private cloud
Storage SATA SATA SATA NVMe NVMe
CPU cores Not listed 12 Not listed 1 32
RAM (GB) Not listed 8 Not listed 1 128
Object cache Memcached Redis ($100/mo) x Redis (Pro) Redis
Server Nginx Nginx LiteSpeed Apache Nginx
PHP processing FastCGI FastCGI FastCGI PHP-FPM LiteSpeed
Compression Brotli Brotli Brotli GZIP Brotli
CDN SiteGround CDN Cloudflare Enterprise QUIC.cloud Cloudflare Enterprise ($5/mo) Cloudflare Enterprise
CDN PoPs 176 270 70 270 270
Full page caching x
HTTP/3
WAF
Argo smart routing x x x
Load balancing x x x
Image optimization Limited x
CPU limits Very common Low PHP workers At their discretion Average None
Cache plugin SG Optimizer x LSC or W3TC Breeze x
Email hosting x Very limited x x
Major incidents Google blocked DNS for 4 days None Worldwide outage None None
Free migration $30/site Unlimited free 5-35 sites free 1 free Unlimited free
Renewals Very high Monthly Monthly Monthly Monthly
TrustPilot rating 4.6/5 4.4/5 4.9/5 4.5/5 4.9/5
Price $3-8/mo (1 year) then $15-40/mo $29/mo (yearly) $20.83 (yearly) $13/mo + $5/mo for CF Enterprise $25/mo (yearly)
Omm ttfb speedvitals 1
Test your site 3 times in SpeedVitals to see your average TTFB worldwide (this ensures resources are cached)
Keycdn global ttfb
You can also check KeyCDN’s performance test or click through my site to see how fast it loads

12 things to know about hosting/TTFB

  1. Hosting is the #1 factor of site speed.
  2. TTFB is a key indicator of hosting performance.
  3. TTFB is part of core web vitals and is 40% of LCP.
  4. TTFB also affects INP (since latency is part of TTFB).
  5. SpeedVitals tests TTFB in 35 locations – use this tool!
  6. Test your site 3 times to get accurate numbers in SpeedVitals.
  7. Doing this ensures your caching and CDN are working properly.
  8. Check your average TTFB worldwide in your 3rd SpeedVitals test.
  9. Google flags your TTFB if it’s over 600ms, but under 200ms is better.
  10. PageSpeed Insights (and other testing tools) only test TTFB in 1 location.
  11. WP Hosting Benchmark also tests hosting performance (here are my results).
  12. Combining a good host/CDN is arguably the best way to improve TTFB (using a host with improved specs on top of Cloudflare Enterprise hits 2 birds with 1 stone).

Step 1: Create a Rocket.net account then add the coupon OMM1 (in step 2) to get your first month for $1. It’s $25/mo when paying yearly or $30/mo when paying monthly. If you sign up with my affiliate link, I’ll get a commission which helps me write these tutorials. Thank you :)

Rocket. Net omm1 coupon

Step 2: Request a free migration. They did this the same day and let me review my website before it was launched with no downtime. For the record, their support is better than Kinsta’s and you can reach out to Ben Gabler or his team (via phone/chat/email) if you have questions.

Step 3: Upgrade to PHP 8.1 and ask support to install Redis (they use Redis Object Cache). These are the only things I did since Cloudflare Enterprise and backups are both automatic.

Step 4: Retest your TTFB in SpeedVitals and click through your pages to see the difference. You can also search their TrustPilot profile for people mentioning “TTFB” where they’re rated 4.9/5.

Rocket. Net woocommerce elementor

Rocket. Net vs cloudways vultr hf trustpilot review
People are starting to see the light! (read review). But they use LiteSpeed’s PHP + Nginx (not LiteSpeed servers)

Kinsta to rocket. Net migrationMoved to rocket. Net vs sitegroundRocket. Net positive review

Rocket. Net facebook review 1Rocket. Net vs kinstaKinsta to rocket. Net ttfb redis

Problems with mainstream hosts

I’ve written some pretty bad reviews about SiteGround’s slow TTFB, CPU limits, and why SG Optimizer does a poor job with core web vitals (they also control several Facebook Groups and threaten to sue people who write bad reviews). Hostinger writes fake reviews and is only cheap because you get less resources like CPU/RAM. Kinsta and WP Engine are way too expensive for how many resources, PHP workers, and monthly visits you get. Along with major incidents like WPX’s worldwide outage and SiteGround’s DNS getting blocked by Google for 4 days (both WPX and SiteGround denied responsibility). One thing is clear: most mainstream hosts appear to be more interested in profits than performance. Please do your own research before getting advice.

Namehero cloudways rocket. Net
NameHero is good for shared, Cloudways Vultr HF is good for cloud, but Rocket.net outperforms both

 

4. Enable Redis

Object cache is specifically good for improving database performance. And like I mentioned previously, Redis is more efficient than memcached. However, Redis is usually only supported on cloud hosting (Rocket.net, Cloudways, etc). Kinsta actually makes you pay $100/month for it.

Once you enable Redis in your hosting account, check your host’s documentation on how to install it since the steps are different. Rocket.net uses the Redis Object Cache plugin while Cloudways installs a drop-in plugin when activating the Redis add-on inside their dashboard.

Redis object cache plugin settings

 

5. Enable OPcache

If your host supports it, also enable OPcache which improves PHP performance and CPU utilization which can speed up the admin. In cPanel, it’s found in the PHP Extensions menu.

Opcache

 

6. Remove WooCommerce Bloat

The easiest way to do this is with Disable WooCommerce Bloat.

It disables WooCommerce features you may not be using including WooCommerce scripts, styles, and cart fragments. It also lets you disable dashboard items like the WooCommerce admin, status meta box, and widgets. It has a perfect 5 star rating at the time of writing this.

This plugin lets you disable the following:

  • WooCommerce Admin (WooCommerce admin, analytics tab notification bar)
  • Marketing hub
  • WooCommerce.com notice
  • WooCommerce status meta box
  • WooCommerce marketplace suggestions
  • Extensions submenu
  • Password strength meter
  • WooCommerce scripts and styles
  • WooCommerce cart fragments
  • WooCommerce widgets
  • Jetpack promotions
  • SkyVerge dashboard
  • Elementor dashboard widget

Disable woocommerce bloat plugin

 

7. Deep Clean Your Database

Most people use their cache plugin to clean their database.

However, WP-Optimize lets you go through your database tables and delete tables left behind by old plugins marked as not installed. So if you deleted a plugin and don’t plan on using it again, it will likely leave behind tables even when deleted. You can use WP-Optimize to delete these. WP-Optimize also lets you take database backups via UpdraftPlus and keep a certain amount of post revisions (instead of deleting them all)… 2 other things cache plugins don’t do.

Wp optimize unused database tables

 

8. Clear WooCommerce Customer Sessions + Transients

As explained in this article, the wp-options table can grow too fast due to ineffective cron jobs, or bots crawling your site and creating sessions on the fly. The first step is the clear customer sessions in your Status settings (you can delete WooCommerce transients in the same tab). The next step is to disable wp-cron jobs and replace them with real cron jobs (covered in next step).

Clear woocommerce transients customer sessions

 

9. Disable WP-Cron

The wp-cron is loaded on every page load and schedules automated tasks like publishing scheduled posts, checking for theme and plugin updates, and sending email notifications. Instead of running it on every page load, you can schedule it to run every 90 minutes or so.

Step 1: Disable WP Cron Jobs

Add the code to wp-config.php, before where it says “That’s all, step editing! Happy blogging.”

define('DISABLE_WP_CRON', true);

Step 2: Replace With A Real Cron Job
You still need wp-cron (eg. checking for theme/plugin updates), just not on every page load. Each host has their own instructions for this, here is SiteGround’s tutorial. You can set the cron job to run every 90 minutes, or increase it even more if you don’t have lots of scheduled tasks.

 

10. Limit Heartbeat, Autosaves, Post Revisions

Heartbeat shows real-time plugin notifications and when other users are editing a post which generates a request every 15-60 seconds. There are many optimization plugins to disable/limit this, but I recommend disabling it in the frontend + backend, then limiting it in the post editor.

Heartbeat control plugin settings

 

11. Protect Your WP-Login Page

The first step to protecting the admin is to move your wp-login page. This will also stop spam bots from hitting your default login page. You can do this with Perfmatters or WPS Hide Login.

If you’re using Cloudflare, this page rule sets admin security level to high, bypasses cache in the admin, and disables app and performance features (you don’t want Performance features in the admin). The security level challenges visitors with threatening behavior in the previous 14 days.

Cloudflare wordpress admin page rule

 

12. Cache The WordPress Admin

Plugins like LiteSpeed Cache let you cache the wp-admin. But if you read the warning, it says you may see expired data, so make sure you read the warning shown in their documentation.

Cache wordpress admin litespeed cache

 

13. Upgrade To PHP 8

Most hosts currently support PHP 8.1, but at least upgrade to PHP 8.0.

Step 1: See your PHP version in the WooCommerce server environment.

Woocommerce server environment

Step 2: Upgrade to PHP 8+ in your hosting account.

Php 8. 1

Step 3: Test your website for errors. If you see any, revert to an earlier PHP version or check which plugins aren’t compatible and try to find alternative plugins that are maintained better.

 

14. Increase Memory Limit

WooCommerce recommends 256MB, but you can increase it even more. It depends what your host allows (and how much your site needs), but any decent cloud host should support 1024MB.

Step 1: Edit your wp-config.php file.

Step 2: Add the code before the line that says, “Happy Blogging”.

define('WP_MEMORY_LIMIT', '1024');

 

15. Remove Your Page Builder

Page builders slow down your admin, but even more importantly, they slow down your website because they add extra CSS/JS.

I use GeneratePress but Blocksy, Kadence (they’re expensive though), Astra, Oxygen Builder, and StudioPress are lightweight too. NOT Elementor/Divi. Aside from their slow editors, their extra CSS/JS can flag multiple issues in core web vitals and it’s best to avoid them all together.

 

16. Enable Argo Smart Routing

Cloudflare’s Argo Smart Routing can really help speed up dynamic requests on both your admin/frontend. You can either pay for it directly in Cloudflare or Rocket.net and Cloudways’ Cloudflare Enterprise both support Argo. Cloudflare says on average, it loads assets 30% faster.

Cloudflare argo

 

17. Run Tools To Find Bottlenecks

Just wanted to list some plugins to diagnose or speed up your slow WooCommerce admin:

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
Heartbeat Control Disable/limit Heartbeat Limiting
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 WooCommerce Bloat Remove WooCommerce admin bloat Bloat Removal
Perfmatters Bloat removal settings + move wp-login 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
Redis Object Cache Object caching Caching
Cloudflare Set up Cloudflare APO Caching
Super Page Cache for Cloudflare Full page caching on Cloudflare Caching
BunnyCDN Used to set up BunnyCDN CDN
Blackhole for Bad Bots Block bad bots Bot Protection

Why is my WooCommerce admin slow?

A slow WooCommerce admin is often related to a specific plugin (or plugin setting), high CPU usage, a bloated database, or inadequate hosting infrastructure. Redis, OPcache, and Disable WooCommerce bloat can all speed up the admin.

I hope this helped! Comment if you have questions.

Cheers,
Tom

You Might Also Like:

Leave a Comment