

The OrderSieve tab under WooCommerce → Settings, with the protection rules, blocked domains, rejection message and junk order cleanup.
Sooner or later every WooCommerce store gets them. Orders from names that are just random letters. A burst of checkouts testing stolen card numbers. Sign-ups from addresses that disappear an hour later. Each one lands in your orders list, sends you an email and throws off your reports.
OrderSieve looks at every checkout before the order is placed and turns away the ones that were clearly not made by a person. The checks run in the background, so your customers check out exactly as before. The recommended settings are on as soon as you activate the plugin, and you can fine-tune them from one settings tab.
OrderSieve requires WooCommerce 8.0 or later.
The shopper sees your rejection message and the order is not placed. On the classic checkout no order is created at all. On the block checkout the check runs before WooCommerce creates a customer account, holds coupons, reserves stock or takes payment. The unfinished order is cancelled and gets a note with the reason, and you are not sent a “Cancelled order” email about it.
With logging on, which is the default, every blocked attempt is logged with the reason, the email address entered and the IP address.
When OrderSieve cannot tell how long a checkout took, for example for a shopper whose cart was started before the plugin was activated, it lets the order through. A lost sale costs more than a stray junk order, so the time check only ever blocks when it is sure.
Tools OrderSieve Logs shows the 100 most recent blocked attempts, with the time, the reason, the email address and the IP address. The same entries are in WooCommerce Status Logs under the source ordersieve, whether WooCommerce writes its logs to files or to the database. From the logs screen you can clear the log or run the junk order cleanup straight away.
Blocked block-checkout orders stay in your orders list as cancelled. If you would rather not keep them, turn on the cleanup. Once a day, through WooCommerce’s Action Scheduler, it deletes orders that OrderSieve blocked and that are older than the number of days you choose, up to 50 per run. Orders OrderSieve did not block are never touched, including ones you cancelled yourself. The cleanup is off by default.
Everything lives on one tab under WooCommerce Settings OrderSieve:
Filters let you add domains to the block list, change the rejection message, or skip the time check, for example on a store that relies on one-click express payments. An action fires on every blocked attempt, so you can count attempts or alert someone. The available hooks are listed in the FAQ below.
OrderSieve runs entirely on your own server. It does not call out to any service, load anything from a CDN, collect usage data or set cookies of its own. The time check stores one timestamp in the shopper’s existing WooCommerce session. When an attempt is blocked and logging is on, the reason, the email address entered and the IP address are written to your WooCommerce logs, where they stay on your server and follow your WooCommerce log retention setting. Suggested text for your privacy policy is added under Settings Privacy Policy Guide.
When you delete the plugin it removes its settings, its scheduled cleanup and its log entries.