WooCommerce Uptime Monitoring: How to Monitor Your Online Store for Downtime

WooCommerce powers a third of all online stores, but its WordPress foundation makes it uniquely vulnerable to downtime. Here's how to monitor what matters.

Written by Timothy Bramlett ยท

WooCommerce powers roughly a third of all online stores worldwide. That's over 4.5 million live stores processing real transactions every day. But WooCommerce has a problem that Shopify stores don't: it runs on WordPress. That gives you complete control over your store, but it also means you're responsible for the infrastructure, the plugins, the database, and every potential failure point in between.

The average WooCommerce store runs 25 to 35 active plugins. Each one can conflict with another, exhaust PHP memory, or break silently after an update. WooCommerce adds 23+ custom database tables to WordPress, and as your order count grows, those tables bloat and queries slow down. Your checkout page depends on AJAX endpoints, REST API calls, and payment gateway connections that can fail independently of your homepage.

Standard uptime monitoring checks if your homepage returns HTTP 200. But for a WooCommerce store, the homepage loading fine while the checkout is broken is one of the most common (and most expensive) failure modes. This guide covers what WooCommerce store owners actually need to monitor and how to set it up.

Why WooCommerce Stores Go Down

WooCommerce inherits all of WordPress's failure modes (plugin conflicts, PHP memory exhaustion, database errors) and adds its own on top. For WordPress-specific issues, see our WordPress uptime monitoring guide. Here are the WooCommerce-specific causes.

1. Plugin and Extension Conflicts

WooCommerce's ecosystem includes 765+ official extensions and thousands of third-party plugins. When extensions conflict with each other, with your theme, or with a WooCommerce core update, the results range from broken checkout buttons to complete white screens.

This isn't hypothetical. In April 2025, the WooCommerce Stripe Payment Gateway 9.4.0 update introduced excessive API calls to Stripe, causing rate limiting that slowed admin dashboards and temporarily broke payment methods across thousands of stores. A separate WooCommerce Services plugin update triggered fatal autoloader errors that took down thousands of WordPress sites entirely.

2. Database Overload

This is WooCommerce's biggest architectural weakness. WooCommerce historically stored orders and products in WordPress's wp_postmeta table using an Entity-Attribute-Value model. Each product generates roughly 29 rows in wp_postmeta. A store with 10,000 orders can have 300,000+ rows just for order metadata.

Once wp_postmeta grows past a million rows, queries become noticeably slow. Store owners report 30+ second load times on the orders page and report generation timing out. During traffic spikes (Black Friday, flash sales), database connections hit their ceiling, and pages display "Error establishing a database connection."

WooCommerce's newer High-Performance Order Storage (HPOS) feature addresses this by moving orders to dedicated tables, but many stores haven't migrated yet.

3. Payment Gateway Failures

Your storefront can be perfectly functional while payments silently fail. Common causes: expired gateway API keys, misconfigured webhook URLs between Stripe/PayPal and WooCommerce, currency mismatches, and gateway plugin bugs. The May 2025 Stripe Gateway 9.5.0 update caused excessive network requests to Stripe's API, triggering checkout failures across many stores until a hotfix was released.

The checkout AJAX endpoint ?wc-ajax=checkout is where the actual order is placed. If this endpoint returns a 500 error or a 403 Forbidden, no orders go through. But your homepage, product pages, and even the checkout page itself can all look perfectly fine.

4. PHP Memory Exhaustion

WooCommerce is resource-heavy. The official minimum recommendation is 256MB of PHP memory, but many hosts default to 64MB or 128MB. WooCommerce blocks won't load when memory is too low, product syncs fail, and complex pages (large catalogs, variable products with many options) trigger fatal errors. Page builders like Elementor or Divi running alongside WooCommerce compound the memory pressure.

5. Action Scheduler Backlogs

WooCommerce uses the Action Scheduler for background tasks: subscription renewals, email queues, product syncs, analytics processing, and more. It depends on WP-Cron, which only fires when someone visits the site. On low-traffic stores, tasks pile up. When they finally execute, the sudden burst of database activity can crash the site.

Security plugins (Wordfence, Sucuri) can also block the loopback requests that Action Scheduler depends on, causing tasks to fail repeatedly. A healthy Action Scheduler has zero failed actions and minimal past-due items. A backlog of hundreds of past-due actions is a ticking time bomb.

6. REST API Failures

WooCommerce's block-based checkout (the default since WooCommerce 8.3+) relies heavily on the WordPress REST API. If /wp-json/ is blocked by a security plugin, hosting firewall, or broken .htaccess rules, the entire checkout process breaks. The checkout page may load, but clicking "Place Order" does nothing.

The Silent Checkout Failure Problem

Here's the scenario that costs WooCommerce store owners the most money: your homepage loads fine, your product pages work, customers can add items to their cart, but the checkout fails. No orders come through. You don't notice for hours because the site looks "up."

This happens because WooCommerce's checkout depends on a chain of components, and each link can break independently:

  • The checkout page loads (HTML renders fine from cache or PHP)
  • But the AJAX call fails (?wc-ajax=update_order_review returns 403, disabling the Place Order button)
  • Or the payment gateway rejects (expired API keys, Stripe rate limiting, PayPal misconfiguration)
  • Or the REST API is blocked (security plugin update locked down /wp-json/)
  • Or a plugin conflict breaks the form (JavaScript error from a third-party plugin prevents form submission)

Standard uptime monitoring that checks your homepage for HTTP 200 will report "all clear" during all of these scenarios. To catch silent checkout failures, you need to monitor more than just the homepage.

Real impact: 62% of customers never return after a failed payment experience

A broken checkout doesn't just cost you the immediate sale. Research shows that 62% of customers who experience a payment failure never come back to try again. If your checkout is broken for 3 hours on a busy day and 200 customers attempted to purchase, you've likely lost 124 of them permanently.

What to Monitor on a WooCommerce Store

Here are the specific URLs and endpoints that tell you whether your WooCommerce store is truly healthy.

1. Your Homepage

Monitor https://yourstore.com/ for HTTP 200. This is your baseline. It catches total server outages, DNS failures, and expired SSL certificates. But remember: a 200 response on the homepage tells you almost nothing about checkout health.

2. The Checkout Page

Monitor https://yourstore.com/checkout/ for HTTP 200. The checkout page is dynamically generated (never cached) and exercises the database, session handling, and payment gateway connections. If this page fails while the homepage works, you've caught a WooCommerce-specific issue.

3. The Cart Page

Monitor https://yourstore.com/cart/. The cart page exercises WooCommerce's session handling and app integrations. Discount plugins, upsell tools, and custom field extensions can break this page independently.

4. The REST API

Monitor https://yourstore.com/wp-json/. If the REST API is down, the block-based checkout is completely broken. This endpoint requires PHP, database, and full WordPress bootstrap to respond. It's a stronger health indicator than the homepage.

5. My Account Page

Monitor https://yourstore.com/my-account/. This is the customer portal for order history, account details, and downloads. If this page is broken, existing customers can't track their orders, and returning customers can't log in.

URL What It Tests Priority
/ Server, DNS, SSL, basic reachability Essential
/checkout/ WooCommerce checkout, sessions, payment Essential
/wp-json/ REST API, PHP, database, plugin loading Essential
/cart/ Session handling, cart app integrations Recommended
/my-account/ Customer portal, authentication system Recommended

The Revenue Impact of WooCommerce Downtime

WooCommerce stores range from small side businesses to operations doing millions in annual revenue. The downtime cost scales accordingly.

Formula: Daily Sales / 1,440 = Revenue Lost Per Minute

Monthly Revenue Per Hour Down 3 Hour Outage BFCM Day (3x)
$5,000/mo $7 $21 $63
$25,000/mo $35 $104 $313
$100,000/mo $139 $417 $1,250
$500,000/mo $694 $2,083 $6,250

These are direct revenue losses only. The hidden costs add up fast: wasted ad spend (paid campaigns still running to a broken checkout), SEO damage (Googlebot encountering 500 errors), customer trust damage, and support tickets. With WooCommerce's baseline cart abandonment rate already at 70 to 75%, a broken checkout pushes that number even higher. For more on the broader business impact, see our guide on why uptime monitoring matters.

WooCommerce Health Checks (Internal Diagnostics)

External monitoring catches downtime from the outside. These internal checks help you diagnose and prevent issues from the inside.

WooCommerce System Status

Go to WooCommerce > Status in your admin panel. This page is more detailed than the WordPress Site Health screen and shows WooCommerce-specific information: database table health, active extensions and compatibility, API status, currency and tax settings, and error logs. Check this after every major plugin update or when something feels off.

Action Scheduler Status

Go to WooCommerce > Status > Scheduled Actions. This shows pending, completed, and failed background tasks. Key indicators:

  • Healthy: Zero failed actions, past-due actions less than a day old
  • Warning: A few failed actions, growing backlog of pending tasks
  • Trouble: Hundreds of past-due actions, repeated failures, tasks piling up

WP-CLI Commands

If you have SSH access, these commands give you a quick health snapshot:

# Check WordPress core integrity
wp core verify-checksums

# List plugins with update status
wp plugin list --fields=name,status,update,version

# Check database integrity
wp db check

# View WooCommerce tools
wp wc tool list

# Clear WooCommerce transients
wp wc tool run clear_transients

# Check cron events
wp cron event list

WooCommerce Logs

Go to WooCommerce > Status > Logs. Logs are organized by source. The most important ones to review:

  • fatal-errors: Any fatal PHP error that WooCommerce caught
  • Your payment gateway logs (e.g., wc-stripe, wc-paypal): Payment failures, API errors, webhook issues
  • action-scheduler: Background task failures and timeouts

Internal checks + External monitoring

Internal health checks (WooCommerce Status, Action Scheduler, logs) are great for diagnosing problems, but they can't alert you when the server is down. You need to be logged into wp-admin to see them. External monitoring from Notifier checks your store from the outside and sends you an alert the moment something breaks, whether you're at your desk or not.

How to Set Up WooCommerce Monitoring (Step by Step)

Step 1: Create Your Account

Sign up at notifier.so/register. The free plan gives you 10 monitors, enough to cover all critical WooCommerce URLs.

Creating a Notifier account

Step 2: Add Your Essential Monitors

Add monitors for your three most critical URLs:

  1. Homepage: https://yourstore.com/
  2. Checkout page: https://yourstore.com/checkout/
  3. REST API: https://yourstore.com/wp-json/
Adding a WooCommerce monitor

Step 3: Add Cart and My Account Monitors

Add monitors for /cart/ and /my-account/. These catch WooCommerce session and authentication issues that the homepage and checkout monitors might miss.

Step 4: Configure Alerts

For an e-commerce store, email alerts alone are not fast enough. Add SMS or phone call alerts so you're notified immediately when your checkout goes down. During a sale or ad campaign, finding out 30 minutes late that your checkout is broken is 30 minutes of lost revenue. Notifier includes SMS and phone calls on all paid plans with no per-message fees.

Alert notification options

Step 5: Fix WP-Cron

While you're setting up monitoring, fix the unreliable WP-Cron system that Action Scheduler depends on. Add this to wp-config.php:

define('DISABLE_WP_CRON', true);

Then set up a real server cron job:

*/5 * * * * wget -q -O /dev/null https://yourstore.com/wp-cron.php

This ensures WooCommerce's Action Scheduler processes tasks reliably, preventing backlogs that can crash your store.

WooCommerce Caching Mistakes That Cause Downtime

Caching is essential for WooCommerce performance, but caching the wrong pages breaks your store in ways that look like downtime.

Pages You Must Never Cache

URL Pattern What Breaks If Cached
/cart/* Customers see wrong items, quantities, and totals
/checkout/* Stale form data, payment failures, orders placed for wrong customer
/my-account/* Customer A sees Customer B's order history and personal data
/wc-api/* Payment gateway callbacks fail silently
?wc-ajax=* Cart updates, coupon application, and checkout all break

Leading caching plugins (WP Rocket, FlyingPress) auto-exclude these pages. But CDN-level caching (Cloudflare, Fastly) often doesn't know about WooCommerce's exclusions. If you use a CDN, make sure it has page rules to bypass cache for these URL patterns and for requests with the _wc_session_ cookie.

Pages Safe to Cache Aggressively

Product pages, shop archives, the homepage, and category pages are safe to cache and benefit greatly from it. Object caching with Redis or Memcached also helps WooCommerce significantly by reducing repetitive database queries.

Frequently Asked Questions

How many monitors do I need for a WooCommerce store?

A minimum of 3 (homepage, checkout, REST API). Ideally 5 (add cart and my-account). Notifier's free plan gives you 10 monitors, which is enough for a WooCommerce store with room to spare for a status page or additional endpoints.

Can I monitor WooCommerce's AJAX checkout endpoint?

Monitoring ?wc-ajax=checkout directly requires a POST request with valid form data, which standard uptime monitors can't do. However, monitoring the /checkout/ page and the /wp-json/ endpoint together catches the vast majority of checkout failures, since most failures are caused by page-level errors or API issues rather than the AJAX endpoint itself.

What PHP memory limit does WooCommerce need?

WooCommerce officially recommends 256MB minimum. Many hosting providers default to 64MB or 128MB, which is not enough. You can increase it by adding define('WP_MEMORY_LIMIT', '256M'); to your wp-config.php, but your hosting provider must also allow this limit.

Should I use a WordPress monitoring plugin instead?

No, not as your primary monitoring. A plugin running on your WordPress site cannot alert you when the server is down, which is exactly when you need alerts most. Use external monitoring for real-time alerts and WordPress's built-in tools (WooCommerce Status, Site Health) for internal diagnostics. For a detailed comparison, see our WordPress monitoring guide.

What is HPOS and should I enable it?

High-Performance Order Storage (HPOS) moves WooCommerce orders from the bloated wp_postmeta table to dedicated custom tables. This significantly improves database performance for stores with many orders. It's available in WooCommerce 8.2+ and is the default for new stores. If you're running an existing store, test it in a staging environment first, as some extensions may not be compatible yet.

My WooCommerce store keeps going down. Where do I start?

First, set up monitoring to establish a pattern: does it crash after plugin updates? During traffic spikes? At the same time each day (could be cron-related)? Then check WooCommerce Status for database issues, review Action Scheduler for backlogs, and check your PHP memory limit. For a broader troubleshooting guide, see our article on why your website keeps going down.

Monitor Your WooCommerce Store for Free

10 monitors, 5 status pages, no credit card required. Know the moment your checkout goes down.

Start Monitoring Free
Timothy Bramlett

Written by

Timothy Bramlett

Founder, Notifier.so

Software engineer and entrepreneur building tools for website monitoring and uptime tracking.

View author profile