- Home
- Monitoring
- WooCommerce monitoring
WooCommerce monitoring: the shop is up, but can anyone buy?
Watch a product page, the cart, the checkout and your payment webhook endpoint with keyword and status checks, so a broken button is caught before the first missed order.
- 30 monitors free
- No credit card
- Failures confirmed from other regions
- Amsterdam97msfound
- London142msfound
- Keyword“Add to cart” present
- Forbidden“Error establishing” absent
- TTFB55 ms
Illustrative example
Check it now, in your browser
No account. WooCommerce monitoring: type a target and see roughly what it looks at. Nothing you type is stored.
One real request from a Tenium checker. It follows redirects and reads the certificate. Nothing is saved.
The public test checks that the page answers. The keyword rule itself (must contain, must not contain) runs in a saved monitor.
What a woocommerce monitor looks at
Product page keyword
Require "Add to cart" on a product that is always in stock. A theme or plugin update that breaks the button is caught on the next check.
Cart and checkout
Check the /cart and /checkout pages for a word that only appears when they render properly, and forbid the generic error notice.
Webhook endpoint
Payment gateways call back into your site. Watch that endpoint with a wide status range so a 5xx or timeout stands out.
Slow checkout
On Pro, set a slow threshold so a checkout that drags past a few seconds raises a degraded alert.
WooCommerce monitoring: what an alert looks like
The same event arrives as an e-mail, a Telegram message or a Slack card. This is the wording the channels send; the host, times and numbers are made up.
shop.clienta.com
shop.clienta.com · Keyword "Add to cart" missing · confirmed from Amsterdam (AMS), London (LON)
| Error | Keyword "Add to cart" missing |
|---|---|
| Confirmed by | Amsterdam (AMS), London (LON) |
| Since | 14:02:11 UTC |
| Target | shop.clienta.com |
| Next step | Check the server / hosting panel. Acknowledge so the team knows you are on it. |
AcknowledgeOpen incident
<h1>Error establishing a database connection</h1>
Tenium · checked from Amsterdam · 14:02 UTC
Tenium alerts
🔴 DOWN · shop.clienta.com · Keyword "Add to cart" missing · confirmed from Amsterdam (AMS), London (LON)
reply /ack or acknowledge · open incident
TTenium APP 2:02 PM
DOWN · shop.clienta.com
shop.clienta.com · Keyword "Add to cart" missing · confirmed from Amsterdam (AMS), London (LON)
- Error: Keyword "Add to cart" missing
- Confirmed by: Amsterdam (AMS), London (LON)
- Target: shop.clienta.com
AcknowledgeOpen incident
Check the server / hosting panel. Acknowledge so the team knows you are on it. · checked from Amsterdam
WooCommerce monitoring: e-mail, Discord and Google Chat work on every plan; Slack, Telegram, Teams and Mattermost start on Starter. There are no SMS or voice-call alerts.
Response time with a threshold
Every check stores how long the response took. WooCommerce monitoring: drag the threshold and see when a slow-response alert would have fired.
How fast you find out
Pick a plan to see its check interval and how long a failure takes to reach you, including the confirmation round.
WooCommerce monitoring: a failure lands at a random moment between two checks, so on average you wait half an interval, and the worst case is a whole interval plus the confirmation window. A single failing region is not enough: all two regions must agree before an incident opens. The other regions are asked straight away, and we allow up to 60 seconds for the answers.
How to set up woocommerce monitoring in 30 seconds
Pick a canary product
Choose one that is permanently published and in stock, and add it as a Keyword monitor with Add to cart present.
Add the cart and checkout
One Keyword monitor each, with a phrase from the page and the error notice as the forbidden keyword.
Add the payment callback
An HTTP monitor on the gateway callback URL, with expected status 200-499 so only server errors and timeouts alert.
Route alerts to a chat
Telegram and Slack start on Starter. Escalation to a second contact is a Pro feature.
What each error means
This is the text an incident shows in its Error line, the usual cause, and the first thing to look at.
KEYWORDKeyword "Add to cart" missing
The page answered but the phrase is not in it: a cached error page, a half-rendered template, an empty product feed. This is exactly what status-only checks miss.
Shown as: Keyword "Add to cart" missing
KEYWORDForbidden keyword "Error establishing a database connection" present
The error text appeared in the body, usually with a cheerful 200. WordPress and many CMSs do this when the database is gone.
Shown as: Forbidden keyword "Error establishing a database connection" present
BLOCKEDBlocked by WAF challenge (Cloudflare)
A bot challenge replaced the page, so the keyword cannot be found. Flagged as blocked, not down; allow the checker and it clears.
Shown as: Blocked by WAF challenge (Cloudflare)
TIMEOUTTimeout after 15 s
The page never finished. Keyword checks read up to about 1 MB of the body, so a very slow origin fails here before the text is judged.
Shown as: Timeout after 15 s
CERT_HAS_EXPIREDTLS error: certificate has expired
The certificate is no longer valid, so the page cannot be fetched securely. Renew it.
Shown as: TLS error: certificate has expired
WooCommerce monitoring by plan
| Free $0/mo | Starter $7/mo | Pro $29/mo | Agency $59/mo | |
|---|---|---|---|---|
| Available | ✓ | ✓ | ✓ | ✓ |
| Monitors | 30 | 100 | 300 | 1000 |
| Fastest interval | 5 min | 1 min | 30 s | 30 s |
| Regions | 1 | 2 | 2 | 2 |
| Custom headers | — | — | ✓ | ✓ |
| Response-time alerts | — | — | ✓ | ✓ |
| Escalation to a second contact | — | — | ✓ | ✓ |
| Status pages | 1 | 3 | 10 | Unlimited |
Other monitor types
The shop is up and selling nothing
A WooCommerce store can fail in ways a status check never sees. A theme update hides the add-to-cart button. A plugin conflict stops the cart from storing items. The payment gateway keys expire and checkout shows a generic error notice. Webhooks stop arriving and paid orders sit at "Pending payment". Every one of those returns a normal 200 on the home page, and the revenue loss is invisible until someone looks at the orders list. Monitoring a shop is mostly about choosing the pages whose content proves the pipeline works.
Which pages carry the signal
A practical shop set, each as its own monitor:
- Canary product page: a product that is always published and in stock, with "Add to cart" required. Edit the monitor if you ever retire that product.
- Cart page: an empty cart shows WooCommerce's "Your cart is currently empty" message, so requiring that phrase checks that the cart template renders; forbid the generic error notice too.
- Checkout page: Tenium cannot hold a cart across requests, so with an empty cart it will usually be redirected or shown a notice, which still proves the page and the theme load. Keep the expected status range broad (200-399) and require a phrase you see in that state.
- Store API: /wp-json/wc/store/v1/products?per_page=1 returns JSON on recent WooCommerce versions. A JSON API monitor with the path 0.id verifies that products are served from the database through the REST layer, independent of the cache.
- A search or category page, which exercises the database more than the cacheable home page.
Payment callbacks
Gateways notify the shop through a callback URL, often of the form /?wc-api=NAME, and the plugin's settings page shows the exact address. Tenium can only send a GET, and gateways POST signed payloads, so the response you get will usually be an error status of some kind. That is fine: set the expected status to 200-499, which passes any answer that proves PHP is running and fails a 500, 502, 503 or a timeout. What this does not show is whether the gateway can reach you or whether signatures validate, so keep an eye on the delivery log in the gateway's own dashboard as well.
Slow checkout is a cost
A checkout that takes eight seconds loses carts without ever going down. On Pro and Agency you can set a slow threshold in milliseconds, which compares the average of the last three checks with your number and opens a degraded incident when exceeded. Choose the value from your own data: let the monitor run for a week, read the response-time chart, and set the limit around double the usual figure. Remember that checks hit the uncached cart or checkout pages from several regions, so the figure includes network distance.
Scheduled sales, stock and the Action Scheduler
WooCommerce relies on its Action Scheduler for emails, subscriptions, stock reservations and scheduled sale prices. It runs on top of wp-cron, so the advice from WordPress monitoring applies doubly: run it from a system scheduler and attach a heartbeat. If WP-CLI and the Action Scheduler commands are installed, a job like wp action-scheduler run followed by a curl to the heartbeat tells you when the queue stops moving, usually before customers complain about missing confirmation emails.
Sizing, alerts and peak days
Count six to ten monitors per shop: canary product, cart, checkout, Store API, wp-login, callback, SSL / domain and a heartbeat. Starter's 100 monitors cover about 12 shops at eight each, Pro's 300 about 37. Route alerts to somewhere a person will notice: Telegram and Slack start on Starter, and Pro adds escalation if the first message is not acknowledged. Before a big promotion, shorten the interval on the key monitors (1 min on Starter, 30 s on Pro), and schedule maintenance windows for deploys so they do not eat the uptime figure the shop owner sees on the status page.
WooCommerce monitoring questions
Can Tenium place a test order?
No. Checks are single requests that cannot carry a cart between steps, so there is no simulated purchase. The monitors prove that each page and the layers beneath it work, which catches the large majority of breakages.
Does this work with the block-based checkout?
Yes for page-level checks, but the block checkout renders much of its content with JavaScript, so choose a phrase that appears in the server-delivered HTML, or lean on the Store API and cart monitors.
Will page caching fool the checks?
Caching affects the product and home pages, which is why the Store API and cart checks matter. They run PHP and touch the database even when public pages are served from a cache.
Which plan does a small shop need?
Keyword checks are on every plan, so the free plan can already watch product, cart and checkout pages. JSON checks need Starter, which also unlocks SSL and domain expiry. Pro adds the slow-checkout threshold, escalation and custom request headers.
Start woocommerce monitoring free
30 monitors on the Free plan, no card needed, with failures confirmed from other regions (2 regions live today). Upgrade when the client list grows.