Checkout-Safe Updates

Updated

What it helps you do

Keep automatic updates from interrupting a purchase. While WordPress installs a plugin or theme update automatically, it swaps that plugin's or theme's files and shows every visitor "Briefly unavailable for scheduled maintenance" until it has checked the update. A shopper in the middle of checkout at that moment can see that page, an error or a blank page, and in the worst case pay without getting an order confirmation.

With WooCommerce active, Dirigible holds WordPress's automatic plugin and theme updates while anyone is checking out, then lets them install once checkout is quiet. There's nothing to set up.

What happens automatically

  • Checkouts are noticed as they happen. A shopper with items in their cart who opens checkout (the classic page or the Checkout block), or the "Pay for order" page from an invoice email, counts as checking out. So does someone who has just placed an order and is away at their bank's security check, PayPal or Apple Pay, for up to 30 minutes.
  • Automatic updates wait. If WordPress's twice-daily automatic update run finds a checkout in progress, it skips installing plugin and theme updates and tries again 15 minutes later. Checking for updates carries on as usual.
  • Shoppers who leave stop counting. A checkout page left open without being used stops holding updates after about 15 minutes. A finished order (paid, on hold, failed or cancelled) stops counting straight away.
  • Order placement never runs into an update. If an update is moving files at the moment someone presses Place order, the order waits a few seconds and, if the update is still running, the shopper sees "We're finishing a quick site update. Your card has not been charged. Please wait a few seconds and place your order again." No payment is attempted until it's safe.
  • Updates are never put off for long. However busy the store is, updates wait at most 6 hours, then install.

Dirigible keeps no shopper details for this: no names, emails, addresses, IP addresses, cart contents or payment details. Without WooCommerce, updates run exactly as before.

Where to look

  • Dashboard → Updates shows how many checkouts are in progress and which updates are waiting.
  • Install automatic updates now (1 hour) on that screen lets automatic updates install for the next hour even during checkout, for an urgent security fix. Wait for checkouts again turns it back off.
  • The Dirigible site report lists held updates, the time each recent plugin or theme update started and finished, and any orders that were asked to try again.

Things to know

  • Only WordPress's own automatic updates wait. Updates you start yourself install straight away, from Dashboard → Updates, the Plugins or Themes screens, ManageWP, or WP-CLI. Dashboard → Updates tells you when shoppers are checking out, so you can pick a quieter moment. Order placement is still protected during those updates.
  • File uploads and deployments outside WordPress (SFTP, git, your host's tools) aren't seen at all. Avoid them during busy store hours.
  • WordPress core and translation updates aren't held.
  • If you ever need to turn this off, add define('DS_CHECKOUT_GUARD', false); to wp-config.php.

Related settings and guides

Built by Dirigible Studio. Get in touch