I've been working on a web CMS and I'm nearing the point where I'll be implementing comments and comment moderation. What are some common ways comment moderation is handled from a UI/UX perspective? What are the strengths of such methods and what could improve the process? What other CMS's do it well? Not so well? Why?

I'm specifically looking for suggestions in terms of layout, workflow, and general strategy to comment moderation for high volumes of comments. I'm open to suggestions for both the admin area and for limited moderation from the public facing part of the software, though I'd like to stay away from 3rd-party services at this point.


2 Answers 2


I built a comment moderation system for a site with 50k new posts a month where each post could have N comments.

Our approach was to use flag for moderation buttons near each post and on each comment, which executed an ajax call to the moderation backend and notified the user of the action. In the backend, moderators had access to two separate lists displaying all flagged posts and comments.

The idea here was that moderators would want to take action on posts and comments separately due to their nature (posts could incite flagged comments, for instance). The list was sorted by number of times an item had been flagged so mods could easily see where strange things were happening, as users of the site were generally quick to mass-flag posts if things were taking a bad turn.

Per item, mods could quickly see the full content of the post by hovering over it, as well as clicking an icon to head directly to the post in context (because sometimes it's not immediately clear if something is offensive without it). They could quickly spam, trash, or temporarily hide the post from that list as well, and later on we built links that allowed them to head directly to the profile of the user who posted it to see that user's post history, which helped them make decisions. From that profile page they could also IP ban the user, although we didn't recommend doing that since IP bans are little more than a stopgap solution. (We intended to build a sandbox system where return offenders were boxed into their own version of the site where their comments were still appearing, though no other users could see them, but we didn't get around to implementing it).

Since the moderation system had multiple moderators, it was important for moderators to know who was doing what, so they weren't working the same posts. To that end we had a very simple option where mods could indicate they were working with an item, which would merely indicate in a highlight to other mods that that item was currently being inspected. When taking significant action, for instance IP banning or deleting, mods were required to write a note about why they were taking that action so that if it needed to be reverted or something else needed to happen, all mods would know what was going on.

Finally, the frontend of the site added controls for mods to post pages when they were logged in so they didn't have to click back and forth between the backend and the site all the time if they encountered something while simply browsing. This was implemented as a request by the mods after the system had been live for a while, and was pretty instrumental in maintaining moderator happiness ;).

So, key takeaways from this system:

  • Posts that need attention are flagged by users
  • Flagged posts are sorted by number of 'votes'
  • Each flagged post has actions: in-context view, spam/trash/hide, etc.
  • Posts and comments are separated into different lists
  • Mods can assign items to themselves so other mods know not to go there
  • IP bans don't really work, build a sandbox if you have time
  • Require mods to communicate with each other by adding notes to actions they take
  • Make it really easy to use so mods can quickly go through several items in a single session
  • Support rudimentary controls in the frontend

Hope that helps. We had a lot of fun figuring out this system. FWIW, the website I'm talking about is Buurtlink (in Dutch), which is a community site where you enter your postcode and see posts in your geographical area. It has 700k users and over 2M posts over 2 years since launch.

Oh, as for patterns - the above was designed in part by looking at how most major forum software handles moderation, as well as blog software like Wordpress, which by now has become pretty proficient at offering an easy to use UI. We also looked at spam control in email software like Gmail and Thunderbird. All of this was combined with a lot of common sense and the specific needs of our moderation team, as well as the business goals of the client (not much budget to have moderators spend a lot of time doing moderation, for instance).

  • +1 - Thanks for the detailed answer and great suggestions, Rahul. So basically, all comments are auto-approved by default and then are only brought to the attention of a moderator if flagged? That's probably the best way to scale. Have you considered or implemented any automatic pattern analysis for flagging (keyword blacklist, bayesian filtering, timestamp comparison, etc.)? If so, what was your experience? I like the sandbox idea. Sep 19, 2010 at 22:37
  • 1
    Yes, everything is automatically posted and flagged later. One reason for this is unrelated to moderation - we want users (our userbase consists of non-computer-savvy people) to experience the satisfaction of seeing their content on the site immediately. Since 99% of users post perfectly acceptable content, most people will come away with a positive experience, increasing the likelihood of further participation. Part of the site's popularity is linked directly to that philosophy of setting the bar really low and rewarding users. We don't have any automatic filtering at this time.
    – Rahul
    Sep 19, 2010 at 22:41
  • That's a great point on removing obstacles for the users. For a more successful community, the obstacles in terms of extra hoops to jump through should be tilted toward the site owners, not the user. Plus, if you get people to take ownership and give them elevated abilities, even those hoops start to disappear. StackExchange is a good example of that. Sep 19, 2010 at 23:43
  • +1 - Particularly like the feature "mods could indicate they were working with an item" to avoid duplicated effort. May 29, 2011 at 9:21

You can also have quarantine periods -- that is, autoapprove only after say, x seconds or minutes, giving you the option of sampling requests. Combined with Mechanical Turk, you can moderate items for a few cents, like http://socialmod.com does.

What could scale better is you could also have triggers for quarantining such as

  1. number of links in post,
  2. number of words that have been removed by a profanity filter (you do have a profanity filter right?),
  3. number of posts made by a user in x minutes, etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.