Have a slow admin or getting 503 errors?
A slow WordPress admin is usually caused by a stressed out server. You can find clues on the real issue by checking your TTFB, CPU usage, slow plugins found in Query Monitor, and your cache/hit ratio in your CDN analytics. It may also be from CPU-hungry background tasks. This can include WordPress Heartbeat, bad bots/attacks hitting your server, or even certain plugin modules that constantly run in the background (statistic/analytic plugins are just one example).
Otherwise, shared hosting is probably the reason your admin is slow because it lacks RAM and other server resources needed to compensate for your site’s usage. Even SiteGround’s TTFB is slow and my clearly biased opinion is to use Cloudways Vultr High Frequency (cloud hosting with NVMe storage + Redis) or NameHero’s Turbo Cloud plan (LiteSpeed hosting with NVMe). Regardless if you take my affiliate suggestions, step 1 is to move away from slow shared hosting.
This guide should help speed up your admin panel by reducing CPU and lightening the load on your server, while hopefully improving core web vitals. If your WordPress admin is still slow after reading this tutorial, drop me a comment with your current setup and I’ll see if I can help.
- Find CPU issues in Query Monitor
- Test (or disable) object cache
- Remove high CPU plugins
- Remove database junk
- Offload bandwidth to CDNs
- Use cloud or LiteSpeed hosting
- Limit Heartbeat, autosaves, post revisions
- Remove admin bloat
- Upgrade PHP versions
- Increase memory limit
- Protect the wp-login page
- Replace wp-cron with a real cron job
- Avoid preloading too many resources
- Monitor CPU usage and TTFB
- Plugins to speed up the admin
1. Find CPU Issues In Query Monitor
Query Monitor can help you find what’s slowing down the admin. Just make sure you delete this plugin when you’re done since the plugin itself can consume quite a bit of server resources. Once installed, view any page and head to the dropdown menu. Here are a few things to check:
- Queries: if something generates 100+ queries, remove it or find an alternative.
- Object cache: check the status of object cache (test your site with and without it).
- Environment: PHP version, memory limit, stats on PHP, database, WordPress, server.
- Errors: take note of errors you see in your Query Monitor report and diagnose the issue.
2. Test (Or Disable) Object Cache
Object cache should speed up the admin, but sometimes it slows it down.
Test your admin speed with and without it. I prefer Redis which uses memory more efficiently than memcached. Setting up Redis/memcached is different depending on the host/cache plugin.
- cPanel: PHP Selector → Extensions (also enable in your cache plugin)
- SiteGround: Site Tools → Speed → Caching → memcached (enable in SG Optimizer)
- Cloudways: Servers → Manage Services → activate Redis add-on (no need for plugins)
3. Remove High CPU Plugins
Besides using Query Monitor, you can view my list of common slow plugins and use the WP Hive Chrome Extension. This lets you search plugins in the WordPress repository to see if any of your plugins impact memory usage. If it does, you will need to find a lightweight alternative.
Lightweight Alternatives
- Social Sharing – Grow Social.
- Comments – native comments in CSS.
- Translate – MultilingualPress, Polylang (not WPML).
- Backups – UpdraftPlus or ManageWP (schedule for non-peak hours).
- SEO – Rank Math or SEOPress (make sure you disable unused modules).
- Analytics – Google Analytics + Search Console (avoid statistic plugins if possible).
- Security – use a firewall (i.e. Cloudflare) and go through this security checklist. Blocking unwanted bots/traffic/crawlers can lower CPU usage. Some security plugins increase it.
- Theme + Page Builder – Oxygen Builder, GeneratePress, Astra + Gutenberg, Genesis Framework (StudioPress themes), or Elementor Hello Theme if you insist on Elementor. Also take advantage of Elementor and Divi’s built-in speed optimizations in their settings.
4. Remove Database Junk
While most cache plugins clean your database, WP-Optimize removes tables from old plugins. Look for tables from plugins you deleted which are marked as not installed. If you don’t plan on using the plugin again, remove the table. Obviously it’s a good idea to delete expired transients and other junk from your database, but use WP-Optimize every so often for a deeper cleaning.
5. Offload Bandwidth To CDNs
CDNs speed up the admin because:
- You’re offloading bandwidth to their data centers.
- Cloudflare in particular has many settings to reduce CPU usage.
- Firewall/security features block unwanted requests to origin server.
- Improves cache/hit ratio and caches resources to their edge network.
Which CDN Should I Use?
I’m a fan of the Cloudflare + BunnyCDN combination.
Cloudflare has their DNS, APO, firewall, and many features in the dashboard to improve speed/security while reducing CPU usage. BunnyCDN is highly recommended in Facebook Groups and is consistently performant on cdnperf.com. It has features like geo-replication + perma-cache, SafeHop, Bunny Optimizer (image optimization) and improves cache/hit ratio. QUIC.cloud is a solid choice if you’re on a LiteSpeed server and is setup via LiteSpeed Cache. I don’t recommend RocketCDN (StackPath) which isn’t fast and was removed from cdnperf.com.
Cloudflare Setup Instructions:
- DNS – one of the fastest and most reliable DNS providers on dnsperf.com. Simply changing nameservers means you’ll be using Cloudflare as your DNS.
- CDN – go to your DNS settings and change your website from DNS only to Proxied. Required to use APO, Argo, firewall, and most Cloudflare features.
- TLS 1.3 – fastest TLS protocol (recommended setting min. TLS version to 1.2).
- Bot Fight Mode – block spam bots (they will be logged in your firewall events).
- Early Hints – early preload/preconnect hints which improves server wait time.
- Crawler Hints – tells crawlers if content is updated to prevent wasteful crawls.
- Page Rules – here’s a screenshot of 3 common page rules for WordPress sites. One of them is to disable caching in the admin which you definitely want to do.
- Firewall Rules – another screenshot of 4 common firewall rules for WordPress.
- Browser Integrity Check – an extra security layer to block unwanted requests.
- HTTP/3 With QUIC – delivers website in HTTP/3 (confirm with an HTTP/3 test).
- Hotlink Protection – stops websites from copying images and using bandwidth.
- Zaraz – offloads third-party scripts to Cloudflare (Google Analytics, Ads, others).
- APO (Paid) – caches HTML to Clouflare’s edge network by creating an API Token and using the Cloudflare plugin. Improves TTFB worldwide (see my instructions).
- Argo (Paid) – routes traffic through the fastest network paths to reduce latency.
- Firewall (Paid) – multiple rulesets and other tools to identify/fix vulnerabilities.
- Rate Limiting (Paid) – prevents excessive request rates to reduce CPU/attacks.
- SXGs (Paid) – uses prefetching to load your site faster in Google’s search results.
- TCP Turbo (Paid) – reduces latency with by automatically choosing TCP settings.
- Sign up for BunnyCDN.
- Create a pull zone and choose your regions/pricing.
- BunnyCDN will assign a pull zone name + CDN URL.
- Install BunnyCDN’s plugin and add the pull zone name.
- Add your CDN URL to your cache plugin’s CDN settings.
- Force SSL + enable browser WebP support in BunnyCDN settings.
- Purge cache and make sure assets are being served from BunnyCDN.
- Consider using Bunny Optimizer + perma-cache for even better results.
Once set up, wait a few weeks and check your analytics section in your CDN’s dashboard to make sure it’s working. In Cloudflare, you can view cached vs. uncached requests. Pro users can view block requests from the WAF, firewall rules, hotlink protection, and other security layers.
6. Use Cloud Or LiteSpeed Hosting
Why hosting affects wp-admin speed:
- #1 factor in the WordPress optimization guide.
- CPU clock speeds are faster on some hosts than others.
- NVMe is faster than traditional SSDs used on most hosts.
- Redis uses memory more efficiently compared to memcached.
- LiteSpeed handles CPU spikes more efficiently than Apache/Nginx.
- Shared hosting means you’re sharing resources with many other websites.
I use Cloudways Vultr HF which is a popular choice in FB Groups. You can check my GTmetrix report, TTFB, or click through my site to see how responsive it is. I moved from SiteGround to Cloudways which cut load times in half and fixed CPU issues. They use Object Cache Pro/Redis with NVMe storage and 22 Vultr data centers (it’s also monthly pricing with no high renewals). There’s no email hosting and their Breeze plugin + CloudwaysCDN aren’t great, so you can use Cloudflare for most of this (I use FlyingPress, Cloudflare/BunnyCDN, and Google Workspace). Cloudways does free 3-day trials, a free migration, and has a 30% off promo code. Some people are afraid they’re “too techie” since you have to launch a Vultr HF server, but it’s really not hard:
Most hosting recommendations are garbage and I suggest joining the WP Speed Matters Facebook Group to get unbiased feedback on hosting and site speed. SiteGround has a slow TTFB, GoDaddy is a big NO, Bluehost is also very slow, and I would stay away from Hostinger.
Spend 5 minutes looking at recent Facebook polls on “the best hosting,” migration results of people who switched, and unbiased feedback in Facebook groups (click thumbnails to enlarge).
LiteSpeed hosting on NameHero is another solid choice (if you haven’t heard of LiteSpeed, go read about it). It’s cheaper than Cloudways because it’s shared hosting – but faster than most.
I’m not sure why people use other LiteSpeed hosts like Hostinger/A2 when you get more CPU cores + RAM with NVMe on NameHero. You can use the LiteSpeed Cache plugin with server-side caching, QUIC.cloud, HTTP/3, and Redis. This is arguably the fastest setup you’ll find on a budget. I don’t know anywhere else you get 3 CPU cores, 3GB RAM, and NVMe on LiteSpeed for $8/mo. WP Johnny and I both have solid guides on configuring LiteSpeed Cache with QUIC. The main con is they only have data centers in US + Netherlands. Otherwise they have higher uptimes with less ‘frequent maintenance’ compared to Hostinger/A2’s uptime status page with US-based support. Ryan (the founder) is a down to earth guy if you watch his YouTube channel.
Affiliate Disclaimer: I use affiliate links to Cloudways and NameHero and appreciate your support. Vultr HF + Cloudflare APO is the main reason my TTFB is consistently around 100ms.
7. Limit Heartbeat, Autosaves, Post Revisions
The WordPress Heartbeat API can slow down your admin since it consumes resources by notifying you when other users are editing a post, real-time plugin notifications, etc. Several plugins can disable/limit it, you can use a plugin, or just add the code to 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 fully in the dashboard then using 120s for the frontend and 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 a few lines of code to the wp-config.php file.
define('WP_POST_REVISIONS', 5);
define('AUTOSAVE_INTERVAL', 300); // seconds
8. Remove Admin Bloat
Most of this can be done with Unbloater.
There’s also Disable WooCommerce Bloat and even Perfmatters has several bloat removal options. Make sure you disable XML-RPC if you’re not using it and take the time to go through each setting to remove as much bloat as you can (remember to delete unused themes/plugins).
9. Upgrade PHP Versions
Upgrade to PHP 8.0 in your hosting account.
Most hosts support PHP 8.0 but you’ll need to make sure themes/plugins are compatible. The easiest way is to upgrade and check your site for visible errors. If you see errors, revert to the earlier version. Or learn which plugin(s) aren’t compatible and replace it if it’s not maintained.
10. Increase Memory Limit
256MB is recommended by WordPress/Elementor, but you can set it even higher.
Step 1: Edit wp-config.php file.
Step 2: Add the code before the line that says, “Happy Blogging”.
define('WP_MEMORY_LIMIT', '512M');
11. Protect The WP-login Page
wp-admin and wp-login pages are common targets for bots. By moving and protecting these pages, you’re improving security while saving resources by stopping unwanted login attempts.
How To Protect The Admin
- Use the Limit Login Attempts Reloaded plugin.
- Move your login page using Perfmatters or another plugin.
- Use a Cloudflare page rule to set wp-admin security level to high.
- Use a Cloudflare page rule to only allow access from your country or IP.
- If using QUIC, don’t move your login since it already protects the wp-admin.
12. Replace WP-Cron With A Real Cron Job
wp-cron is loaded on every page on your site and schedules automated tasks like publishing scheduled posts, checking for theme and plugin updates, sending email notifications, and more.
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 5 minutes. It would 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.
13. Avoid Preloading Too Many Resources
Try disabling link preloading in your cache plugin.
This downloads a page in the background when visitors hover over a link, so by the time they actually click it, the page appears to load instantly. I wouldn’t enable this on shared hosting since preloading too many links can increase CPU usage, but it should be OK if you’re on a VPS.
Your cache plugin’s preloading can also increase CPU usage. You can try:
- Disabling link preloading
- Increasing cache lifespan
- Increasing crawl interval
- Disabling sitemap-based preloading
- Disabling “remove unused CSS” feature
- Set up a cron job to preload at non-peak hours
- Stop updating your cache plugin settings constantly
14. Monitor CPU Usage And TTFB
Login to your hosting account and check your CPU usage.
It shouldn’t be even close to 100% since you want your server to stay relaxed. Hosting companies always tell you to upgrade, but you should always optimize your site first to reduce CPU before you consider upgrading. SiteGround, Bluehost, GoDaddy, and many other hosts have awful CPU limits that trap you into their contract, yet force you to upgrade. Don’t fall for it.
Most people measure TTFB in PageSpeed Insights where Google flags your TTFB if it’s over 600ms, but I prefer KeyCDN which measures TTFB and other metrics from 10 global locations.
15. Plugins To Speed Up The Admin
Here’s a list of plugins that can speed up your WordPress admin and reduce CPU usage. These are all lightweight and should help, but keep in mind that sometimes with plugins, less is better.
Plugin | Description | Rating | Price |
---|---|---|---|
Query Monitor | Find slow plugins + queries | 4.9/5 | Free |
WP-Optimize | Remove old databases tables | 4.8/5 | Free |
Redis Object Cache | More efficient than memcached | 4.6/5 | Free |
Perfmatters | Settings can reduce CPU + unload assets | N/A | $22.46/year with coupon |
Cloudflare | Set up Cloudflare's APO | 3.6/5 | $5/month |
WP Cloudflare Super Page Cache | Full page caching on Cloudflare | 4.9/5 | Free |
BunnyCDN | Set up BunnyCDN (performant CDN) | 4.6/5 | Free with BunnyCDN |
Disable Woo Bloat | Remove WooCommerce admin bloat | 5/5 | Free |
Heartbeat Control | Disable/limit WordPress Heartbeat | 4.2/5 | Free |
Blackhole for Bad Bots | Block bad bots | 4.9/5 | Free |
FlyingPress | Recommended over WP Rocket | N/A | $60/year |
LiteSpeed Cache | Cache plugin for LiteSpeed hosts | 4.8/5 | Free on LiteSpeed |
Frequently Asked Questions
What are the most common remedies for a slow WordPress admin?
The most common remedies for a slow WordPress admin are to remove high CPU plugins, use a better cache plugin, configure it with optimal settings, and upgrade to cloud hosting. If using W3 Total Cache, try disabling object cache.
Will changing hosts fix a slow admin?
High server response times can definitely slow down the admin panel. Changing hosts can speed it up especially if you switch from shared hosting to cloud.
Will a CDN speed up the admin panel?
CDNs offloads resources which lighten the load on your origin server, therefore speeding up both your website and admin panel. Cloudflare and BunnyCDN are both good choices.
Do bad bots slow down the admin?
Yes, spammy bots that constantly hit your site are a waste of server resources. You can use Wordfence to find all bots hitting your site in real-time, then use Wordfence, Blackhole for Bad Bots, or Cloudflare firewall rules to block spam bots.
Which plugins slow down the admin panel?
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. Use lightweight plugins that are maintained and coded well.
Do cache plugins affect the speed of the admin panel?
Yes. Which cache plugin you're using and whether it's configured optimally has a large impact. Make sure you use a top-rated cache plugin and take advantage of the features.
How do I fix a slow WooCommerce admin?
Use the Disable WooCommerce Bloat plugin to disable WooCommerce notices, meta box, marketplace suggestions, and other bloat WooCommerce adds to your dashboard.
How do I fix a slow admin when using Cloudflare?
Try creating a page rule to bypass cache inside the admin, set the Cloudflare security level to high, and disable apps and performance features inside your WordPress dashboard.
Why is the WordPress admin slow on GoDaddy?
GoDaddy overcrowds their servers and has CPU limits. The lack of server resources may result in a slower admin and website.
How do I reduce admin-ajax.php server load?
Disable WordPress Heartbeat, block spam bots from hitting your server, and protect your admin area.
See Also: My Ultimate WordPress Speed Guide
Did it work? Let me know in the comments :)
Still have a slow admin? Send me your set up (and GTmetrix report URL) and I’ll give my advice.
Cheers,
Tom
HI TOM. U wrote: Host Google Fonts locally (built-in to WP Rocket…
Where are these settings? I only find that they optimize it. But host local?
I don’t see that in the article. You can host analytics locally but not fonts with WP Rocket. You will need to do it manually (e.g. Transfonter) or using OMGF plugin.
Very good article, but maybe you can enhance it by adding a particular topic.
What about database RAM consumption ? When uploading files to the media library, we often have huge ram peaks on database side. Is there a way to cap it or to configure something so as not to consume for instance 512 GB of RAM ?
Because otherwise, hosting providers sometimes cap it for us and it results on unability to upload images or even to see the content of previously uplaoded media in the library …
Hi Tom,
Thank you for your amazing site. I am using the gogeek plan and i am running 3000ms when i use byte check.
I stopped using SiteGround and also stopped referring my readers to them, partly because I think their servers have gotten slower despite them moving to Google Cloud.
Tom, you might run another benchmark now. I found speeds have gotten better recently.
I’ll be running another test soon but I won’t be referring anyone to them regardless of the results. They have gotten completely unethical.
Hey there, WP-disable removes my product counts from the basket when on index page / main / front page of the site. When in product category or single product page, it shows up. Can’t find what perk disables it. :(
hi i have not cpu problem but whenever i enable gravity form . my dashobord speed lower too much. is there a way to solve this ?
I just signed up for SiteGround GoGeek using your aff link. I have been with GoCRAPPY for close to a decade and just determined from your article that my TTFB and page speeds are awful. My page speed scores are cringeworthy. I still have a lot of cleanup to do but ditching GoTACKY was my FIRST PRIORITY! I also read your GoDaddy article about how abhorrent they are and that really pushed me over the edge.
I read several more articles on SiteGround after reading yours, but I used your aff link because you provided me with a ton of value and I initially found your recommendation to SiteGround first.
Thank you for the highly useful info and I am SO EXCITED about SiteGround!!!!
Thanks so much Regina! SiteGround is much than GoDaddy. Be sure to activate Cloudflare in SiteGround’s dashboard which should also help. I really appreciate it, let me know how it goes and if you have any questions (glad to look over your site’s GTmetrix report if you want).
Very informative and helpful post. Thanks
Thank you! My problem is I had too many themes installed and I had no idea how to delete them till now so thank you again!
Tom, you mentioned CloudFlare for resource storage. What about Amazon S3? How does WP access those resources when outside of the working environment (host)?
Thanks!
SO happy I came upon your site and this page. Pretty well did everything you suggested except switch hosts – definitely going to get off Bluehost as soon as my subscription is up.
Your advice helped my site got from a 34 to a 53! Lots more to do obviously, but a huge improvement.
Thanks so much!
That’s awesome Lindsay! Can I ask which items helped the most?