What this problem looks like
A stuck Customizer spinner means the preview frame or customize.php AJAX never finished. Classic themes and older commercial themes still rely on it even as Site Editor grows.
Because the Customizer runs admin and front end together, security plugins, ad blockers, and CDN caches often break it before the theme itself is at fault.
Quick checks in the browser
- Try a private window with extensions disabled.
- Open DevTools → Console and reload Appearance → Customize.
- Look for blocked scripts, CORS errors, or
net::ERR_SSLmessages. - Switch to another browser to rule out a local extension.
Disable plugins that hook into admin
Caching plugins, firewall plugins, and admin optimizers commonly break customize_controls_print_scripts.
Disable them one at a time or use Health Check troubleshooting mode, then reload the Customizer.
Fix HTTPS and URL mismatches
If siteurl is https but assets load over http, the preview iframe may stay blank.
Open wp-config.php in your site root, next to wp-admin and wp-content. Search for WP_HOME and WP_SITEURL first. If those lines already exist, update them instead of adding duplicates. If neither exists, paste the constants above the line that says stop editing:
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' ); Raise PHP limits for heavy themes
Large theme option panels can exceed default limits on budget hosting. Open wp-config.php in your site root, next to wp-admin and wp-content, or raise limits in hosting PHP settings. Check wp-content/debug.log if PHP fatals when Customizer loads.
define( 'WP_MEMORY_LIMIT', '256M' );
@ini_set( 'max_execution_time', '120' ); When the theme itself is the problem
Switch temporarily to a default theme. If Customizer works, update the commercial theme or ask the author about Customizer compatibility with your PHP version.
Block-based themes may steer you to Appearance → Editor instead. That is expected for full site editing themes.
When to stop DIY and hire help
Customizer failures that survive plugin isolation often need theme-level debugging. BugShield developers fix theme errors and AJAX failures at a confirmed fixed price without hourly surprises.