The Problem Nobody Talks About
If you’ve ever done WordPress support or troubleshooting, you’ve probably asked a client to send you their WooCommerce System Status report. It’s genuinely one of the best diagnostic tools in the WordPress ecosystem; PHP version, server config, active plugins, database details, all in one place.
There’s just one problem: you need WooCommerce installed to get it.
For e-commerce sites, that’s a non-issue. But for the dozens of non-commerce WordPress sites I manage, installing WooCommerce just for its status report is absurd. It creates 40+ database tables, registers custom post types you’ll never use, and adds weight to a site that doesn’t need any of it. I needed the diagnostic output without the overhead.
Building It
I built WP System Report using Claude Code over the course of a few focused sessions. The goal was straightforward: match the depth of the WooCommerce status report, add some things it doesn’t cover, and do it all without creating a single database table.
Claude Code handled the architecture well. I described the collector/formatter pattern I wanted, and it built out the scaffold. From there, it was iterative: I’d test output, flag what was wrong or missing, and Claude Code would adjust. The whole plugin came together in a fraction of the time it would’ve taken to write from scratch, and the code quality was solid enough to pass PHPCS and PHPStan at level 5 without major cleanup.
Use Cases
The real value shows up in the day-to-day. A client emails about their site being slow; instead of logging in and clicking through three different admin screens, I pull the system report and immediately see that their PHP memory limit is 40M, they’ve got 300+ autoloaded options, and their cron queue has 12 overdue jobs. That’s a five-minute diagnosis instead of a twenty-minute scavenger hunt.
For new client onboarding, the AI export has been especially practical. I download the markdown report, hand it to Claude, and get a prioritized list of what needs attention. It skips the generic advice because the report already includes status indicators, recommended values, and contextual descriptions for each section. I’ve used this to build out initial site audit reports for clients without spending an hour manually cataloging their setup.
The GitHub export is another small thing that saves real time. It automatically redacts server paths and wraps everything in a collapsible <details> block, so when I’m filing a bug report with a plugin developer, I can paste it straight into the issue without scrubbing sensitive info first.
What Shipped
The 1.0 release includes plain text export for support tickets, the GitHub-formatted export with automatic redaction, the AI markdown export, and a full REST API. It supports self-hosted updates via GitHub Releases, so it stays current without needing to be in the WordPress.org repository. The whole thing is extensible through filter hooks; other developers can add custom collectors, modify fields, or plug into the issue detection system.
The plugin ships with 17 data collectors covering everything from PHP configuration and database table sizes to cron health, REST API namespaces, autoloaded options, and filesystem permissions. It goes beyond what WooCommerce reports by including WordPress constants, Site Health results, rewrite rule counts, and disk usage breakdowns. There are also filters for adding more collectors and extending functionality.
No database tables are created, and no other plugins or dependencies are needed to be installed. It’s just one plugin that does exactly what it’s supposed to do.
Get the plugin here: github.com/chrisfromthelc/wp-system-report
