Onsite Spam Guard
·
Config-driven spam protection for comments, WooCommerce reviews, and Jetpack contact forms — no external services, API keys, or CAPTCHAs.
Onsite Spam Guard blocks spam on the forms your visitors actually use — WordPress comments, WooCommerce product reviews, and Jetpack contact form blocks — without sending anything to a third-party service, requiring an API key, or putting a CAPTCHA in front of your users.
Protection is built from a pipeline of independent guards. Each guard is a small, focused check (a hidden honeypot field, a submit-speed gate, a keyword filter, and so on). Guards run in priority order, and the first one to fail blocks the submission. Every guard can be toggled and tuned from a single settings page, and every block can be logged for review.
Spam guards
- Honeypot — a hidden field that bots fill in but humans never see.
- Duplicate detection — rejects identical submissions sent within a short window.
- Time gate — rejects submissions completed faster than a human could plausibly type.
- Signature — requires a server-signed token proving the form was served by this site, deterring automated cross-site posting.
- Link limit — flags submissions that contain too many URLs.
- Keyword block — rejects submissions matching a configurable blocklist of words or phrases.
- Behavioral analysis (optional) — scores mouse movement, clicks, and time on page to spot bot-like interaction.
Why you might choose it
- No external services. Nothing leaves your site. No accounts, no API keys, no per-submission fees.
- No CAPTCHA. Protection is invisible to legitimate visitors.
- Allowlist. Trusted IPs, CIDR ranges, email addresses, and email domains bypass every guard.
- Logging with retention. Blocked submissions are recorded in a dedicated table with a paginated admin viewer, and old entries are pruned automatically on a schedule you control.
- Privacy-aware. The plugin registers suggested privacy-policy text describing exactly what it records.
- Modern, dependency-free code. PHP 8.2+, vanilla front-end JavaScript (no jQuery), and no runtime third-party libraries.
Works with
- WordPress comments (always).
- WooCommerce product reviews (when WooCommerce is active).
- Jetpack contact form blocks (when Jetpack is active).
