A blocked spam submission is fine. A blocked real customer message, registration, or order is a different problem.
This is where Must-Have Captcha needs more than detection alone. You also need a clean way to review what happened, decide whether the block was correct, and recover legitimate submissions when needed.
In this guide, we will set up Must-Have Captcha for safe review, inspect blocked requests, and replay valid submissions so your WordPress forms stay protected without becoming a black hole for real users.
Step 1: Install Must-Have Captcha and confirm it is active
If you have not installed the plugin yet, start there. Must-Have Captcha works immediately after activation, so you do not need a long setup before it starts protecting forms.
- Log in to your account and download the
must-have-captcha.zipfile. - In WordPress admin, go to Plugins > Add New.
- Click Upload Plugin.
- Select the ZIP file and install it.
- Activate the plugin.
- Open the plugin settings screen and confirm the plugin is enabled and running with the default protection level.
By default, the plugin can protect common WordPress surfaces like comments, login pages, registrations, Contact Form 7, and WooCommerce checkout. It does this without adding visible puzzles or checkboxes.
If you want the broader feature overview while following along, see the Must-Have Captcha product page.
Step 2: Set a sensible starting protection level
Before you review blocked requests, make sure your baseline settings fit the site. If the protection level is too strict too early, you may create avoidable false positives.
- Open the Must-Have Captcha settings in WordPress admin.
- Find Protection Level.
- Choose one of these starting points:
- Basic for personal blogs or low-traffic sites.
- Normal for most business sites.
- Strict for high-spam or ecommerce sites.
- Leave Honeypot enabled.
- Decide whether to enable Logged In Users bypass.
Our usual recommendation is to start with Normal. In practice, it gives most sites a good balance between blocking automated junk and avoiding friction for legitimate visitors.
The honeypot matters too. It adds an invisible field that humans never interact with, but bots often do. If a bot fills that field, the request is immediately treated as suspicious.
Step 3: Turn on the settings that make review easier
The real value of a review workflow is not just blocking bad traffic. It is being able to inspect patterns over time.
- In the settings page, find Summary Reports.
- Set the frequency to Daily or Weekly.
- Find Expiry.
- Choose how long to keep blocked requests:
- 1 week for most sites.
- 1 month if you want more review time.
- Keep forever only if you truly need long-term storage.
- Optional: enable Custom 403 Page and choose a WordPress page if you want a branded blocked-submission screen.
For most sites, Weekly summaries and 1 month retention are a practical starting point. That gives you enough history to spot recurring attacks without letting the blocked-requests table grow forever.
If privacy and cookie handling matter on your site, Must-Have Captcha keeps protection on your server and stores a signed interaction cookie. If you also use Must-Have Cookie, we automatically mark that cookie as essential so protection still works before consent.
Step 4: Review blocked requests in the dashboard
Once the plugin has been running, the next step is learning how to inspect a blocked submission properly.
- Go to the Blocked Requests tab in the plugin dashboard.
- Filter or search the list if you are looking for a specific event.
- Open a blocked request and review these fields:
- URL
- Type
- IP
- Score
- User Agent
- Date
- Form Data
- Request Headers
A low score usually means the request looked more suspicious. That could come from missing interaction signals, spammy POST patterns, suspicious URLs, or IP-based rules.
The important part is context. A blocked comment full of spam keywords is one thing. A blocked contact form from a real prospect is another. The dashboard helps you separate those cases instead of guessing.
Step 5: Replay a legitimate submission
One part of this feature we like is that you do not have to lose a real submission just because it was blocked once.
- In Blocked Requests, click View Details on the request you want to inspect.
- Read the submission carefully and confirm it is legitimate.
- Click Accept.
- Let Must-Have Captcha process the request as if it had just been submitted.
This is especially useful for:
- contact form inquiries
- customer registrations
- WooCommerce-related submissions
- other non-sensitive form workflows
There is one important limitation. Requests with masked sensitive data cannot be replayed, because we do not store that sensitive information in the database in the first place. That is intentional.
In other words, replay is there to recover genuine submissions, not to create a risky full-copy archive of sensitive form traffic.
Step 6: Reduce repeat false positives without weakening the whole site
If you notice a pattern in blocked legitimate requests, do not rush to lower protection globally. It is usually better to make a targeted adjustment.
- Identify what the blocked requests have in common:
- same URL
- same AJAX action
- same POST field pattern
- same trusted IP range
- Decide whether the issue needs a one-off recovery or an ongoing exception.
- If it is ongoing, use a focused adjustment instead of changing the site-wide level.
A common developer-friendly option is the mhcaptcha/threshold filter. For example, you might allow a more lenient threshold for a trusted AJAX action:
add_filter('mhcaptcha/threshold', function($threshold) {
if (defined('DOING_AJAX') && $_POST['action'] == 'my_whitelisted_ajax_action') {
return 15;
}
return $threshold;
});
This matters because the point is not to make your whole site softer. The point is to fix one workflow that is being judged too harshly.
If you want to explore more filters and hooks, our Must-Have Captcha documentation has the available options.
Step 7: Build a simple maintenance routine
Once the initial setup is done, keeping the system healthy is straightforward.
- Check summary emails on the schedule you chose.
- Review the Blocked Requests list when you see a traffic spike or hear about a missing submission.
- Replay valid requests when needed.
- Watch for recurring patterns before changing settings.
- Keep your license connected so the plugin can receive updates and cloud-based protection rules.
Done properly, this becomes a calm admin workflow. You are not asking users to solve visible CAPTCHA challenges, and you are not left blind when a legitimate request gets blocked.
Take-home message
Must-Have Captcha is not just about stopping bots at the door. It is also about giving you enough visibility and control to recover when a real request gets caught in the net.
If you run WordPress forms where missed submissions matter, set up the review workflow early: sensible protection level, retained logs, summary emails, and replay for legitimate requests. Then, if you need to tune edge cases, do it with targeted adjustments instead of weakening the whole site.
If you want to try it on your own site, take a look at Must-Have Captcha and see how it fits into your broader form protection setup.