Where It Lives
The Performance & Block Manager card sits at Settings > ACF Blocks License, below the license and migrator cards. Added in 2.9.0, it’s the control panel for the plugin’s performance work: disable blocks you don’t use, see what the site actually uses, and check the health of the generated artifacts that make registration fast.
Disabling Blocks
The card lists all 29 blocks as checkboxes. Check a block, save, and it’s gone: the block is not registered, its ACF field group is skipped, and its CSS is excluded from the editor bundle. This isn’t a cosmetic hide; disabled blocks cost nothing at request time.
Saving also rebuilds a site-specific editor CSS bundle that contains only the enabled blocks’ styles, replacing the shipped default bundle. The disabled list is stored in the acf_blocks_disabled_blocks option, and the filter of the same name lets you manage it in code:
add_filter( 'acf_blocks_disabled_blocks', function( $disabled ) {
$disabled[] = 'acf/thread-builder';
return $disabled;
});Existing content using a disabled block stays in the database untouched. It just stops rendering as that block until you re-enable it, so check the usage inventory before switching anything off.
Block Usage Inventory
Refresh Usage Inventory starts an asynchronous scan that counts every ACF block across your posts. It runs in resumable WP-Cron batches, so it won’t time out on large sites; the card shows posts scanned, a running/complete status, and a per-block count table when it finishes. That table is your evidence for what’s safe to disable.
Diagnostics
The diagnostics table reports:
- Registered blocks – Enabled count out of the total.
- Current request registration time – Milliseconds spent registering blocks on this page load. With the generated manifest in place this should be low single digits.
- Generated manifest – Size of
includes/generated-block-manifest.php, the OPcache-friendly artifact that replaces request-time directory scans. “Missing” means the loader is falling back to filesystem scanning. - Editor CSS bundle – Size of the consolidated editor stylesheet. “Missing” means editor styles are broken; re-save the block settings to rebuild it.
- Queued image-localization posts – Backlog of the background image queue, with a Process Image Queue Now button to drain it immediately.
Server-Timing Metrics
For profiling, the plugin can emit Server-Timing headers with its bootstrap and registration timings, visible in your browser’s DevTools network panel. It’s on when WP_DEBUG is true and gated by the acf_blocks_server_timing_enabled filter:
add_filter( 'acf_blocks_server_timing_enabled', '__return_true' );Keep it off in production unless you’re actively measuring. It’s a diagnostic header, not a feature.
Quick answers to common questions:
Does disabling a block delete content that already uses it?
No. The saved markup stays in the database untouched; the block simply stops registering, so it won’t render as that block until re-enabled. Run the usage inventory first so you only disable blocks with a zero count.
Why does the manager rebuild the editor CSS bundle when I save?
The editor loads one consolidated stylesheet instead of 29 separate ones. When you disable blocks, the plugin builds a site-specific bundle without their CSS, so the editor ships exactly the styles your site can use and nothing more.