Fleet-wide diagnostic tools for WooCommerce sites on Pressable. Collects site health data, identifies performance issues, and scores sites by optimization priority.
Built on top of Chris Jones's fetch-env-reports.php site health script.
PHP diagnostic probe that runs on individual sites via wp eval-file. Combines Site Health, WC System Status, and audit-level diagnostics into structured output.
Strictly read-only. Zero writes to customer data.
Collects:
- WordPress/PHP/WooCommerce versions
- Active/inactive plugin inventory with known cache-breaker detection
- Batcache configuration (times, max_age, overrides)
- HPOS status
- Database metrics (table sizes, revision counts, autoload size)
- WP Rocket configuration (preload status)
- WooCommerce settings (AJAX add-to-cart, iAPI Mini Cart readiness)
- Object cache configuration and batch operation support
Python orchestrator that deploys the probe across the fleet via SSH. Reads a CSV site list, handles SSH connections via pressable-connect, deploys the probe via base64 encoding, and captures structured output.
# Test single site
python3 fleet_collect.py --test SITE_NAME
# Test SSH access only
python3 fleet_collect.py --test-ssh SITE_NAME
# Run full fleet collection
python3 fleet_collect.py --run
# Parallel collection (recommended)
python3 fleet_collect.py --run --concurrency 3
# Custom site list
python3 fleet_collect.py --run --csv path/to/list.csv
# Resume from specific site
python3 fleet_collect.py --run --start-from 50Analysis engine that parses collected probe output and produces scored reports. Identifies cache breakers, configuration gaps, and optimization opportunities.
# Full analysis
python3 fleet_analyze.py
# Single site deep-dive
python3 fleet_analyze.py --site sitename
# Regenerate report from existing data
python3 fleet_analyze.py --reportOutput:
fleet_data/_analysis.json— machine-readable per-site and aggregate datafleet_data/_fleet_report.md— human-readable findings
- Python 3.9+
- SSH access to Pressable sites via
pressable-connect - WP-CLI available on target sites
- Site list CSV with a
Site Namecolumn
The site list CSV should have at minimum a Site Name column matching the Pressable site identifier:
Site Name,Monthly Uniques
example-site,15000
another-site,50000Collection output is stored in fleet_data/ (one .txt file per site). This directory is gitignored as it contains site-specific data.
The probe detects plugins known to break Batcache caching on Pressable:
| Plugin | Severity | Mechanism |
|---|---|---|
| facebook-for-woocommerce | CRITICAL | Set-Cookie on every page via wc_setcookie() |
| pixelyoursite-pro | CRITICAL | session_start() on every frontend page |
| mailchimp-for-woocommerce | HIGH | Set-Cookie via wc_setcookie() |
| woocommerce-google-analytics-integration | LOW | Set-Cookie (severity TBD) |
| yith-ywar-premium-woocommerce-advanced-reviews | HIGH | Set-Cookie via wc_setcookie() on product pages |
Open issues or PRs for additional diagnostic checks, new cache breaker detections, or analysis improvements.