You optimise your front end to the last millisecond, yet every trip into wp-admin feels like wading through wet cement. Clicking “Posts” takes five seconds. Saving a draft takes ten. If that sounds familiar, this guide is for you. Learning how to speed up WordPress admin
The good news: a slow admin is almost always caused by a small number of fixable problems — runaway Heartbeat API requests, one heavy plugin hooking into every page load, or bloated database queries. Let’s find yours. Page caching means your visitors rarely wait on PHP. But the dashboard bypasses the cache entirely: every admin screen loads the full WordPress core, your active theme, and every plugin’s That’s why admin speed problems come down to three things: background requests (Heartbeat, admin-ajax.php), plugin overhead on every page, and database drag (autoload bloat, slow queries). Attack them in that order. Don’t guess. Measure. The WordPress Heartbeat API keeps your login session alive, powers autosave, and handles post locking — all through background requests to Don’t disable Heartbeat entirely — you’d lose autosave and post locks, letting two editors silently overwrite each other. Instead, slow it down. Add this to a small site-specific plugin (or That single change cuts editor background traffic by about 75% while autosave and locking keep working. If you’d rather not touch code, the free Heartbeat Control plugin (originally by WP Rocket) gives you per-location controls: keep a 60–120 second interval on the post editor, and disable it on the dashboard and front end where you don’t need it. For a deeper walkthrough of measuring and limiting Heartbeat load safely, see this Heartbeat API server-load guide. One more habit that costs nothing: close old admin tabs. They keep pulsing for hours. Plugins hook into Common offenders to audit first: The The main Dashboard screen is often the slowest page on a site — and the fix takes ten seconds. Click Screen Options (top right) and uncheck every widget you don’t actively use, especially ones added by third-party plugins that pull in remote feeds or run extra queries. Do the same for heavy list screens like All Posts and All Pages: On sites with thousands of items, this alone can turn a 6-second list screen into a sub-second one. The same Use a database tool or Query Monitor to check the total size of autoloaded data; if it’s well above a few hundred kilobytes, you’ve found drag. Clean it up with a database optimisation plugin (or targeted SQL on a staging copy), and consider our full guide to optimising the WordPress database for the deeper cleanup. If the dashboard intermittently dies or grinds during big operations (imports, bulk edits, media uploads), check the PHP memory limit under Tools → Site Health → Info → Server. If it’s stuck at 64M or 128M, ask your host to raise it, or set it in Note this only fixes memory exhaustion, not slow queries. And be honest about the ceiling: if Query Monitor and your host’s resource graphs both point at CPU limits — especially during business hours — no plugin setting will fix a plan that’s too small. Moving to a host with proper PHP worker allocation is a legitimate admin-speed fix. Retest after each change so you know which fix earned its keep. Admin speed compounds: a dashboard that loads in one second instead of eight saves you real hours every month — and removes the friction that keeps you from writing, publishing and maintaining the site. For anyone managing client sites, knowing how to speed up WordPress admin is a real competitive advantage. If your front end needs the same treatment, start with my guide to reducing server response time (TTFB) or the LiteSpeed Cache configuration walkthrough. And if you’d rather hand the whole thing off, I offer WordPress speed optimisation services covering both the public site and the dashboard.Why Your WordPress Admin Is Slow (and the Front End Isn’t)
admin_init callbacks — even the ones you only use occasionally. Add the Heartbeat API’s background polling on top, and a dashboard that opens five tabs can quietly generate dozens of full PHP requests per minute.1. Diagnose First: See What’s Actually Slow
admin-ajax, and watch. If you see several AJAX calls per page load — or Heartbeat requests firing every 15 seconds — that’s your first lead.admin_init. Deactivate plugins one at a time and re-test — tedious, but definitive.2. Tame the WordPress Heartbeat API
admin-ajax.php. Each request loads the entire WordPress stack. While the post editor is open it pulses every 15 seconds, and every open admin tab sends its own. Five forgotten editor tabs means five times the background traffic, which can saturate your PHP workers on shared hosting.wp-content/mu-plugins/heartbeat-tune.php; must-use plugins load automatically and survive theme changes):add_filter( 'heartbeat_settings', function ( $settings ) {
// One pulse per minute instead of every 15 seconds.
$settings['interval'] = 60;
return $settings;
} );3. Find the Plugin Slowing Down Every Page
admin_init, admin_menu and admin_enqueue_scripts — hooks that run on every admin page, not just the plugin’s own screens. When you speed up WordPress admin, this is the first place to look: A single poorly written callback can add half a second or more to every admin request, and you’ll never see it in front-end tests.
action parameter in those admin-ajax requests usually carries the plugin’s prefix — match it to the plugin, then check its settings. When in doubt, deactivate the suspect and reload the slow screen to compare. Keeping everything updated matters too: performance fixes land in plugin updates regularly. For a step-by-step diagnostic of slow admin callbacks and admin-ajax traffic, WP Multitool’s slow-admin guide is worth bookmarking.4. Declutter Dashboard Widgets and List Screens
5. Watch Out for Autoload Bloat in wp_options
wp_options autoload query that affects your front end also runs on every admin page — and admin pages can’t be cached, so you feel the full cost. Plugins that stash large settings blobs, logs or transient data as autoloaded options silently slow every screen.6. Raise Your PHP Memory Limit — and Know When It’s the Host
wp-config.php:define( 'WP_MEMORY_LIMIT', '256M' );How to Speed Up WordPress Admin: Quick Checklist
admin_init; deactivate and compare.