Beamfar

Website monitoring for WooCommerce stores: watch the path that makes money

A WooCommerce store fails in ways a home-page check does not see: a cached cart that shows someone else’s basket or none, a checkout that errors, a queue of background actions that has stopped. Watch the path from the catalogue to the checkout: the home page with text, an API request that proves the catalogue loads, the cart and checkout addresses, and a heartbeat for scheduled actions. Beamfar reads any store that answers over HTTP(S) and never places an order.

Beamfar is an independent product. It is not affiliated with, endorsed by, sponsored by or certified by WooCommerce or WordPress or their owners. The names are used only to say which kind of site this page is about, and they belong to their owners.

The path to watch

A store earns money along one path: a visitor opens the catalogue, adds a product, opens the cart, goes through checkout and receives an e-mail. An outside monitor can reach the public parts of that path. It cannot complete a payment, and it should not create orders, so the last steps need other evidence: the gateway’s own dashboard and a test order after each release.

What it can reach is more than the home page. WooCommerce publishes a Store API with “public Rest API endpoints” for cart, checkout and products under /wp-json/wc/store/v1/. The documentation says the Store API “is unauthenticated and does not provide access to sensitive store data”. A request to /wp-json/wc/store/v1/products therefore proves that WordPress, WooCommerce and the database answered, without a login and without touching private data.

What goes wrong on a WooCommerce store

Cached pages that must stay dynamic. WooCommerce’s guidance on caching plugins says the Cart, My Account and Checkout pages should be excluded from the cache, because they show information that belongs to the current customer. A host setting, a caching plugin or an update can put a rule back that caches them. The page still answers 200, so only a check that looks at the page or its timing notices.

Scheduled actions that stop. WooCommerce uses Action Scheduler, a job queue that “will attempt to run every minute” by attaching itself to WP-Cron and also starts a queue from an asynchronous request after an admin request. Because WP-Cron is “only triggered on page load”, a quiet store or a store with cron turned off can leave queued work waiting. Action Scheduler marks an action that runs longer than five minutes as failed. A stalled queue shows up as e-mails that arrive late, not as an error on a page.

A slow checkout. A store can answer every request and still lose orders to a checkout that takes ten seconds. The response time of a page is data, not an outage, so look at it as a trend. Beamfar records DNS, connect, TLS and first-byte times for a page check, shows the 50th and 95th percentile per region and can send a slowdown notice when the time stays above a limit you set.

E-mail that does not arrive. Order e-mails leave through DNS records the store depends on. A change to the SPF, DKIM or DMARC record can send them to spam without any change on the website. See Email stops after a DNS change.

Which checks matter most

CheckWhat it catches hereHow to set it up in Beamfar
Home page with required textThe error screen, an empty theme, a maintenance pageThe page check; require a phrase from the footer
Store API productsThe catalogue not loading, PHP or database trouble behind a cached home pageAn API check: GET /wp-json/wc/store/v1/products?per_page=1, status 200
Cart and checkout addressesA broken page, a redirect to the wrong place, a slow responseAn API check on each address: status 200 and a response-time limit
Heartbeat for scheduled actionsA queue that stoppedA scheduled-task check and a system cron line, as in the WordPress page
Search visibility, certificate, domain, DNSA noindex after a staging copy, an expired certificate, a changed recordAutomatic on every site

Set it up

  1. Add the shop’s host name in the portfolio. Page, certificate and DNS checks start.
  2. Set the page check’s required text to a phrase from the footer.
  3. Add one API check for the Store API products request and one each for the cart and checkout addresses. Expect status 200 and set a response-time limit that matches what the shop owner accepts.
  4. Add the scheduled-task check for the queue. Use a period of five minutes and a grace time of a few minutes, and call the ping URL from the system cron after due events have run.
  5. Put the alert where the person on duty reads it, and agree what a regional issue triggers.

What an outside check cannot see here

It cannot see a payment that fails inside the gateway, stock that is wrong, an order that was never created or a coupon that stopped working. It does not log in, so it cannot read the dashboard’s list of scheduled actions. It also cannot tell a shopper’s basket from an empty one on a cached page. Set the checks above, then test the purchase path by hand after each release and keep the maintenance routine for the rest. For why a page that answers is not proof that it works, read What a 200 response hides.

How Beamfar helps

Beamfar is not a WooCommerce extension and does not know which plugin is active. It calls a store down only when two regions agree and keeps the status code, redirects, certificate and DNS answer in the incident, and it records response times for the checks you add. The page check, API checks with assertions, scheduled-task checks and the site crawl are built. It has been tried on test pages only and has no customers yet.

Questions

Can I monitor a WooCommerce checkout without placing an order?

Partly. An outside check can request the checkout address and the public Store API and test the status and the response time. It cannot complete a payment, so test a purchase by hand after a release.

Why does a WooCommerce store answer 200 and still lose orders?

A cached cart or checkout, a payment gateway error or a queue that stopped does not change the status of the page. Watch the specific addresses, the response time and a heartbeat for scheduled actions.

How often should a store be checked?

Pick the interval from what a minute of downtime costs the shop. Beamfar checks every minute on the paid plans, every 30 seconds on Team and up when you set a check to it; see How often should you check a website.

Do the checks work behind a CDN or a cache?

They see what any visitor sees. A CDN or cache can answer while the application is broken, which is why the Store API request is a useful second opinion.

Sources

Read on . Standards and vendor pages change; confirm the current text before you rely on it.

Terms used in this guide

  • Uptime monitoringUptime monitoring requests a website from outside at intervals and alerts when it fails to answer. What it measures, what it misses and how it is confirmed.
  • Soft 404A soft 404 is a page that looks like an error or is empty but returns a success status. How Google reports it and how to catch error pages that answer 200.
  • HTTP status codeAn HTTP status code is the three-digit number that opens a server response and says how the request went: 2xx success, 3xx redirect, 4xx client error, 5xx server error.
  • Check intervalThe check interval is the time between two uptime checks. How it sets the detection delay, the number of checks and how it interacts with confirmation.

Know first. Know why. Tell your client before they call.

Paste your client list. Both regions start checking.

No card for the trial.