As was discussed in the last dev chat I…

As was discussed in the last dev chat I’ll be posting here periodically about dev changes in the Akismet pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the Plugin Directory or can be cost-based plugin from a third-party since it ships with WP. With version 2.5 of the plugin coming soon (next day or two hopefully) we really want to make sure it is included with WP3.1 when it ships.

And with that, I give you:

Changes in upcoming Akismet WordPress Plugin, version 2.5 compared to version 2.4:

  • New files:
    • admin.php
    • akismet.css
    • akismet.js
    • widget.php

The new files should be reasonably self explanatory. We’ve been breaking out the different functions of the plugin to separate files.

  • Test mode

The test mode provides an additional parameter to APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. calls to let it know that you are only testing and that the API calls should not be used for learning. The test mode is enabled when WP_DEBUG is TRUE or when AKISMET_TEST_MODE is TRUE.

That last part is worth a repeat, when WP_DEBUG is TRUE then test mode is enabled.

  • Spam check history

The plugin now keeps a history for each comment and the interaction with Akismet. The ‘Edit Comment’ screen will display a ‘Comment History’ section with details.

Related to this is an indication on each comment explaining what Akismet did with the comment.

  • Auto retry

When a comment check fails we note that and schedule a cron job to try again later. We found that hosts would make firewall or routing changes that would prevent WordPress from reaching This retry feature will take care of processing the comments that were missed during that time once the server can reach again.

  • Clean up

Various little house cleaning items, like deprecated function calls.

  • WordPress HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. API

The Akismet plugin now uses WordPress HTTP API. The big win here is being able use the built in proxy support.

  • Use complete details for spam/ham reports

When a user specifically clicks on spam/not spam we didn’t have all of the original data for the comment. This records that data so that Akismet can use it to learn from.

  • Passive comment nonce

The plugin adds a nonce field to the comment form. The result of the nonce check is then passed to Akismet to help look for abuse.

  • Call comment_check() on non-spam

Even if Akismet says the comment is not spam, call check_comment() to see if any other moderation items need to adjust the status of the comment.

  • Link highlighting

Make links that might not be obvious in comments a bit more obvious. Some comment spam would try to hide links, making them hard to find or see when reviewing comments in wp-adminadmin (and super admin).


Currently available from (our bleeding edge dev section) if you’d like to try it out. Once released we’ll also have a tag for it in (2.5) which we’ll use for the WP3.1 Akismet SVN external.

Tickets for the Akismet plugin can be created at – be sure to set ‘Component: akismet’