How the checks are organised
Mission Control runs 7 check classes once a day in the background, plus on demand from the dashboard. Each class contributes several sub-checks. The plugin ships 54+ sub-checks in total — the precise current count is 62.
Performance (11 sub-checks)
- Persistent object cache — detects whether Redis, Memcached, or an equivalent is active.
- Time to First Byte (TTFB) — graded good (< 0.6s), warning (< 1.2s), or poor.
- Large homepage images — flags any local image above 250 KB.
- Core Web Vitals (LCP, FID, CLS) — via PageSpeed Insights; cached 6 hours.
- Total page size — warns above 2 MB, fails above 3 MB.
- HTTP request count — warns above 50, fails above 100.
- Render-blocking resources — flags head scripts without async/defer.
- Page caching plugin detection — recognises 11 common caching plugins.
- Browser cache headers — inspects Cache-Control, Expires, ETag, Last-Modified.
- CDN detection — Cloudflare, CloudFront, Akamai, Fastly, jsDelivr, unpkg, cdnjs.
- Lazy loading — native and plugin-based, with coverage percentage.
Security (7 sub-checks)
- Plugin updates available — flags any active plugin with an update available. Honest framing: this is an update-available indicator, not a CVE feed.
- Theme updates available — same heuristic for the active theme.
- Security headers — X-Content-Type-Options, X-Frame-Options, Strict-Transport-Security, Content-Security-Policy.
- File permissions — wp-config.php, .htaccess, and the uploads directory.
- SSL certificate — issuer, validity, days until expiration (warns at ≤ 30 days).
- Mixed content — scans the homepage for http:// resources.
- HTTPS redirect — verifies HTTP redirects to HTTPS with a 301.
SEO (13 sub-checks)
- Discourage search engines flag.
- Missing meta descriptions (Yoast and Rank Math aware).
- Thin content (under 300 words) plus empty category descriptions.
- Readability — average words, sentence length, simplified Flesch score.
- Keyword density — top 10 terms across the 10 most recent posts.
- Heading structure — missing or duplicate H1.
- XML sitemap accessibility and validity.
- robots.txt — existence, sitemap reference, blocking issues.
- Permalink structure — fails on the default
?p=123. - Duplicate content — duplicate titles and meta descriptions.
- Missing image alt text — with affected pages listed.
- Broken external links — sampled from your recent posts.
- Canonical URLs — verifies homepage canonical and a managing plugin.
Store Integrity (14 sub-checks)
- Missing price.
- Missing featured image.
- Out of stock.
- Missing short description.
- Missing long description.
- Uncategorised products.
- Products without tags.
- Missing product gallery (fewer than 3 gallery images).
- Duplicate SKUs across products and variations.
- Variable products without variations.
- Low stock — enriched with 30-day sales velocity and days until stock-out.
- Oversold products — negative stock joined with unfulfilled orders.
- Negative stock products — separate data-integrity view.
- Backorder items — current backorders with quantity and notify flag.
Orders & Payments (5 sub-checks)
- Failed orders — 7-day and 30-day counts, top failure reasons, top gateways, trend.
- Pending orders — total plus any stuck longer than 7 days.
- Payment gateway status — active gateways, test mode, missing SSL.
- Abandoned cart rate — detects 5 abandoned-cart plugins.
- Refund rate — 30-day rate, count, total, and top 5 refunded products.
Environment (4 sub-checks)
- PHP version (warns below 8.0, fails below 7.4).
- WordPress version vs latest core.
- WooCommerce version vs latest WooCommerce.
- Autoloaded options size (warns above 1 MB, fails above 3 MB).
Database (8 sub-checks, always on)
- Database size and the 10 largest tables.
- Expired transients — count and total size.
- Post revisions — count and approximate size.
- Spam and trashed comments.
- Orphaned postmeta.
- Orphaned term relationships.
- Orphaned usermeta.
- Database fragmentation — tables over 10% fragmentation.
