sync: auto-sync from GURU-5070 at 2026-06-22 13:18:48
Author: Mike Swanson Machine: GURU-5070 Timestamp: 2026-06-22 13:18:48
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# 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.phar`** for the DB-side cleanup (active_plugins, options, cron) because
|
||||
the cPanel WP-Toolkit `wp` wrapper 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 `wp` wrapper blocks CLI** — `/usr/local/bin/wp` (WP-Toolkit's wpt-wp-cli)
|
||||
prints "Only CLI access" for any non-WPT invocation, even with `ssh -tt`. Workaround: download the
|
||||
genuine `wp-cli.phar` and run it directly.
|
||||
- **Wrong PHP SAPI** — running wp-cli via `sudo -u <user> php` used 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/`, the `WP_CACHE` define in wp-config.php.
|
||||
- DB (via wp-cli): removed `clsop/clsop.php` from `active_plugins`; deleted options
|
||||
`wp_rocket_settings`, `wpr_rocket_cache_version`, `wp_rocket_last_base_url`,
|
||||
`clsop_last_server_software` + rocket transients; deleted 5 `rocket_*` cron events.
|
||||
- Backups left on server in `/home/ezfastautoglass/`: `clsop-removal-backup-20260622-131519.tgz`,
|
||||
`clsop-rocket-settings-<ts>.json`, and `public_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 vault `infrastructure/ix-server.sops.yaml`. No client secrets touched.
|
||||
|
||||
## Infrastructure & Servers
|
||||
- Host: IX cPanel server, `172.16.3.10` (ext `72.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 `.htaccess` browser-cache headers (far-future `max-age`/`mod_expires` on
|
||||
static assets; HTML is `no-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=200` post-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 user `ezfastautoglass` (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.
|
||||
Reference in New Issue
Block a user