AdminVelox · WordPress admin performance audit

Why your WordPress admin is slow

wpadminperformance.com

measured
2026-09-11
method
median of 5 loads per screen, measured from inside the site
access used
a plugin installed by you. No FTP, no SSH, no database, no hosting panel
changes made
none. This audit reads only

What this comes down to

Measured load times

ScreenMedianVerdict
Front end (home page, logged out) 0.10 s good
Plugins screen 2.68 s clearly slow
Users 2.25 s clearly slow
Dashboard 2.22 s clearly slow
Pages list 1.11 s slow
Posts list 1.05 s slow

Good is 0.6 s or under, which is the threshold WordPress core itself uses. Slow is up to 2 s. Clearly slow is above that.

Findings

Plugins screen takes 2.68 s to load

Measured as the median of 5 loads. WordPress core treats 0.6 s as a good server response time, so this screen is 4× over that mark.

The admin is 26× slower than the front end

The public site answers in 0.10 s because it is cached. Page caching never applies to logged-in admin screens, which is why visitors see a fast site while you do not.

wordpress-seo accounts for the largest share of database time

11 queries and 109 ms of database time on a single dashboard load. This is the plugin to examine first, not necessarily the one to remove.

394 ms of a single admin load is spent calling other servers

2 outbound HTTP requests run while the page is being built, the slowest being https://api.wordpress.org/core/browse-happy/1.1/ at 298 ms. The page cannot finish until they answer, and no front-end speed tool reports this.

No persistent object cache

Without Redis or Memcached, every admin request rebuilds the same option and metadata lookups from the database. This is usually the single largest available improvement, and it requires server-side provisioning.

OPcache status could not be read from inside the site

The host restricts the API. This is not a fault, it just means this part has to be checked at server level rather than measured here.

Where the database time goes

One instrumented load of the dashboard screen, 131 queries in 227 ms. An instrumented load is always slower than a normal one, which is why the table above uses uninstrumented measurements instead.

SourceQueriesDatabase time
wordpress-seo plugin11109 ms
elementor plugin3838 ms
wordpress core3134 ms
gt3-themes-core plugin1515 ms
flying-press plugin911 ms
gt3-photo-video-gallery-pro plugin85 ms
wordpress-seo-premium plugin44 ms
revslider plugin43 ms

Calls to other servers during one admin load

RequestMade byTime
https://api.wordpress.org/core/browse-happy/1.1/wordpress298 ms
https://assets.elementor.com/mixpanel/v1/mixpanel.jsonelementor96 ms

What is not the problem

This section is here so that you do not spend money on the wrong thing.

What to do, in this order

  1. Stop the outbound calls made during admin page buildslow risk

    They can be deferred or cached without changing how anything behaves.

  2. Examine wordpress-seo on the dashboard screenanalysis only

    Measure with it disabled on a copy of the site, never on production, to confirm the share before deciding anything.

  3. Add a persistent object cachemedium risk, server work

    Usually the largest single improvement. Requires Redis or Memcached on the host and careful invalidation.

  4. Re-measure with the same tool after each changeno risk

    One change at a time, same screens, median of five loads. Otherwise you cannot tell which change did what.

Do not touch these without a plan

Payments, orders, webhooks, any accounting or ERP connection, and point-of-sale integrations. A faster admin is not worth a broken order flow. If a change would affect any of these, it belongs in a separate, tested piece of work.

What this audit cannot see

Said plainly, because an audit that hides its limits is not an audit.