What the scan checks

5 min read

Store Maintenance Checklist runs 50 checks across six areas. This page summarises what each area covers and how to interpret severity. For day-to-day use of the UI, see Using the checklist.

Every finding includes a primary action in WooCommerce or WordPress. Optional Further tools links (when enabled) never create a Critical solely because a StoreCrafted product is missing.

Severity guide

SeverityMeaning
CriticalMoney or trust risk (checkout, payments, HTTPS on production, coming soon, unsellable downloads, and similar)
WarningOperational risk (email gaps, stuck orders, queue failures, catalog/shipping gaps)
InfoHygiene and soft nudges (missing images/descriptions, weak From address, Site Health / Status link-outs)

On non-production environments (unless force-production is on), Critical softens to Warning and Warning to Info. See Settings.

Catalog

Product and storefront sellability. Most product-level checks run in Action Scheduler batches and respect catalog bounds.

CheckTypical severityWhat it looks for
Products with missing or invalid pricesCriticalPublished products customers cannot purchase
Variable products with incomplete variation pricesWarningEmpty variation prices
Products missing a featured imageInfoNo featured image
Products missing a descriptionInfoEmpty description after stripping markup
Products missing a short descriptionInfoEmpty short description
Downloadable products missing filesCriticalDownloadable items with no files
Products marked out of stockWarningPublished non-external products with out-of-stock status
Products missing a SKUInfoEmpty SKU on published parents
Duplicate SKUs in the catalogWarningSame SKU on two or more products/variations in the scan
Virtual products still require shippingWarningVirtual + needs shipping
Required WooCommerce pages missing or mis-assignedCriticalCart / checkout / account page settings
Privacy or refunds policy page not publishedWarningAssigned policy pages not published
Checkout page may not be a valid checkoutWarningMissing shortcode/block or mis-assigned page heuristics
Expired coupons still publishedInfoPublished coupons past date_expires

Payments

CheckTypical severityWhat it looks for
No enabled payment gatewaysCriticalZero enabled gateways
Payment gateway in test / sandbox modeCriticalEnabled gateway reporting test/sandbox when detectable
Taxes enabled but no tax rates configuredWarningTax calculation on with zero rates (ops gap only — not tax advice)

Shipping

CheckTypical severityWhat it looks for
No shipping methods configuredCriticalNo methods anywhere (exclusive of empty-zone warnings)
Default / catch-all shipping zone has no methodsWarningEmpty default zone (skipped if “no methods” already fired)
One or more shipping zones have no methodsWarningNamed zones with zero methods
No delivery time messaging for physical shippingInfoNon–local-pickup method without ETA signal; may suggest Expected Delivery Times as a further tool

Email

CheckTypical severityWhat it looks for
Order emails may use a weak From addressInfoAddresses like wordpress@… that often hit spam
Customer “Processing order” email disabledWarningConfirmation email off
Customer “Completed order” email disabledWarningCompletion email off
Customer “Refunded order” email disabledInfoRefund email off
Customer “Cancelled order” email disabledInfoCancellation email off
Admin “New order” email disabledWarningMerchant new-order email off
New order recipient missingWarningEmpty new-order recipient

Primary actions deep-link to WooCommerce > Settings > Emails.

Orders and jobs

CheckTypical severityWhat it looks for
Orders stuck in Pending paymentWarningPending older than 7 days
Orders stuck On holdWarningOn-hold older than 7 days
Orders stuck FailedWarningFailed older than 7 days
Failed Action Scheduler jobsWarningFailed AS actions
Overdue pending Action Scheduler jobsWarningPending actions past their schedule
HPOS compatibility mode still enabledWarningDual-write compatibility mode on
Large volume of aged completed ordersWarning≥ 10,000 completed older than 24 months
Large volume of aged cancelled ordersInfo≥ 5,000 cancelled older than 24 months

Aged-order findings may offer Auto Archive Old Orders for WooCommerce as an optional further tool after core housekeeping.

Order queries use HPOS-safe WooCommerce APIs.

Environment

Commerce-relevant environment checks plus soft link-outs to core screens.

CheckTypical severityWhat it looks for
Site not served over HTTPSCriticalEvaluated on treat-as-production path only
WP_DEBUG_DISPLAY enabled on productionWarningErrors exposed to visitors (production path)
Pretty permalinks are disabledWarningPlain ?p= permalink structure
Store address is incompleteWarningMissing address line 1, city, or postcode
WooCommerce fatal error logs presentWarningNon-empty fatal-errors logs
PHP / WordPress / database / memory below WooCommerce recommendationWarningServer recommendations (PHP below 8.3, WordPress below 6.9, MySQL below 8.0 or MariaDB below 10.6, memory below 256 MB)
WordPress or WooCommerce updates availableWarningCore or WooCommerce update pending
WooCommerce Coming soon mode is enabledCriticalwoocommerce_coming_soon is yes
Store currency or site timezone is unsetWarningEmpty currency or both timezone fields empty
Review Site Health for environment detailsInfoSoft nudge; never scored
Review WooCommerce Status for system detailsInfoSoft nudge; never scored

Broader environment detail still lives in Tools > Site Health and WooCommerce > Status — this plugin links out rather than cloning those screens.

Runners (for operators)

RunnerBehaviour
SyncRuns in the scan-start request (payments, shipping, email, environment, order heuristics, some catalog page checks)
Action SchedulerCatalog product/variation batches in group stmc

One scan at a time. Cancel stops further stmc group actions for the active scan.

Updated on October 9, 2026