

If you enabled Duplicate Killer’s WooCommerce protection and it “does nothing”, you’re probably using WooCommerce Checkout Blocks.
This is not a bug. It’s a technical difference between Classic Checkout (shortcode-based) and Checkout Blocks (block-based / Store API-based). Below is a simple explanation, plus examples and what you can do.
Duplicate Killer FREE (WooCommerce) supports Classic Checkout only:
[woocommerce_checkout]woocommerce/checkout block)Why? Checkout Blocks submit orders differently (via Store API) and bypass the classic validation flow where FREE hooks in.
Classic Checkout is the traditional WooCommerce checkout page built with a shortcode.
[woocommerce_checkout]
Result: FREE protection works as expected.
Checkout Blocks are the newer WooCommerce checkout system built with Gutenberg blocks.
<!-- wp:woocommerce/checkout -->
Or you’ll see the Checkout block in the editor.
Result: The FREE integration (Classic hook-based) cannot guarantee blocking duplicates here.
Go to:
Pages → Checkout → Edit
[woocommerce_checkout] → you are on Classic CheckoutMany builders replace block-based pages with shortcodes.
For example, replacing Checkout Blocks with:
[woocommerce_checkout]WooCommerce already disables the “Place order” button after a click, but duplicates can still happen in edge cases:
Duplicate Killer focuses on server-side duplicate prevention, so those edge cases are handled even when the UI behaves well.
But the FREE version can only attach to the classic checkout lifecycle.
Situation: Customer clicks “Place order”, network lags, they click again.
With Classic Checkout:
Situation: Same customer, same network lag, but you use Checkout Blocks.
Because Blocks use a different flow:
So you might see:
If you want FREE protection, the simplest approach is:
This is the recommended path for users who want a stable, shortcode-based checkout.
If you want to keep Checkout Blocks (recommended by WooCommerce for modern block-based stores), you need protection that integrates with the Blocks flow.
That’s what Duplicate Killer PRO is for:
WooCommerce has one official Checkout page, but many sites create additional checkout pages (funnels, multilingual pages, landing pages).
In FREE:
In PRO:
WooCommerce helps (e.g., disabling the button), but it cannot control:
A server-side duplicate prevention layer is still valuable.
If your WooCommerce checkout page uses:
[woocommerce_checkout] → Duplicate Killer FREE worksIf you’re unsure which setup you have, open the Checkout page in the editor and look for either the shortcode or the Checkout block.






