The expensive part of spam is not the spam
Enquiries nobody opens
A form that mostly delivers junk gets read less and less. The message that mattered was in the middle of it, and by the time anyone noticed, the prospect had gone elsewhere.
Forms · Checkout · Analytics WordPress & WooCommerce
Anyone can block spam by making the form hostile. The work is filtering out the bots while the customer who was ready to buy still gets through first time, on a phone, without being asked to prove anything.
Borderline messages are quarantined, never deleted.
Why it is worth fixing
Nobody buys spam protection because the inbox is untidy. They buy it after they add up one of these four, usually the second one.
The expensive part of spam is not the spam
A form that mostly delivers junk gets read less and less. The message that mattered was in the middle of it, and by the time anyone noticed, the prospect had gone elsewhere.
The one that arrives as an invoice
Bots push stolen cards through checkout in tiny amounts to see which ones work. Every attempt costs a gateway fee, and a high decline ratio gets accounts reviewed or suspended.
The one nobody notices
Automated sessions inflate traffic and flatten conversion rate. Then the budget moves toward the channel with the most bots, because on the dashboard it looked like growth.
The one you keep paying
Scrapers and login attempts hit PHP directly and ignore your cache. Plenty of “we need a bigger plan” conversations are really “we have never filtered anything” conversations.
Runs in your browser · nothing is sent anywhere
This is the content-scoring layer, working exactly as it does on a client site. It reads the text, shows every signal that fired and explains what each one means.
The scoring runs on each keystroke, on your machine. There is no request behind it.
Being straight about what this is: content scoring is the cheapest of the five layers and the easiest to fool — a careful human writing a pitch sails through it, and so they should. The layers that do the heavy lifting sit in front of it and never let the request reach your form at all.
How we stop it
No single check is clever enough on its own. The point of the stack is that the expensive decisions only ever run on what is left — and that each layer is honest about what walks past it.
Blocked before WordPress wakes up
A patient attacker on a residential IP, going slowly.
Costs you nothing per request — PHP never runs.
A question only a browser can answer
Solver services with real browsers. Rare, because they cost money.
Invisible to customers — no puzzles, no traffic lights.
Honeypot, timing and one-time tokens
A bot written specifically for your form — which means someone decided you were worth the effort.
No third party sees your visitors — it all runs on your site.
What is actually in the message
A genuine enquiry that happens to read like a pitch. We would rather let that one through than lose it — which is what layer 5 is for.
Tuned to your own inbox, not to a generic word list.
Borderline messages wait instead of vanishing
This layer is not a filter — it is where our own mistakes wait for someone to look at them.
One weekly glance at a quarantine folder that is usually empty.
WooCommerce
On a content site the cost is the enquiry nobody opened. On a store it arrives as a line on the gateway invoice — fees per attempt, held stock, and a processor asking about your decline ratio.
Hundreds of small authorisations against stolen cards. You pay a fee per attempt, and a decline ratio above your processor’s threshold gets the account reviewed.
Automated registrations farm first-order discounts, exhaust limited coupons and leave you with a customer table you cannot email.
Cart and checkout cannot be cached, so every bot request runs PHP and queries the database. This is what falls over first on a busy day.
Competitors pull your whole catalogue on a schedule and undercut you automatically. It also pins your server at a steady load you are paying for.
Product reviews with links, or questions that are really adverts. Both damage the page for customers and for search.
Automated carts hold stock that real buyers then cannot get, especially on limited runs and launches.
Card testing is the one to check today. Open your gateway dashboard and look at the ratio of declined to successful payments over the last month. If declines are climbing and the amounts are small and round, that is not your customers having a bad week.
Pricing
One site per package, and 30 days of tuning included in each — the first two weeks always find a rule that was too strict or too loose against your real traffic.
The inbox is unusable and comments are a link farm.
$240one site, fixed price
WooCommerce: card testing, fake accounts, coupon farming.
$690one store, fixed price
The numbers are wrong and the ad budget follows them.
$290one site, fixed price
Several sites, or a multisite network? Say how many in the form — the rules are largely shared, so the price per site drops quickly.
FAQ
Something not here? Ask it in the form — the reply comes from the engineer who would do the work.
No. Everything we install runs invisibly — a challenge the browser answers on its own, a hidden field a human never sees, and a timing check. Nobody is asked to identify traffic lights. Visible challenges cost real conversions, often more than the spam does.
Forms, comments and registrations on one site is a fixed $240. A WooCommerce store, including card-testing protection on checkout, is $690. Cleaning bot traffic out of your analytics and edge is $290. Prices are fixed before we start.
Akismet is good at comments and we often leave it running. It does not protect checkout from card testing, does not rate-limit your login page, does not stop scrapers, and does not filter bots out of your analytics. Those are four different doors, and Akismet watches one of them.
No. Verified search crawlers are allowed through explicitly, and we check them by reverse DNS rather than by the user agent they claim — which is exactly how the impersonators get caught. Blocking Google by accident is the classic way a bot rule costs more than the bots did.
That is what the quarantine layer is for. Borderline messages are quarantined, not deleted, and someone looks at them. In the first two weeks we tune against your real traffic, because a rule that is right for one site is wrong for the next. If a false positive happens later, you will see it in the quarantine rather than hear about it from the customer.
Two to three working days for forms, comments and registrations. Four to five for a store, because checkout rules are tested against real orders before they go live. Then 30 days of tuning, which is included — the first two weeks always find something the initial rules were too strict or too loose about.
Yes, from server logs rather than from analytics — analytics only sees what executed JavaScript, which is precisely what most bad bots do not do. The gap between your server log and your analytics is usually larger than anyone expects.
SFTP or SSH, a WordPress administrator account, and access to your CDN or DNS if the edge layer is in scope. For a store we also want read access to the payment gateway dashboard, to watch the decline ratio before and after. Create the credentials fresh and remove them when we are done.
Tell us what is getting through
You get a reply with what we would do first, in what order, and what it would take. If you can, keep a few of the spam messages — they tell us more in two minutes than a description does in ten.