Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 17 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,28 @@
# WebDecoy Bot Detection

[![WordPress Version](https://img.shields.io/badge/WordPress-5.6%2B-blue.svg)](https://wordpress.org/)
[![WordPress Version](https://img.shields.io/badge/WordPress-6.1%2B-blue.svg)](https://wordpress.org/)
[![PHP Version](https://img.shields.io/badge/PHP-7.4%2B-8892BF.svg)](https://php.net/)
[![License](https://img.shields.io/badge/License-GPLv2%2B-green.svg)](https://www.gnu.org/licenses/gpl-2.0.html)
[![CI](https://github.com/WebDecoy/wordpress-plugin/actions/workflows/ci.yml/badge.svg)](https://github.com/WebDecoy/wordpress-plugin/actions)

Zero-configuration bot protection for WordPress. Works immediately on activation with no account, no API key, and no external dependencies. Multi-layer detection uses invisible proof-of-work challenges so legitimate visitors are never interrupted.
Detect bots, protect WordPress forms and WooCommerce checkout, and identify AI crawler traffic. Local protection works without a WebDecoy account or API key. Start in monitor mode, inspect the evidence, and test your site before enabling enforcement.

**[Install WebDecoy from WordPress.org →](https://wordpress.org/plugins/webdecoy/)** · [WordPress setup walkthrough](https://webdecoy.com/wordpress/)

## See WooCommerce checkout protection in action

Three rapid synthetic failed orders. The fourth checkout attempt refused. Separate normal offline test orders accepted on both classic and Blocks checkout.

[![Animated excerpt of the controlled WooCommerce test: synthetic failed orders, checkout refusal, and a separate normal test order accepted.](docs/media/woocommerce-checkout.gif)](https://youtu.be/pYzsU-EGO_0)

[Watch the full 48-second demo](https://youtu.be/pYzsU-EGO_0) · [Test details and rollout guide](https://webdecoy.com/blog/woocommerce-bot-protection-checkout-carding-fake-orders/)

*Condensed, sped-up excerpts from an isolated lab: WebDecoy 2.10.6, WooCommerce 11.2.1, WordPress 7.1 and PHP 8.3. The failure gateway never contacts a payment processor; normal orders use an offline gateway. This demonstrates one synthetic failed-order pattern, not a production detection rate or live card-payment test. Use 2.10.6 or newer for the classic checkout load-order fix.*

## Features

- **Zero friction** -- Humans never see CAPTCHAs or challenges
- **Zero configuration** -- Install, activate, done
- **Invisible checks** -- Browser and proof-of-work checks without image puzzles
- **Local protection** -- No WebDecoy account or API key required; review monitor mode and checkout settings before enforcing
- **Multi-layer detection** -- Server-side analysis, client-side fingerprinting, and proof-of-work challenges
- **Good bot verification** -- Reverse DNS verification for Googlebot, Bingbot, and other legitimate crawlers
- **MITRE ATT&CK path analysis** -- Detects admin probing and config file access attempts
Expand All @@ -29,7 +41,7 @@ Zero-configuration bot protection for WordPress. Works immediately on activation

### Manual Installation

1. Download the latest release ZIP from the [Releases](https://github.com/user/webdecoy-wordpress/releases) page
1. Download the plugin ZIP from the [WordPress.org listing](https://wordpress.org/plugins/webdecoy/)
2. Go to **Plugins > Add New > Upload Plugin**
3. Upload the ZIP file and click **Install Now**
4. Activate the plugin
Expand Down
9 changes: 9 additions & 0 deletions docs/media/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# README checkout demonstration

`woocommerce-checkout.gif` is a 960×540, 8fps, approximately 10-second looping excerpt of the published [48-second WooCommerce demo](https://youtu.be/pYzsU-EGO_0). It uses the same WebDecoy-branded, controlled-lab footage; it introduces no new test results.

The source segments are 9–13s, 18–24s, 34–40s and 42–46s, each played at 2× speed. They show three synthetic failures, refusal of the next checkout, a separate accepted offline test order, and the installation CTA. The README labels the excerpt as condensed and sped up and links to the full test scope.

Test setup, observations and limitations: https://webdecoy.com/blog/woocommerce-bot-protection-checkout-carding-fake-orders/

The existing plugin build excludes `/docs`, so the animation is for GitHub documentation and is not added to distributed plugin packages.
Binary file added docs/media/woocommerce-checkout.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading