WooCommerce extension · store readiness audit
Can your store actually take an order right now?
WooCommerce tells you about your server. WordPress tells you about your site. Nothing tells you about your shop. Preflight rehearses a real purchase, country by country, and tells you exactly where it breaks. It never creates an order, never charges anything and never sends mail.
GPL-2.0 · WordPress 6.0+ · PHP 7.4+ · WooCommerce required · Read only, changes nothing · No account, no API key, no outbound request · HPOS and block checkout declared.

- Read only by design
- No order is ever created
- No mail, ever
- Zero outbound requests
- 47 assertions, all free
- WP-CLI exit codes for CI
The problem
The failures that produce no error at all.
There is a whole class of WooCommerce misconfiguration that generates no error, no log line, no alert and no support ticket. It just quietly stops money arriving, and the merchant finds out weeks later, or never. A shipping zone that exists but has no method. A gateway switched off by a plugin update. A checkout page rebuilt in a page builder that no longer contains a checkout. A variable product whose variations lost their prices, which WooCommerce then shows to customers as out of stock and unavailable. A coupon whose minimum spend sits above its maximum.
Every one of those is invisible from the admin screens, and obvious to a customer, who leaves. Two of them are documented in WooCommerce's own issue tracker as things core has decided not to solve: the false out-of-stock message on unpriced variations (issue #27192, opened 2020) was closed as not planned, and the request for severity triage in the System Status Report (issue #26371, opened 2020) is still open.
Starts safe
Read only by design
Nothing changes, so there is no reason to wait for a maintenance window. The free plugin writes two options of its own and nothing else: no WooCommerce setting, no product, no coupon, no order. The Sell Test rehearses a purchase behind a guard that refuses outbound mail and HTTP and aborts if anything tries to insert an order.
What it does
Preflight, feature by feature.
The Sell Test
A synthetic purchase rehearsal in memory: a real cart, a representative product, then shipping resolution, gateway availability and tax calculation, once per country you sell to. Pass or fail, with the blocking step named.
Shipping coverage map
Every country matched against your zones the way WooCommerce matches them: in order, first match wins. Flags countries no zone reaches, zones with no methods, zones with no regions, postcode-only zones and zone shadowing.
Checkout gate audit
Guest checkout off with no way to register. Terms enforced against an unpublished page. No gateway enabled. A gateway left in sandbox mode. A checkout page that no longer contains a checkout. Block and classic, both.
Unpurchasable products
Nine reasons a published product cannot be bought, each with a direct edit link: no price, no priced variation, out of stock with backorders off, downloadable with no file, hidden but still linked, and more.
Coupon collisions
Eleven ways a coupon can never fire or can cancel another one out: expired, exhausted, minimum above maximum, restricted to products that are gone, free shipping with no method anywhere to unlock.
Triage and WP-CLI
Critical, Warning or Notice on every finding, with a plain-English “what a customer sees” line and a direct link to the setting. wp lb-preflight run exits non-zero on Critical, so a broken store cannot ship.
What each check actually asserts
All five checks run in full in the free plugin, and all of it is read only.
| Check | Asserts | Worst severity | Tier |
|---|---|---|---|
| The Sell Test | Cart, shipping resolution, gateway availability and tax calculation, per country | Critical | Free |
| Shipping coverage | 9 assertions: unreachable countries, method-less zones, region-less zones, postcode-only zones, catch-all fallthrough, shadowing, blank flat rates, shipping disabled with shippable stock | Critical | Free |
| Checkout gates | 14 assertions across payment, accounts, terms, the three WooCommerce pages, store address, currency formatting and checkout flavour detection | Critical | Free |
| Unpurchasable products | 9 reason codes, rolled up per reason with sample products and edit links | Critical | Free |
| Coupon collisions | 11 reason codes, including cross-coupon individual-use clashes | Critical | Free |
| WP-CLI | run and last, table or JSON, configurable failure floor, non-zero exit for CI | n/a | Free |
| Scheduled re-audit with drift alerts | Alerts on state transitions only, with a mandatory cooldown | n/a | Pro |
| Commerce settings change log | 23 watched settings, who changed what and when, with a diff and one-click revert | n/a | Pro |
| Custom rules | Declarative assertions of your own, run as an extra check | you choose | Pro |
| Branded client report | Printable HTML with a print stylesheet and sign-off rules | n/a | Pro |
| Multi-store dashboard | HMAC-authenticated site-to-site reporting into one install you own | n/a | Pro |
| Catalog hygiene sweep | 7 hygiene checks, batched at 200 rows with a 15 second budget | n/a | Pro |
See it in wp-admin
Real screens, no mockup gloss.
Rendered straight from the plugin's own admin UI in a local environment, what you install is what you see.
Inside wp-admin
Report
Every finding triaged, with a “what a customer sees” line and a direct link to the setting.

Inside wp-admin
The Sell Test
Cart, shipping, payment and tax per country, with the blocking step named.





Where it fits
Honest comparisons, category by category.
No named-competitor trash talk, just what each category of tool is good at, and where this plugin earns its keep.
vs. the System Status Report
WooCommerce's built-in report describes what the store is made of: PHP version, memory limit, template overrides, database tables. Preflight describes whether the store can take an order right now. Different question, different answer.
- The report lists everything at the same weight; core's own issue asking for severity triage has been open since 2020.
- It will tell you your WooCommerce pages exist, not that the checkout page no longer contains a checkout.
- Keep using it. Preflight duplicates none of it.
vs. site health checkers
The site-health category works at the WordPress layer: PHP, updates, HTTPS, loopbacks, scheduled events. Useful, and completely commerce-blind.
- A store can score perfectly on site health with no enabled payment gateway at all.
- None of those checks knows what a shipping zone is, so half your advertised countries can be unreachable.
- The two overlap on purpose and run happily side by side.
vs. activity log plugins
An activity log answers “what changed”. Preflight answers “is the current configuration able to take an order”. Those are independent questions.
- A store can have an immaculate activity log and still be unable to sell, because the breaking change was deliberate and months ago.
- Generic loggers record that an option changed; Pro's change log is the commerce-legible half, on 23 named settings.
- Complementary rather than competing.
Pricing
Free plugin. Optional Pro add-on.
The free plugin is on WordPress.org and carries the core promise in full. Pro is a separate add-on, and what sits on each side is listed below in full.
Preflight
All five checks. All forty-seven assertions. The Sell Test in full. Severity triage, the settings links, the WP-CLI command and its exit codes. GPL-2.0, on WordPress.org, no account, no phone-home, works offline.
- The Sell Test, once per country you sell to
- Shipping coverage map, 9 assertions
- Checkout gate audit, 14 assertions
- Unpurchasable products, 9 reason codes
- Coupon collisions, 11 reason codes
- WP-CLI with non-zero exit for CI
Preflight Pro
Continuity, history, scope and workflow, as a separate add-on plugin that extends the free one only through its documented hooks. It unlocks no check that the free plugin pretends to have.
- Scheduled re-audits with drift alerts on state changes only
- Commerce settings change log with diff and one-click revert
- Custom rules of your own
- Branded printable client report
- Multi-store dashboard across sites you own
- Batched catalog hygiene sweep
The free plugin is the whole safety promise and it stays free. Pro is a separate add-on for professional workflow, and the free plugin keeps working exactly the same without it.
The Storm Kit
Pulse, IP Shield, Coupon Fence, Preflight, Dry Run, save $116 vs. buying separately.
- All 5 paid WooCommerce plugins, one license
- Every WooCommerce plugin we ship next, included
- Same 60-day no-quibble guarantee
- Priority answers from the developers
How buying works today: secure online checkout is coming soon. Until it lands, click Buy and tell us which plugin you want, we deliver the plugin zip and an invoice by email within one business day, covered by the same 60-day guarantee.
60-day money-back guarantee
Full refund within 60 days of purchase. No questions, no forms, no hard feelings. If a plugin isn’t the right fit for your store, you shouldn’t pay for it.
The manual lives inside the plugin.
Every install ships a full Help tab in wp-admin, plus these guides in the package:
- Install
- Configuration
- Usage
- The Sell Test
- Every assertion
- Troubleshooting
- FAQ
- Changelog
- Version
- 1.0.0
- Requires
- WordPress 6.0+ · PHP 7.4+ · WooCommerce required
- Tested up to
- WordPress 6.7 · WooCommerce 9.4 · HPOS compatible
- License
- GPL-2.0-or-later · your data stays on your site
Security posture: we build defensive tools, so we hold ourselves to the same bar, no external calls, capability and nonce checks on every admin action, and a direct line for reports at security@lightningbyrd.com. Reports get a human answer within one business day.
FAQ
Straight answers.
Does the Sell Test create real orders?
No, and it is worth explaining how that is enforced. The code path calls no order-creating API: there is no wc_create_order(), no checkout process and no gateway payment call anywhere in the plugin. While the rehearsal runs, a guard is armed that short-circuits outbound mail, replaces the WooCommerce mailer with a no-op, refuses outbound HTTP and aborts the entire run with a logged error if anything tries to insert an order. The cart teardown and session restore run in a finally block, so they happen on success, failure and exception alike.
Will it change my settings to fix what it finds?
No. The free plugin is read only, deliberately. It writes two options of its own, its settings and its last report, and nothing else. There is no code path that writes a WooCommerce setting, a product, a coupon or an order. It shows you what is wrong, tells you what a customer sees, and links you straight to the setting so you can make the change yourself.
Does it send email or phone home?
Neither. The free plugin has no email feature at all: not on activation, not after an audit, not ever. It makes no outbound HTTP request of any kind, so there is no telemetry, no licence check and no update ping. It is fully useful on a store with no internet-facing traffic.
How is this different from the WooCommerce System Status Report?
The System Status Report describes your environment: PHP version, memory limit, template overrides, database tables. Preflight describes your shop: whether the configuration lets a customer complete a purchase. The System Status Report also lists everything at the same weight, which is why core issue #26371, asking for severity filtering, has been open since 2020. Preflight's whole output is severity.
Does it work on a large catalog?
Yes, within a documented cap. The catalog check reads at most the configured number of published products per run, newest first, and stops at its 15 second time budget. The cap and the budget are both stated in the UI, so the number you see is never quietly partial. The paid add-on's hygiene sweep batches across the whole catalog for stores that need the full pass.
Block checkout or classic checkout?
Both. Preflight detects which one the assigned checkout page actually renders, reports it, and raises a warning when the page contains neither, which is the usual symptom of a page builder rendering the form through a widget of its own.
Is it compatible with High Performance Order Storage?
Yes, and it declares compatibility for both HPOS and the cart and checkout blocks. Preflight does not read orders at all in this version, and everything it does read goes through WooCommerce's own APIs rather than raw postmeta.
WooCommerce 11.1.0 added a shipping zone shadowing warning. Does that make this redundant?
It makes one of the forty-seven assertions a second opinion on WooCommerce 11.1.0 and later, and it leaves the other forty-six alone. It is also good news: core shipping a merchant-facing warning of exactly this shape is a strong signal that the category is real. Preflight's shadowing check stays because the stores running older versions are the ones most likely to need it.
What does the paid add-on actually add?
Continuity, history, scope and workflow. Scheduled re-audits that alert only when a finding appears, worsens or clears. A change log of who altered which WooCommerce setting, with a diff and a revert. Your own custom rules. A branded printable client report for handovers. A dashboard aggregating several stores you own, over authenticated site-to-site requests with no third-party service involved. A batched hygiene sweep for large catalogs. It unlocks no check that the free plugin pretends to have.
More from the flock
The rest of the suite.
Each plugin stands alone, together they cover detection, response, prevention, and upkeep.
Pulse
Store monitoring
Know the minute your store stops selling. Order-flow anomaly alerts, checkout and Store API health probes, gateway, cron, and mail watchdogs, inside WordPress, no external service.
Learn more →IP Shield
Fraud & abuse defense
Ban abusive customer IPs before they burn out your payment gateway, one-click bans from the order screen, automatic velocity bans, and a full audit trail.
Learn more →Coupon Fence
Fraud & abuse defense
A firewall for your coupon codes: stop brute-forcing, try-every-code auto-apply behavior, and first-order abuse, with leak-proof signed influencer links.
Learn more →Preflight
Sleep better by tonight.
Install Preflight, watch it in read only by design against your real traffic, and arm it when you've seen the receipts.
