The wp-admin dashboard is very slow
A fast public shop and a sluggish dashboard don’t share the same causes: a different set of mechanisms plays out behind wp-admin, involving the Heartbeat API, options loaded on every request and a missing object cache, independent of whatever makes the front end fast or slow.
How I go about it
-
Scoping the problem
I confirm the slowdown specifically affects wp-admin and wc-admin, by comparing against the public site’s load time at the same moment.
-
Checking the Heartbeat API
I check how often admin-ajax.php is called, by default every 15 to 60 seconds on every open wp-admin tab, and its effect on a host with a limited number of PHP-FPM workers.
-
Auditing autoloaded options
I measure the size of wp_options rows with autoload set to yes: this data loads on every request, admin and front end alike, and builds up over years of plugin installs.
-
Checking the object cache
I check whether an object cache (Redis or Memcached) is in place. Without one, WooCommerce screens such as the Orders list or Reports re-run costly SQL queries on every load.
-
Targeted fix
Depending on what dominates, I tune the Heartbeat frequency, clean up stale options, set up an object cache, or rewrite a query specific to an admin screen that’s become too heavy.
What I handle regularly
- The public shop loads fast, but wp-admin takes several seconds on every click
- The Orders list takes an unusually long time to load, especially after applying a filter
- The WooCommerce Analytics screen spins for ages before showing any numbers
- Having several wp-admin tabs open visibly slows down the rest of the site
- The slowdown gets worse year after year with no recent plugin changes
What specifically slows the admin down
The Heartbeat API polls admin-ajax.php by default every 15 to 60 seconds on every open wp-admin tab, for autosave, notifications and session checks. On a host with a limited number of PHP-FPM workers, just a few tabs open at once are enough to visibly slow the whole admin down.
wp_options rows marked autoload=yes build up over years of installing and removing plugins, and some plugins never clean up after themselves. This set of options loads in full on every request, admin and front end alike: the heavier it gets, the slower every page becomes, quietly but consistently.
Without an object cache (Redis or Memcached), WooCommerce admin screens, particularly the Orders list and Analytics reports, re-run non-trivial SQL queries on every load instead of reusing an already computed result. Reports screens aggregate the entire order history: on a catalogue with several years of sales, that can genuinely get heavy without a proper index or cache layer.
Related pages
-
Slow WooCommerce site
A slow public site follows different causes than wp-admin: page cache, images, front-end queries.
-
Maintenance contract
Regular upkeep prevents stale options and unused plugins from piling up for years.
-
All WooCommerce work I handle
Other faults and features I handle on WooCommerce.
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.