This project is not covered by Drupal’s security advisory policy.

The Spam module provides numerous tools to auto-detect and deal with spam content that is posted to your site, without having to rely on third-party services.

The Spam module provides a trainable Bayesian filter, automatic learning of spammer URLs, flagging of content with an excessive number of links, the ability to create custom filters, and more.

[UPDATE: 1.2 was not correct as some of the hooks would not get defined. More or less, that means some of the functionality would not work properly. Please upgrade to 1.3 to fix the problem. See #1222546: The List of Spam Comments is Broken and #1298480: "Mark as Spam" and "Mark as Not Spam" links for comments going to 404 page. among other similar bug reports.]


When upgrading from version 6.x-1.0 to a newer version (6.x-1.x-dev or 6.x-1.1-beta which is to appear soon) make sure to DELETE your existing version before extracting the new version.

We changed the name of many folders and files and not deleting first will generate all kinds of problems that we're not interested to hear about!

Thank you for your comprehension.


  • Can be used completely independently of any third-party service.
  • Automatically learns and blocks spammer URLs and IPs.
  • Detects repeated postings of the same identical content, or content containing too many links.
  • Can notify the user and/or administrator that content was determined to be spam, preventing confusion over why their content doesn't show up.
  • Allows filtered users to provide feedback when their postings are incorrectly flagged as spam.
  • Provides comprehensive logging to offer an understanding as to how and why content is determined to be or not to be spam.
  • Language-independent: automatically learns to detect spam in any language using Bayesian logic.
  • Supports the creation of custom filters using powerful regular expressions.
  • Written in PHP specifically for Drupal.
  • Highly configurable and extendable (includes hooks for writing custom

Integration with other modules

Currently the following modules are supported:

  • Core: node, comment, user
  • Core: contact module (post 6.x-1.2)
  • Contrib: notifications (post 6.x-1.2)
  • Contrib: private messages (post 6.x-1.2)


The Spam module includes several spam filter modules, all of which work together to determine if a given piece of content is spam. Each module will review the content and return a score between 1 and 99, where 1 means there is a 1% chance that the scanned content is spam and 99 means there is a 99% chance that the scanned content is spam. The Spam module takes a weighted average of all of these scores and assigns a final overall score for the content. Based on this final score, the content may or may not be allowed to be posted on your website.

Further documentation can be found in the module's INSTALL and README files, and on the Spam module handbook page.

Included filters:

  • Bayesian filter - auto-learns, performing statistical analysis on the words in new content
  • Custom filter - regexp/plain text matching.
  • URL limiter - auto-learns spammer websites and blocks content linking to these URLs
  • SURBL - blacklist of URLs that commonly occur in spam (Third Party).
  • Node age filter - treats comments on old content as likely spam
  • Duplicate filter - blocks duplicate posts and bans associated IPs

Project information