Why the WordPress Admin Is Slow, and How to Fix It
The admin can't be page-cached, so it exposes problems the front end hides. How to find what's slowing it down and fix the usual causes.

A slow admin is easy to dismiss because customers never see it, but it costs real time — an editor waiting eight seconds per save, twenty times a day, is losing an hour a week.
It's also diagnostically useful. The admin is uncached and uncacheable, so it shows you problems the front end is quietly hiding behind a page cache.
Why the admin is different
Every front-end page view can be served from a page cache — the same HTML for everyone, generated once. The admin can't. Every screen is specific to you, your role and your data, so PHP and MySQL do the full job on every click.
That means the admin is the honest measure of how fast your server and your code actually are. If the homepage loads in 200 milliseconds and the post list takes six seconds, the homepage number was telling you about your cache, not your site.
Find out what's actually slow
Guessing here is a waste of an afternoon. Install a query monitoring tool and load the slow screen.
- Which queries ran, how long each took, and which plugin or theme called it.
- How long each hook took, which attributes time to a specific component.
- What HTTP requests the page made. A remote call to a licence server takes as long as that server takes.
- Peak memory usage, which reveals a plugin loading far more than it should.
- Do this on several screens — the dashboard home, the post list, the post editor, the plugins screen, and on a store the order list. They're slow for different reasons.
The most common cause: no object cache
If the front end is fine and the admin is slow, check this before anything else.
WordPress caches query results in memory during a single request, but without a persistent backend that cache is discarded when the request ends. Every admin page rebuilds the same option lookups, term queries and meta lookups from MySQL.
Add Redis or Memcached as a persistent object cache and the admin usually transforms. On sites with WooCommerce or a lot of metadata, this single change often takes a six-second screen to under two.
Remote HTTP calls during page load
This is the cause that surprises people most, because nothing about it is visible. A plugin checking its licence, fetching a feed, or phoning home for update information blocks PHP until the remote server answers.
If that server is slow or unreachable, your admin waits — sometimes for the full timeout, on every page load. A single badly behaved plugin can add several seconds to every screen.
The query monitoring tool will show you these. Look for requests to external domains and how long each took. The fix is usually to update or replace the plugin; occasionally it's to cache the response yourself.
The dashboard home screen
The dashboard at wp-admin is frequently the slowest page in WordPress, and it's the page people judge admin speed by. It runs the activity widget, the at-a-glance counts, the WordPress news feed — which is a remote HTTP call — plus whatever widgets plugins have added.
Very few people use any of it. Removing the widgets you don't need is a legitimate fix rather than a workaround, and the news feed in particular is a remote call on every dashboard load for information nobody reads.
Editors can also collapse widgets via Screen Options, but removing them for everyone is cleaner.
List screens
- Reduce items per page via Screen Options. Loading 200 posts with all their metadata and thumbnails is meaningfully slower than 20.
- Check custom admin columns. A column showing a computed value often runs a query per row — that's an N+1 problem on every list load.
- On WooCommerce, make sure the store is using the modern order storage rather than the legacy posts-table approach. The difference on a large order list is dramatic.
- Watch plugins that add filters or counts to list screens; a count of matching items per filter option can be many queries.
The post editor
- The block editor is a JavaScript application. If it's slow to load, look at what plugins are enqueueing into the editor.
- A huge number of registered blocks, or several block libraries, makes the inserter slow.
- Very long posts with hundreds of blocks are slow in a way that's inherent to the editor rather than to your site.
- Autosave and heartbeat requests fire periodically; a plugin hooking expensive work into the heartbeat makes the whole editor feel sluggish.
- Check the browser console and network panel here rather than the server-side profiler — editor slowness is often client-side.
Server-side basics
- PHP 8.x with OPcache. Both matter more in the admin, because there's no page cache hiding a slow request.
- Enough PHP memory. The admin uses more than the front end, and a memory-starved process thrashes.
- Enough MySQL memory to hold the working set, so queries aren't reading from disk.
- Check whether wp-cron is running inside admin page loads. On a busy site, moving it to a real server cron removes a random tax from arbitrary requests.
- Look at the database size and the autoloaded options total. Several megabytes of autoloaded options is loaded on every admin request too.
Working out which plugin it is
If profiling doesn't point clearly at one culprit, bisect on a staging copy: deactivate half the plugins, measure, then narrow down. It's crude and it's reliable.
Do it on staging, never production, and measure the same screen each time with the same content. Note the numbers as you go — it's easy to lose track of which combination you've tested.
When you find it, the options are usually to update it, configure it to do less, replace it, or accept the cost knowingly. Any of those is better than not knowing.
Frequently asked questions
Why is my WordPress admin slow when the site is fast?
Because the front end is being served from a page cache and the admin can't be. Every admin screen runs the full PHP and MySQL work on every click. The most common specific cause is the absence of a persistent object cache, which makes every screen rebuild the same queries from scratch.
Does the number of plugins make the admin slow?
Not the count — what they do. One plugin making a remote HTTP call to a slow licence server on every page load will hurt more than twenty lightweight ones. Profile with a query monitoring tool to see which plugin owns the queries, hooks and external requests.
Will more PHP memory fix a slow admin?
Only if you're actually running out, in which case it's a real fix. Check peak memory usage against your limit first. If usage is well under the limit, adding more changes nothing and the problem is queries, remote calls or a missing object cache.
Why is the WordPress dashboard home page the slowest screen?
It runs the activity widget, the at-a-glance counts and the WordPress news feed — which is a remote HTTP call — plus whatever widgets plugins add. Almost nobody uses any of it. Removing the widgets you don't need is a legitimate fix, not a workaround.
How do I find which plugin is slowing down wp-admin?
Start with a query monitoring tool, which attributes queries, hook time and HTTP requests to specific plugins. If that's inconclusive, bisect on a staging copy: deactivate half the plugins, measure the same screen, and narrow down. Crude, but it always finds it.
Topics
- slow WordPress admin
- wp-admin slow
- WordPress dashboard performance
- WordPress backend speed