Shield Security employs many technical elements to accurately detect malicious bots, and block them.
There is no component that stands alone. Shield uses many signals to build a visitor profile, which is used to inform decisions on whether certain requests (such a WP login, WP Comments) should be allowed.
Weâve struggled internally on finding a good name for this invisible technology. The one we landed on most recently was âADEâ â AntiBot Detection Engine.
That name tells us a little and itâs not immediately clear what itâs referring to. So we needed a name that everyone could instantly grasp.
Introducing: silentCAPTCHA â Shieldâs Defense Against WordPress Bots
We landed on the name: silentCAPTCHA.
Absolutely everyone knows what a CAPTCHA is and what itâs for. So this name immediately demystifies the purpose of our anti-bot system, without ever mentioning âbotâ or âsystemâ or âserviceâ.
But the crucial part is âsilentâ. Everyone gets âsilentâ, and it strikes to the core of our technology. Just like Googleâs Invisible reCAPTCHA and reCAPTCHA v3, silentCAPTCHA is completely invisible to your normal, everyday visitor.
By leveraging the fact that this technology operates only on WordPress, we eliminate the need for any direct user interaction. Thereâs no checkboxes to click, no sums to work out, and no sprawling letters to squint through.
The entire process is silent.
Googleâs reCAPTCHA and CloudFlareâs Turnstile both involve user interruption. And while these technologies are great, theyâre designed for many types of applications, not just WordPress.
Whatâs New In The Latest silentCAPTCHA Apart From The Name?
Since our first release of AntiBot Detection Engine silentCAPTCHA, weâve evolved the system quite a lot to make it more reliable and reduce false positives. Most trouble stems from heavy use of WordPress page caching, which weâve tried many times to work around.
For our upcoming Shield Security release (v20), weâve completely rewritten core components and employed an all-new approach to the bot-challenge.
Our earlier bot challenge was a Javascript-based âobstacleâ, which actually performed surprisingly well. It thwarted the vast majority of bots, and while it performed better than expected, we felt we could go further.
In light of these issues, we set about doing some research to solve the following:
- can we build a more resilient, harder-to-beat challenge for bots?
- can we eliminate the page caching issues that break our Javascript challenge?
#1 Creating A Harder-To-Beat CAPTCHA Challenge For WordPress Bots
As we already mentioned, our original silentCAPTCHA wasnât complex, but it did present a challenge to most bots. We wanted to make the challenge even harder, without interrupting the experience for legitimate visitors.
To achieve this, we landed on the Proof-of-Work principle.
Very simply put, proof-of-work involves presening a computationally intensive challenge to the visitor and asking them to solve it. If they can solve it, then they must include the solution to the challenge in their requests. If they donât, then we can infer that the visitor is a bot, in all likelihood.
Most legitimate visitors will solve this challenge without any issues. Your web browser does all the leg work for you and youâll continue through the site as normal. Bots, however, are built for high throughput â i.e. fire many requests in as little time as possible. If they must spend resources computing the solution to complex challenges, they either wonât be able to do it, or theyâll view it as too costly to bother with.
An important point about bots is this: bots need resources to operate.
Anyone deploying the bots must pay, in some way, for these resources. If increase the cost for running those bots against your WordPress sites, then youâll reduce their impact by discouraging the bots altogether, or slowing them right down.
#2 Eliminate Breakage Caused By WordPress Page Caching
WordPress Page Caching lets you convert a dynamic website to a static website.
When you use page caching, your website is basically converted to static (unchanging) HTML pages which you serve to your visitors. For some WordPress page caching plugins, the actual WordPress subsystem isnât even loaded when the cached HTML is served.
This results in âas-fast-as-possibleâ website speeds. This is super for the user experience, but it will interrupt the dynamic elements of WordPress sites such as forms (login, comments, contact).
Youâd never want to cache WooCommerce checkout pages, for example.
But it isnât just e-commerce sites that provide a dynamic experience. Many plugins provide dynamic content and when you cache the pages, certain elements on the page will break, for various technical reasons.
This problem has plagued our silentCAPTCHA technology, and while weâve mostly solved it, the workarounds can result in additional web requests to the site that wouldnât otherwise be sent if page caching wasnât so aggressive.
Our latest silentCAPTCHA iteration will solve the page caching problem in several key ways:
- Weâve massively improved our Javascript and its interaction with the Shield plugin to reduce the need to send any CAPTCHA requests to the site at all. All new visitors will still need to send the CAPTCHA requests, but theyâre optimised to reduce repeated requests.
- As we mentioned earlier, our 1st version used a basic Javascript challenge that was effective against many bots and weâve kept this in there. Itâs now easier for bots to fire, but it wonât be broken by page caching. The response to this initial request contains the âProof-of-Workâ Challenge that the visitor will need to solve to complete the 2nd stage of the CAPTCHA.
- The âProof-of-Workâ challenge canât be broken by page caching either and this is where the core of our newer bot challenge lies. The fact of whether or not the visitor has completed this challenge is used by Shield to inform its silentCAPTCHA decisions.
In summary, weâve eliminated the page caching problems, and further optimised how visitors are challenged, to reduce number of requests, while at the same time increasing the complexity of the challenge that bots will face.
How Can You Get silentCAPTCHA v2?
Our new silentCAPTCHA will be included in our next ShieldPRO release â version 20. Weâve updated many more things in this release which is why itâs received a new major version, but weâll have more on that in our release announcement coming soon.
As always, if you have any questions about silentCAPTCHA or anything raised in this article, please let us know in the comments below.