More fixes

Your WordPress dashboard is very slow, but the site itself is fine

Visitors get your pages in a second, yet every click inside wp-admin hangs for five, ten or twenty seconds, and saving a page feels like it might never finish. That split is a clue in itself. Visitors are usually served a saved (cached) copy of each page, while the dashboard is built fresh on every click, so the dashboard shows how slow the site really is underneath. One free plugin tells you which part is taking the time. Below is a rebuilt example (not a real client), the ten-minute check, and the fix for each cause.

What the site owner sees

Harbor Tile & Stone  |  wp-admin › Dashboard

What the check found


  

The ten-minute check: what is taking the time?

  1. Confirm it is only the dashboard. Open the home page in a private window (logged out). If it is fast there and slow when you are logged in, the page cache is hiding a slow site, and the causes below are where to look. If it is slow logged out too, start with site is slow instead.
  2. Install Query Monitor (free, in Plugins > Add New). It adds a timing line to the black admin bar on every dashboard page. Click it.
  3. Read three panels. Queries by Component shows which plugin or theme spends the most database time. HTTP API Calls shows calls to other websites, and any that took seconds or timed out. Overview shows the total time and memory. One plugin that owns most of the time, or a call that waits ten seconds for an answer, is usually the whole story.
  4. Open Tools > Site Health. Since WordPress 6.6 it warns when "autoloaded options could affect performance". It also flags an old PHP version and a missing object cache.
  5. Note when it is slow. Slow only with the editor open in several tabs points to the Heartbeat row below. Slow only on WooCommerce screens points to the scheduled-actions row. When you are done, deactivate Query Monitor; it is a diagnostic tool, not something to leave running.

What causes it and the fix

What the check showsWhy it happensThe fix
HTTP API Calls lists a call to another site that takes seconds or times out (a license check, a news feed, an "upgrade to Pro" banner)Some plugins phone home on every dashboard page and make the page wait for the answer. When their server is slow or blocked, every click waits tooUpdate that plugin first; this is often fixed upstream. If it persists, turn off its dashboard widget in Screen Options (top right of the Dashboard), or replace the plugin. A security plugin or host firewall blocking outgoing calls produces the same timeouts and is worth a check
Queries by Component shows one plugin with most of the database time, often a page builder, an activity log, statistics or a related-posts pluginThe plugin runs heavy database work on every admin page, or its own tables have grown to millions of rows (logs and statistics never cleaned)Check that plugin's settings for a log retention or cleanup option and set it to 30 or 90 days. Deactivate it for a minute and reload: if the dashboard is fast, you have your answer. Replace it if it has no cleanup
Site Health warns about autoloaded options, or Overview shows a large memory use on every pageWordPress loads every "autoload" setting on every request. Plugins you deleted years ago often leave large ones behind, and some plugins store whole caches thereBack up the database first. Find the biggest rows with SELECT option_name, LENGTH(option_value) FROM wp_options WHERE autoload IN ('yes','on','auto-on','auto') ORDER BY 2 DESC LIMIT 20; in phpMyAdmin. Rows named after plugins that are no longer installed can be set to not autoload (or removed). Leave WordPress's own rows alone
Slow mostly while editing, worse with several tabs open; the host reports high CPU or admin-ajax.php in its logsThe Heartbeat feature pings the server every 15 to 60 seconds from each open admin tab, for autosave and post locking. Ten forgotten tabs means constant load, and a small hosting plan runs out of workersClose admin tabs you are not using. Slow Heartbeat down (many caching plugins have a setting for it) rather than switching it off: in the editor it is what saves your drafts and stops two people overwriting each other's edits
WooCommerce screens are the slowest; WooCommerce > Status > Scheduled Actions shows thousands of past-due or failed actionsWooCommerce queues background jobs (emails, stock syncs, reports). When they pile up, the queue and its table slow down every admin page that touches themFind out which hook is failing (the action's name tells you the plugin) and fix or remove that plugin. Then clear old completed and failed actions. If past-due actions keep growing, switch WordPress's scheduler to a real server task (next row)
Random clicks are slow, not always the same page; Query Monitor shows time spent before the page's own work startsWordPress runs its scheduled tasks (wp-cron) during page loads, and the admin is where they run most. A backlog of jobs lands on your clickAdd define('DISABLE_WP_CRON', true); to wp-config.php, then ask the host (or use its control panel) to call https://yoursite.com/wp-cron.php every 5 to 15 minutes. Do not do the first step without the second: scheduled posts and emails would stop
Site Health flags an old PHP version or no object cache; everything is a little slow, nothing stands outThe dashboard is built fresh each time, so slow PHP or a low memory setting hurts it most. A small shared plan with one or two workers queues every clickUpdate PHP in the host's control panel (see outdated PHP first). Turn on the host's object cache (Redis or Memcached) if it offers one. Memory errors: see memory exhausted

What not to do

Finding the cause usually takes ten minutes with Query Monitor; cleaning the database, replacing a plugin without losing its settings, or moving the scheduler to a server task is where most owners would rather have someone do it. If that is you, the box below is for that. Related: whole site is slow, Elementor editor stuck loading and WooCommerce checkout problems.