Phil Ringnalda has an interesting post about comments, moderation and spam. As someone who developed my own blog software (part of the interest in running a blog, as far as I’m concerned is in testing out my development chops), I thought long and hard about how to approach comments and avoid spam. My solution was more restrictive than most but works for me.
The reason I decided to first ask people to register before being able to comment was based on the observation of several online communities. Metafilter, Slashdot and Kuro5hin all opted for solutions that required registration first. Granted, requiring that people register requires some extra work and slows down the amount of people commenting but it’s based on the concept that most people that read a particular site are returning visitors. A look at my server logs shows that this may largely be the case: Generally, I get traffic from roughly the same ratio of sites to visitor. There must be a golden mean in here somewhere as to how this works.
From there, I took one extra step, which is to require that people verify their email. TNL.net users are all verified based on an email connection. The logic behind this approach (which may seem cumbersome) is that no one can claim that they didn’t know about being registered for an account. The process is a two step process: you register on the site, a validation id is created and sent to the email address you provided and once you provide that validation id (by clicking on a URL in the email sent to you), you’re in. This creates a barrier of entry in that it gives me a valid email address for every user on the system.
This creates a mini-gated community, where users can easily be identified by the system itself.
The next step (and one that I’m still trying to figure out) is how to dis-incentivize spammers. Comment spamming is happening because URLs are supported in the comment field. My solution to this was to disallow HTML as part of the entry. That should take care of it but I’m not sure that’s the answer. One thing I am considering is to create a system based on the amount of commenting. If a user comments a lot over time, more services will become available to that user as he/she becomes a more trusted party on the system (this is similar to the moderation level in Slashdot, in some way, giving the user more rights/power as time goes on.) Other suggestions on this are welcomed (in the comment thread 🙂 )
The next question is how does one monitor that no spam is getting is. This is easy. Every comment thread has a related RSS feed and I’ve created special RSS feed which tracks ALL the comments on the system. This allows me to monitor new threads in the system as a whole. Should a spamming incident happen, I will be notified in the feed reader of my choice.
Is my commenting system perfect?
No, it isn’t but it is something that will evolve over time. As more users sign-on, the system will become more useful. At the current time, it’s better than the alternative I had before (lack of commenting capability) but it is something that definitely will need work over time.