Ban Hammer


We’ve all had this problem: a group of spammers from are registering to your blog, but you want to keep registration open. How do you kill the spammers without bothering your clientele? While you could edit your theme’s functions.php and block the domain, once you get past a few bad eggs, you have to escalate.

Ban Hammer helps you do that by preventing unwanted users from registering.

On a single install of WordPress, instead of using its own database table, Ban Hammer pulls from your list of prohibited emails from the Disallowed Comment Keys feature, native to WordPress. Since emails never equal IP addresses, it simply skips over and ignores them.

On a network instance, there’s a network wide setting for banned emails and domains. This means you only have one place to update and maintain your blocked list. When a listed user attempts to register, they get a customizable message that they cannot register.

For advanced documentation, including how to use on WooCommerce, please visit the Ban Hammer Wiki.

Privacy Policy

This plugin does not track data outside of what WordPress already collects. It utilizes the submitted email address to validate the domain and compares it to the list of prohibited domains and emails. No additional data is processed.


Ban Hammer is a very weird fork of Philippe Paquet’s No Disposable Email plugin. The original plugin was a straight forward .dat file that listed all the bad emails (generally ones like mailinator that are disposable) and while Ban Hammer doesn’t do that, this would not have been possible without that which was done before.

Many thanks are due to WP-Deadbolt, for making me think about SQL and TTC for StopForumSpam integration. MASSIVE credit to Travis Hamera for the StopForumSpam/cURL fix! And then props to Helen Hou-Sandí for not using curl at all. Protip? Use WP_http instead!


  • Default Error message
  • Admin screen
  • Ban Hammer Users


Single Install

After installation, go to Tools > Ban Hammer to customize the error message (and banned emails, but it’s the same list from your comment moderation so…).


After installation, go to Network Admin > Settings > Ban Hammer to customize the error message and banned email list. This will ban users network wide.


If I change the Blocklist via Ban Hammer, will it change the Disallowed Comment Keys?

On single site installs, yes. They are the exact same list, they use the same fields and they update the same data. The only reason I put it there was I felt having an all-in-one place to get the data would be better.

Does this list the rejected registers?

No. Since WordPress itself doesn’t list rejected comments, the rejected users are similarly lost forever.

Where did Stop Forum Spam go?

This plugin no longer uses Stop Forum Spam. If you need that feature, please use Stop Spammer Registrations instead. They did it way better.

Does this work on MultiSite?

Yes it does, but a little differently If you’re using multisite, instead of pulling from the Disallowed Comment Keys (which is per site), you have a separate list off Network Admin -> Settings. This is because you only want to have the network admins determining who can register on the network.

Does this work on BuddyPress?

Currently yes.

Does this work on WooCommerce?

You have to make your own hook because WooCommerce doesn’t use the normal registration functions. Don’t panic. I have directions here.

Can I block partials?

Yes but not wildcards. If you put in viagra for example, you will block and so please use this carefully. If you put in cookie then you’ll block and everyone would be sad.

If you want to block everyone from all subdomains (like then you can block and that will block all the subdomains.


19 October 2020
I have been flooded with sign ups from fake, disposable email addresses recently and this plugin has put an end to that! Every time one slips through the net, I simply add the spam email domain to the Ban Hammer list and it prevents future registrations from that domain.
27 August 2020
This plugin does an outstanding job of minimizing spam registration attempts. And the ability for Webmasters to very easily and quickly adjust which terms will not be allowed to be used during registration really great! No website should be without this. Many thanks Mika Epstein.
30 September 2019
I've tried using this plugin for at least a year but it continues to allow blocked emails from registering.
13 August 2019
I've installed it, tested it, and it works for me. Thank you Mika! It needs a filter added to your functions file in order to work with WooCommerce. This may also be the case if you have other plugins or themes that over-ride the normal WP registration process. Example code for the WooCommerce case is provided in the documentation.
1 January 2019
It needed some time for a strange reason but no new registrations yet from so it works great. Unfortunatly I can only give it one star. I have installed it and filled in the domain and saved but the registrations from that domain keep on comming in. If other plugins prevent this plugin from functioning please let me know.
Read all 31 reviews

Contributors & Developers

“Ban Hammer” is open source software. The following people have contributed to this plugin.


“Ban Hammer” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Ban Hammer” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change log


  • August 2020 by Ipstenu
  • Typo fixed. Saving works. My bad!


  • August 2020 by Ipstenu
  • Compatibility with 5.5
  • Corrected deprecation of blacklist_keys (it still falls back for older WP)