The Akismet alternative for sites that aren't only WordPress
Akismet has filtered WordPress comment spam for a very long time. If your forms live on Webflow, Framer, Next.js or your own backend, or you want to know why something was blocked, Doorman is built for that.
Free for 1,000 checks a month. Paid plans from $12. No card required.
Example: Doorman screening contact form, each judged in under half a second and delivered or kept out with the reason.
Sound familiar?
WordPress-first
Akismet is best as a WordPress plugin. Elsewhere you integrate its API yourself.
True or false, no reason
The API answers spam or not spam. When a real lead is caught, you don't find out why.
Few checks per dollar
Commercial plans start at 500 checks a month for $9.95.
Doorman and Akismet, side by side
| Question | Doorman | Akismet |
|---|---|---|
| What it checks | What the submission says, against what you sell | The content and metadata, against Akismet's network |
| Why something was blocked | The exact sentence | No reason: spam or not spam |
| Unsure submissions | Held and forwarded to you, never lost | No middle ground |
| Where it works | Any stack: a form URL or one API call; agents set it up | Best as the WordPress plugin; an API elsewhere |
| Price | Free for 1,000 checks a month, commercial use included; Pro $12 for 25,000 | Personal is pay what you can, non-commercial; Pro $9.95 a month (yearly) for 500 checks, Business $49.95 for 5,000 |
Their plans and behaviour as published on their own sites, checked 29 September 2026. Sources: akismet.com/pricing, akismet.com/developers/detailed-docs/comment-check.
Which one is right for you?
Choose Doorman if
- Your site isn't WordPress, or not only WordPress
- You want the reason for every decision
- You get enough traffic that 500 checks a month won't do
- You want contact, sign-up and checkout forms covered, not just comments
Choose Akismet if
- You run a WordPress site and want a one-click plugin
- It's a personal, non-commercial blog and pay-what-you-can suits you
- Comment spam is your only problem
Switch in two minutes
- From your server: replace the Akismet call with one doorman.check call; act on deliver, hold or drop.
- Or no code: point the form's action at your Doorman URL and it forwards the real ones to you.
- Or ask your agent: copy one prompt into Claude Code, Codex or Cursor and it does the swap.
- Start safely: watch mode delivers everything for a week and tags what it would have dropped.
const r = await doorman.check({ form: "f_yourForm", email, name, message });
// r.action: "deliver" | "hold" | "drop"
// r.evidence: "We can fix your local SEO in 30 days, guaranteed."Checked, not guessed
Every decision comes from Doorman's models reading the submission, in milliseconds, with the reason attached.
Labelled test set: 104 invented but labelled contact-form and checkout submissions, judged live; latency is the median of those checks. Questions were not tuned to the set.
Questions
Does Doorman have a WordPress plugin?
Not yet. On WordPress you can point a form plugin's webhook or a plain HTML form at your Doorman URL.
Can it moderate comments?
Yes: kind comment keeps promotion, link spam, harassment and threats out, and keeps honest criticism up.
What happens over my plan?
Nothing is dropped: submissions are held and forwarded unjudged, flagged, until the month resets.
How much does it cost?
Free for 1,000 checks a month. Pro is $12 a month for 25,000 and Business is $49 a month for 250,000. Every plan gets the same models. See pricing.
Try it on your own forms
Free for your first 1,000 checks every month. Start in watch mode and see every call before you trust it.