Type to search notes, tools, and pages...

WordPress Performance and Admin Audit Checklist

Work through these 12 evidence-based checks to isolate admin latency, database bottlenecks, and server misconfigurations. State is saved automatically in your browser.

Audit progress

Get fix plan →

Open DevTools > Network tab. Reload the admin page. Check the Time to First Byte (TTFB) of the main HTML document request.

  • TTFB > 1.0s: Server-side bottleneck (PHP, DB, outbound HTTP, cache misses).
  • Fast TTFB, sluggish page: Client-side issue (AJAX polling, JS execution, asset blocks).

Install Query Monitor temporarily and check the HTTP API Calls panel. Look for license checks or analytics calls blocking admin rendering.

// In wp-config.php to block outbound HTTP natively:
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org' );

Ensure total autoloaded data is under 1MB. Run a SQL query to measure total memory footprint.

SELECT ROUND(SUM(LENGTH(option_value)) / 1024 / 1024, 2) AS total_mb
FROM wp_options WHERE autoload = 'yes';

Never use raw DELETE FROM wp_options for transients (leaves orphaned timeouts). Use WP-CLI instead.

wp transient delete --all

Prevent heavy background jobs from executing during user requests. Add DISABLE_WP_CRON to wp-config.php, then schedule crontab.

define( 'DISABLE_WP_CRON', true );

Verify OPcache is active and set opcache.revalidate_freq = 60 or higher in production.

opcache.enable = 1
opcache.memory_consumption = 128
opcache.revalidate_freq = 60

Reduce redundant database queries across admin views. Confirm active status via WP-CLI.

wp redis status

Do not deactivate plugins globally on a live site. Install Health Check & Troubleshooting to isolate plugin issues for your admin session only.

Heartbeat polls admin-ajax.php every 15s in the editor and 60s on other screens. Limit frequency via filter.

add_filter( 'heartbeat_settings', function( $s ) { $s['interval'] = 60; return $s; } );

MySQL only indexes the first 20 chars of wp_postmeta.meta_value. Queries filtering on longer meta values trigger full table scans.

Dashboard widgets fetch remote RSS feeds synchronously during initial dashboard render. Hide or unhook unused dashboard widgets.

Ensure synchronous wp_mail() calls during admin actions use a local SMTP relay or background queue to prevent connection timeout blocks.

Prefer an experienced engineer to handle the audit?

If you would rather have this performance and security diagnosis executed for your production site with a fixed scope and a clear report, I provide managed technical audits and maintenance.