What does a comment system for a blog or other web site actually do? Let’s think about what needs to happen when you read a blog post and leave a comment. The system needs to:
- Display existing comments (or some subset of them or information about them).
- Allow entry of a new comment.
- Validate the comment. For example, has the commenter provided an email address?
- Assess the spam-ness or otherwise of the comment. This may involve a captcha.
- Store the comment as appropriate, depending on whether it is spam, requires moderation, or immediately joins the ranks of approved comments.
- If necessary, notify the admin of the action taken.
The comment system actually needs to do more than this: provide the admin with access to the moderation queue, for example. But I want to focus on the six-layer sandwich described above, and regard the admin interface as chips (or crisps) served to the side of the sandwich.
Having asserted that a comment system has those six layers, I want to focus on four ways in which it can be implemented. The comment system can be part of a larger system; for example, WordPress Classic (WPC) includes all six layers, as well as a whole bunch of other stuff. In an attempt to be clear, I’ll note that WPC refers to self-hosted WordPress.
I’ll turn to a table to highlight the contrasts between the four cases, and I’ll continue to use concrete examples. I’ll stick with WordPress for the examples; that said, the points I want to make aren’t WordPress-specific.
||Spam filter is not a separate plugin
||Spam filter is a separate plugin
|Comment system is not a plugin
||WordPress Classic (WPC) unplugged (i.e. with no plugins)
||WPC with Akismet plugin
WordPress.com, which uses Akismet
|Comment system is a plugin
||WPC with Disqus plugin
The other cell of the top row represents the use of a plugin to handle step 4 (assess the spam-ness). There are many such plugins. A previous post focused on four of them. One of them is Akismet, which handles spam at the hosted blogging service WordPress.com.
Moving to the second row reflects the replacement by a plugin, not just of step 4, but of all the comment system steps. Disqus provides such a plugin; in fact, I just started using it at my WordPress test blog.
I know of no example for the last cell of the table: hence the ? The cell would be of interest to a blog admin whose preferred spam plugin is Akismet, but who also wants Disqus features such as a cross-site discussion community.
The idea of combining a comment plugin with a spam plugin is a little tricky. It’s probably tricky in technical terms: if Disqus ever invokes Akismet, it will probably use the Akismet API rather than the plugin.
The business trickiness is about revenue sharing. If a comment service invokes a spam service, and each service wants to make money, how should the money be divided? I believe that these tricky issues will be addressed. Disqus may hold to its own spam fighting. But, if it does, it will present an opportunity to competitors willing to work specialized spam services.