5.8 KiB
ezfastautoglass.com — product-page white screen fixed (removed WP Rocket / AccelerateWP)
User
- User: Mike Swanson (mike)
- Machine: GURU-5070
- Role: admin
Session Summary
ezfastautoglass.com (WooCommerce store on the IX cPanel server) had a white screen on product
pages. Mike suspected caching. Investigation found the site's optimization plugin clsop —
which is CloudLinux AccelerateWP, the WP Rocket engine rebranded (not a separately-named
"wp-rocket" plugin). Its Remove-Unused-CSS / critical-CSS / delay-JS features (the rocket_saas_*
SaaS jobs seen in the error_log) strip/defer CSS+JS the product template needs — the classic cause
of a WooCommerce product-page WSOD. The page cache itself was not the problem.
Disabling clsop immediately fixed it: a product page went from white to HTTP 200 with full
content. Mike confirmed Woo's default caching is fine and that WP Rocket isn't needed, so the call
was to remove it entirely rather than reconfigure it. Did a clean removal of every reference:
the active_plugins entry, the rocket/clsop options + transients, 5 orphaned rocket_* cron events
(which had been spamming the error_log with "could not be saved"/"invalid_schedule" errors), the
plugin directory, wp-rocket-config/, the advanced-cache.php dropin, wp-content/cache, and the
WP_CACHE define in wp-config.php. Verified clean (0 rocket options, 0 rocket cron, no files) and
the product page + homepage both return 200. The site now runs on WordPress/WooCommerce default
behavior with no third-party page cache.
Key Decisions
- Removed AccelerateWP/clsop entirely rather than reconfiguring — Mike confirmed Woo default caching is fine and the optimization layer (specifically RUCSS) was the WSOD cause. Keeping it would mean re-enabling page cache with RUCSS/critical-CSS/delay-JS OFF; not needed for this store.
- Used a standalone
wp-cli.pharfor the DB-side cleanup (active_plugins, options, cron) because the cPanel WP-Toolkitwpwrapper hard-blocks scripted use ("Only CLI access"). - Backed up before removal (plugin dir + config tarball + settings JSON + wp-config backup) so AccelerateWP can be re-deployed later if perf caching is wanted.
Problems Encountered
- cPanel WP-Toolkit
wpwrapper blocks CLI —/usr/local/bin/wp(WP-Toolkit's wpt-wp-cli) prints "Only CLI access" for any non-WPT invocation, even withssh -tt. Workaround: download the genuinewp-cli.pharand run it directly. - Wrong PHP SAPI — running wp-cli via
sudo -u <user> phpused the cgi-fcgi SAPI; wp-cli refuses ("only works from the cli SAPI"). Fix: invoke the cPanel CLI php explicitly at/opt/cpanel/ea-php81/root/usr/bin/php. - Orphaned cron after a partial disable — initially just renamed the plugin dir + set WP_CACHE
false; that left
rocket_*cron events + options + the active_plugins entry behind, which kept erroring in the log. Lesson: removing a WP-Rocket-class plugin means clearing its DB cron/options/ active_plugins, not just files.
Configuration Changes (on IX, /home/ezfastautoglass/public_html)
- Removed: plugin
clsop(dir),wp-content/wp-rocket-config/,wp-content/advanced-cache.php,wp-content/cache/, theWP_CACHEdefine in wp-config.php. - DB (via wp-cli): removed
clsop/clsop.phpfromactive_plugins; deleted optionswp_rocket_settings,wpr_rocket_cache_version,wp_rocket_last_base_url,clsop_last_server_software+ rocket transients; deleted 5rocket_*cron events. - Backups left on server in
/home/ezfastautoglass/:clsop-removal-backup-20260622-131519.tgz,clsop-rocket-settings-<ts>.json, andpublic_html/wp-config.php.acg-bak-20260622-130601.
Credentials & Secrets
- No new credentials. IX root access via SSH key from GURU-5070 (
ssh root@172.16.3.10); fallback + WHM token in vaultinfrastructure/ix-server.sops.yaml. No client secrets touched.
Infrastructure & Servers
- Host: IX cPanel server,
172.16.3.10(ext72.194.62.5), Apache 2.4.68 (cPanel), PHP 8.1.34. - Account: cPanel user
ezfastautoglass, docroot/home/ezfastautoglass/public_html. WordPress 7.0- WooCommerce. Site PHP memory_limit 256M. No LiteSpeed, no Cloudflare proxy on this domain.
- The site retains its
.htaccessbrowser-cache headers (far-futuremax-age/mod_expireson static assets; HTML isno-cache) — left as-is (normal, not the WSOD cause).
Commands & Outputs
- Real wp-cli (bypass WPT wrapper):
sudo -u ezfastautoglass -- /opt/cpanel/ea-php81/root/usr/bin/php /home/ezfastautoglass/wp-cli.phar --path=<docroot> --skip-plugins --skip-themes <cmd> - Remove from active_plugins without loading the plugin:
wp eval 'require_once ABSPATH."wp-admin/includes/plugin.php"; deactivate_plugins("clsop/clsop.php", true);' - Verify:
wp option list --search='*rocket*' --format=count→ 0;wp cron event list | grep rocket→ none. - Health: product page + homepage both
http=200post-removal.
Pending / Incomplete Tasks
- Monitor product pages over the next day (cache fully gone; confirm no WSOD recurrence and that
the error_log stays clean of
rocket_*entries). - Optional: if page-cache performance is wanted later, re-deploy AccelerateWP via cPanel with Remove-Unused-CSS + Critical-CSS + Delay-JS OFF (those three break product pages; the page cache alone is safe). Backups on the server make this reversible.
- Delete the server-side backup tarball/json once the fix is confirmed good.
Reference Information
- Domain → account:
ezfastautoglass.com→ cPanel userezfastautoglass(1.7 G). IX article: systems/ix-server. - Root cause class: WP Rocket / AccelerateWP Remove Unused CSS strips CSS the WooCommerce product template needs → white screen. General gotcha for any RUCSS-enabled WP-Rocket/AccelerateWP store.