Skip to content
ThemesIonic — home
WordPress Tutorials

How to Speed Up a Slow WordPress Admin

Page caching never applies to wp-admin, so a slow dashboard is always real work: heavy plugins, wp-cron, remote API calls or a bloated options table. Profile it rather than guessing.

1 min read intermediate

Quick check: open the Network tab, load a dashboard page and read the time to first byte of the main document. If it is a second or more, PHP is doing too much work per request, and the cause is nearly always plugins, cron or the options table.

Caching plugins do not help here. wp-admin is never page-cached, by design.

Find what is slow, don't guess

Install a query monitoring plugin on staging, or add timing to a must-use plugin. What you want per admin request:

  • total query count and query time;
  • the slowest individual queries;
  • any HTTP requests made during the page load;
  • peak memory usage.

Typical readings and what they mean:

Observation Cause
300+ queries on a simple screen A plugin querying in a loop
A 2-second HTTP request in the profile A remote API call blocking the page
Huge memory use An extension loading everything into memory
Slow only on Posts or Products list Meta queries without indexes, or too many columns added by plugins
Every screen equally slow wp-cron, autoloaded options, or the server itself

Stop wp-cron running on every visit

By default WordPress checks for due scheduled tasks on page loads, including admin ones. On a busy site that means constant overlapping cron runs.

Disable the request-triggered version in wp-config.php:

<?php
define('DISABLE_WP_CRON', true);

Then add a real cron job so scheduled work still happens:

*/5 * * * * curl -s https://example.com/wp-cron.php?doing_wp_cron > /dev/null

Most managed hosts offer this in the control panel. Do not skip the second half — without it, scheduled posts, backups and update checks silently stop.

While you are there, audit what is scheduled. wp cron event list shows every job; an analytics or logging plugin firing every minute is a common find.

Cut the plugin overhead

Admin slowness scales with what runs on every admin page:

  1. Remove what you do not use. Deactivated plugins still occupy disk and confusion; delete them properly, per how to delete a WordPress plugin completely.
  2. Look for plugins that phone home. Licence checks, update checks and analytics pings made synchronously block the request. A plugin doing this on every admin load is worth replacing.
  3. Disable admin notices you never read. Some plugins render heavy dashboards even on unrelated screens.
  4. Reconsider all-in-one suites. Security, SEO and backup suites often each add dashboard widgets, cron jobs and list-table columns.

Test the effect properly: note the load time, disable one plugin, reload, note it again. Guessing which plugin is heavy is usually wrong.

Trim autoloaded options

Every request — admin included — loads all options marked autoload = yes.

SELECT option_name, LENGTH(option_value) AS bytes
FROM wp_options
WHERE autoload = 'yes'
ORDER BY bytes DESC
LIMIT 25;

Look for leftovers from removed plugins and large serialised blobs. Back up before deleting anything, and delete only rows you can identify. Details on safe cleanup are in how to repair a WordPress database.

Enable object caching

An object cache — Redis or Memcached with the matching WordPress drop-in — stores query results between requests. It is one of the few optimisations that genuinely speeds up wp-admin, because the admin repeats the same option and meta lookups constantly.

Ask your host whether it is available; on managed WordPress hosting it usually is, and enabling it is a toggle rather than a project.

Clean up the list screens

Posts, Pages and Products screens get slow when plugins add sortable columns backed by meta queries.

  • Use Screen Options to reduce items per page from 20 to something smaller on huge sites, and to hide columns you do not need.
  • Avoid sorting by a plugin-provided column on a large table.
  • For WooCommerce, make sure the store is using the modern high-performance order storage rather than legacy post-based orders.

Check the platform

If everything above is done and the admin is still slow, the server is the limit:

  • an older PHP version — upgrade after testing, see what breaks after a PHP update;
  • shared hosting with CPU throttling, which shows as inconsistent times;
  • a database on a distant host, adding latency to every query;
  • no OPcache, so PHP recompiles on every request.

Hosting differences are real here in a way they are not for cached front-end pages — hosting comparison covers what to look for.

Verify

Time the same three screens before and after: the dashboard, the Posts list and the editor. Load each twice and use the second number, so an empty object cache does not skew the result. Anything under half a second feels instant; anything over two seconds will keep annoying whoever edits the site every day.

Frequently asked

Front-end pages are usually served from cache, while every admin page runs PHP and queries the database in full. The admin exposes the real cost of your plugins.
Only if you disable it without replacing it. Turn off the request-triggered version and add a real system cron job calling wp-cron.php on a schedule.
Yes. The dashboard loads news feeds, activity widgets, plugin notices and update checks. Removing widgets you never read makes it noticeably faster.

Related guides