Discourse Moderation Guide

So you’re a moderator on a Discourse forum - congratulations! As a forum moderator, it’s your role to help oversee the forum, ensuring that users and content are in line with your TOS, FAQ, and other published rules/guidelines. Discourse comes with numerous tools to help you accomplish this.

Let’s take a look at some common scenarios and see how each can be handled with Discourse.

Welcoming New Users

Part of keeping a community friendly and helping it grow involves being an example to others. When you notice a new user on the site (as indicated by a post notice), say hi and welcome them to the site. Even if you have nothing else to say, that initial interaction is important for new members to feel welcomed.

Helpful Users

Most users are good citizens on the forums, and will do their best to participate properly. Some users, however, will go above and beyond what is expected. It is to your advantage to recognize these users and encourage them to keep doing what they do. Active helpful users may reach TL3, which allows them to help edit titles and change topic categories. Users can also be manually promoted to TL4, which grants them global edit privileges on any topic or post they can see.

Getting User Information

Discourse maintains information on all users who register and interact with the site.

Public profile

You can get an overview of a user from their public profile. To access a profile click the user’s avatar or username in a topic, their avatar in the topic list, or search for them. Above their profile is a count of official warnings, suspensions, flags received, and helpful flags given by the user. Just below are details on the user’s account: when they last visited, posted, and registered.

You can review all public activity by the user, as well as review the notifications they received. If you are also an Admin, you will have access to the user’s personal messages as well.

You can also view and modify the user’s preferences. This can be very helpful if a user is reporting an issue with their account that you suspect may be related to a preference change.

User admin page

From a user’s public profile you can access the user’s Admin page.

The Admin page can also be accessed from the hamburger menu, and then by clicking on Users. There you can search for users by username, email, or full name. Once opened, you can review additional details about the user, including non-public information like their registration and last-used IP address. IP information can be helpful if a user appears suspicious or acts too similar to another user. IP lookups are completed locally, no data is sent outside the server. As mentioned in “The Difficult User” section, this is also where users can be silenced/suspended, and their trust level adjusted.

Complicated Topics

Public discussion on Discourse takes place inside of topics. Each topic has a title and category, and it is important that the discussion within relates to the title/category.

Poor title/incorrect category

If users provide a poor title or select the wrong category, you can edit the topic to update one or both. Scroll to the top of the topic and click the pencil next to the title. From there, the title and category can be modified.

Off-topic digression

Topics, especially longer ones, have a tendency to veer off-topic. When this happens, you can select posts to move to a new topic or an existing topic on the subject. This helps keep the discussion “on-topic”.

Then select where to move the posts:

Duplicate topic

Sometimes users will start a new topic when one already exists. If the posts in the duplicate topic add to the discussion, they can be moved to the existing one. Moving all posts in a topic will automatically close the topic.

Heated, difficult, non-productive discussion

If discussion in a topic is no longer productive or discussion is no longer focused on the topic, but instead on “attacking” other users instead of ideas, moderators should step in.

Make a staff post. Many times, a simple reminder is enough to solve the issue. You can create a post reminding users to be polite, warn them they’re talking in circles, etc, and then use the post admin wrench to mark the post a staff post. This indicates to users that the post is the official position of the site.

Add a staff notice. Staff notices are call-outs that appear about posts, and can be used to remind users of forum rules, call out an important post, and more.

Set a topic timer. If the staff post doesn’t help, or discussion seems so heated that a reminder won’t help, you can “pause” the topic. Use the topic admin wrench to set a topic timer for auto-open. This will immediately close the topic, preventing new posts, and display a notice when the topic will reopen.


Set Slow Mode If users are engaging in rapid-fire replies, you can encourage more thoughtful conversation by engaging Slow Mode, which will set a waiting period for each user between replies.

Each user will see this message when trying to post a second message within the waiting period.

Users trying to edit a former post during slow-mode as a stealth tactic will also be blocked during the enforced waiting period and will see this message when trying to save an edit.

To enable Slow Mode on a topic, use the topic admin wrench and select Set Slow Mode

Then configure Slow Mode by selecting how long you’d like users to have to wait between posts and when you’d like Slow Mode to be automatically disabled. Waiting period options range from 10 minutes to 24 hours, with a custom option available. Automatic disabling of Slow Mode can be schedule for a few hours to a few months in the future, with a custom option also available.

Moderator Communication

On most sites, a moderator is not alone, but part of a larger team. This team includes other moderators, as well as site admins/owners, and in many cases TL3/TL4 users. Regular and open communication between all should be encouraged.

:information_source: As of Oct 2022 the Lounge category is no longer included as default in new sites, but if you think it would be useful for your site you can set one up using the category permissions.

The Lounge: The lounge is a default category on all Discourse installs restricted to users TL3 or above. The lounge is a great place for the moderator team to communicate with the site’s trusted users. These users should be encouraged to share their thoughts and concerns with the site staff within this category.

The staff category: The staff category is a default category on all Discourse installs restricted to site staff: moderators and admins. The staff category is a great place for moderators to discuss what they’re seeing and doing within the site, as well as to document internal policies and procedures.

Whispers: When enabled in site settings, moderators can take advantage of whispers. Whispers allow staff to create private replies within an existing topic or PM. This allows moderators to discuss issues within the topic, so no context is lost. Whispers can also be used to mention other staff if assistance is required, but a public reply would be inappropriate, and an invite wouldn’t provide the necessary context.

Inappropriate Content

Note: On most forums inappropriate content is rare.

Discourse allows all users to help keep the forums clean, appropriate, and on-topic via the Flag system. When a topic or post is seen that does not belong, users and moderators can flag it for review.


Flags can be your best friend or the entrance to a rabbit hole. When a user doesn’t like a post, they can choose to flag it for moderators. The flag dialog has 6 options: message user (does not cause a flag, simply opens up the PM dialog), off-topic, inappropriate, spam, it’s illegal, and something else. Off-topic, inappropriate, and spam simply cast a flag, and the user is done. It’s illegal allows for a custom message, a checkbox if the message is accurate and complete, and then casts the flag. Something else allows for a custom message and then casts the flag. Once a flag is in the queue, moderators will see a red notification on the hamburger menu and can open the flag queue.

Posts with 3 flags will be automatically hidden without waiting for moderator action.

:person_raising_hand: Is there a limit on the number of posts a user can flag?

Yes, there is a limit on the number of flags a user can use per day that’s set by the max flags per day site setting. There are also some related ... flags per day multiplier site settings that control how many flags users from different trust levels are able to use. If you wanted to increase or decrease this limit, you would just need to change the related site settings for these:

The Review Queue

The Review Queue is a page that merges all types of reviewable items in core Discourse (Users, Queued Posts and Flags) into one consolidated review queue. Any post that gets flagged will show up in the Review Queue, and Staff Users can access the review queue by clicking on the “Review” button from the header navigation dropdown menu, or on the sidebar (if enabled).


In the review queue, reviewable items are scored behind the scenes and the highest priority items are shown first. Staff members and higher trust level users produce higher priority items. You can also filter the review queue by status, priority, reviewable type, category and user

Flag Scoring

When a topic is flagged, and sent to the review queue it is automatically assigned a flag score. There is a score to reach to automatically hide a topic, and to see the score and the formula applied just click on ? icon near each post in the review queue:

:person_raising_hand: Is there a way to change the score to automatically hide a topic?

You can increase the likelihood that a post or topic will be hidden based on flags by setting your hide post sensitivity site setting to High. This doesn’t guarantee that the post will be hidden as Discourse performs a calculation based on how previous flags were handled on your site. For example, a post that is flagged by a user who has previously had their flags rejected by your site’s staff is less likely to be hidden than a post flagged by a user whose previous flags have been agreed to by your staff.

The algorithm that is used to determine whether or not a post will be hidden is somewhat complex. Its goal is to make sure that posts flagged by users with a good record of flagging are hidden, but to prevent posts that are flagged maliciously from being hidden. The system will learn over time as more posts on your site are flagged and as flags are handled by your site’s staff.

:person_raising_hand: Is there a way to turn off this algorithm?

There isn’t a way to turn it off, but you can tweak how it works through your site’s settings. To see all site settings related to flags, enter the text flag into your site’s settings search box. The relevant settings are in the section outlined below.

Also note that Discourse does not automatically close a topic if it receives a flag, even if you have set the num flaggers to close topic site setting to 1. Before closing the topic the code checks the accuracy of the previous flags that have been submitted by the user (or users) who have flagged the topic. A user’s flagging accuracy is based on whether or not previous flags created by the user have been agreed to by your site’s staff. If the user’s flags have mostly been agreed to, there is a high likelihood that the topic will be closed. If some of the user’s previous flags have been disagreed with, there is a good chance that the topic will require more flags before it is automatically closed.

When deciding whether or not to close the topic, Discourse looks at the trust level of the users who have flagged the topic. If the topic has been flagged by trust level 3 users, there is a greater chance that it will be closed than if it has only been flagged by users with a lower trust level.

The reasoning for the above is to prevent malicious users from being able to close topics on your site by flagging them. Discourse will learn over time about your user’s flagging accuracy. The end result should be that flags created by your site’s most trusted users will result in topics being closed after a single flag (or whatever value you choose to use for the num flaggers to close topic site setting), but flags created by new users on your site, or by users who do not have a good track record of creating accurate flags will not cause a topic to be automatically closed.

Moderator Notifications

When a Private Message is sent to the review queue, a notification along with a private message (and in some cases an email) is sent to the 3 most active moderators about this action.

When posts or topics are sent to the review queue, notifications are sent to all users in the moderators group but to no particular moderator. Note that in this case notifications will be sent to all moderators, but emails will only be sent to moderators who are “watching” the “Moderators” group

By default the notification level is set to Tracking and each moderator can change their notification level by accessing the Moderators inbox:

You can change the global level to Watching for all moderators from the Moderators group settings:

Handling Flags

There are 4 options for handling flags in the review queue: Agree, Disagree, Ignore, and Delete.

Agreeing with a flag signals that you confirm the post is off-topic (or spam, or inappropriate, or …) When you agree with a flag a dropdown menu will open giving you options for how to handle the post and its creator.

If a flag has caused a post to be hidden, the Disagree button will have the text ‘Disagree and Restore Post.’ Clicking either Disagree, or ‘Disagree and Restore Post’ button will remove the flag from the post. If the post has been hidden, the Disagree option will unhide the post.

When a flag is Ignored, the flag will stay in place, but the flag will be removed from the Pending flags list in the Review Queue. If a flag that has been ignored has caused a post to be hidden, the post will remain hidden. Posts that are hidden for more than 30 days are automatically deleted. You can search for ignored flags on the Review page by selecting ‘Ignored’ from the Status dropdown menu.

Clicking the Delete button for a post in the Review Queue will cause the post to be deleted. You will be given two options when you select the Delete option. ‘Delete Post and Ignore’ will remove the post, but not penalize its creator with the flag. ‘Delete Post and Agree’ will delete the post and penalize its creator with the flag.

Note that resolving a flag with a custom message will automatically generate a PM to the user who flagged the post. If you pressed “Ignore” or “Disagree”, they will get a reply with “Thanks for letting us know. We’re looking into it.”. If you “Agree” with a custom flag, the message will instead say “Thanks for letting us know. We agree there is an issue with the post and are looking into it.” There is also a third version of this message for when the post was deleted.

If a flag has an :email: icon next to the topic title, be careful - the flagged post is in a personal message. Take extra care when responding to the flag - consider sending a new message to the user addressing their behavior, as moderators will lose access to the PM once the flag is resolved, unless you add yourself to the participant list. Hopefully, it may just be a forum member asking to convert a PM into a public topic. If you suspect there’s a wider problem, bring it up to your colleagues so an administrator can investigate.

You might be wondering why flags can be the entrance to a rabbit hole. 99% of the time flags are easy to handle - the post is clearly spam, a user needs some help, etc. However, sometimes the issue can be harder to address. Maybe a user is continually swearing in their posts and abusing others after being warned. Maybe the request isn’t easy to solve. In those cases, don’t be afraid to reach out to your fellow moderators, or the forum owners for advice and support. Unless you are the only moderator, you shouldn’t ever feel like you have to make a decision on your own, that’s why you have a team. The auto-created staff category is a great place to have discussion with your team in private. At the same time, don’t hesitate to make your own decisions - you were made a moderator because you are trusted to do the right thing.

Content Moderation

By default, users can create topics and replies without the need to have their content approved. For most sites, this is ideal so users can communicate back and forth with each other without the need to wait for approval by the moderation team.

However, in some cases content approval by the moderation team prior to posting may be warranted. Should content approval be enabled, it’s encouraged to have an active moderator team to review and approve content, to avoid posts sitting in the queue for too long.

Site-wide approval

Approval of content across the entire site can be enabled via site settings. Site owners can choose to have the first x topics or posts by a user require approval (the approve post count site setting), that all topics/posts by users who have not reached a certain trust level require approval (approve unless trust level), or that new topics (but not posts/replies) by users who have not reached a certain trust level require approval (approve new topics unless trust level).

Category approval

Approval of content can also be configured for specific categories. This can be useful if certain categories tend to attract heated/difficult discussions, unusual amounts of human spamming, or otherwise need extra moderation attention. Site owners can configure all new topics and/or all new replies to require moderator approval before being posted.


Archiving messages

When you archive a mod message in the moderator inbox, it gets archived for everyone so:

  • agree on a schedule between mods how long a mod message should stay in the inbox so all moderators globally can still stay informed of the actions of other mods.
  • which types of mod messages can be archived by the current shift of moderators without informing all moderators globally (rude flags, something else flags, …) and moderators who want to be informed of everything should read the archive after reading the mod inbox.

The Difficult User

Note: On most forums difficult users are rare.

Most users will be respectful, post appropriate content, and not cause any issues. However, you may encounter a user that just doesn’t want to follow the rules, is rude, posts inappropriate material, etc. How can you handle them? Keep in mind, the below progression is a suggestion. There may be instances where one of the steps doesn’t make sense or the action was so egregious that a step (or steps) are skipped.

Don’t make assumptions

First, try to avoid assuming that the user has a negative intent. They may simply be ignorant of the rules, may not speak your forums language well, may be young, or have another reason for the way they act.

Reach out directly

Try to contact the user privately via PM to let them know what is wrong with their behavior. Remember to talk about the negative behaviors - don’t attack the user themselves. When possible, link to existing rules, guidelines, FAQs, or similar.

In most cases, this contact will be enough. However, if it is not…

Send an official warning

When sending a PM to a user as a moderator, you can make the message an “official warning”. This PM will automatically gain staff color, and a notice that the user has received an official warning will appear on the user profile for other moderators to see. In addition, the envelope colour will be red to the user to mark that it is important: ‘staff / official warning’

In the official warning, be sure to explain the negative behavior you have seen, detail specifically what you’d like them to do instead, and the consequences of not changing their behavior.

If the behavior continues, be sure to follow through with the listed consequences. You may choose to…

Silence the user

Silenced users are prevented from creating new topics, posts, flags, or PMs on the site. They are still able to complete other actions, such as “liking” posts, reading topics, replying to PMs, etc. Additionally, they can communicate with moderators via PM, so you can continue to communicate with them to try and address the behavior.

Silencing a user is done from the user’s Admin page. To access it:

Navigate to the user’s profile, click Admin, then click Silence.

Enter the silence duration, a reason, and a message. When silencing a user, explain to them what they need to do before they can be unsilenced.

If the behavior still continues…

Suspend the user

Suspended users are prevented from logging in, and thus from completing any actions on the forums. A suspension is the strongest possible recourse you have for a user and should be used sparingly. Like silencing, suspending a user is done from the user’s Admin page. Like silencing, suspensions are for a specific period of time. You may want to suspend the user for a short period of time first, and if the user returns and continues the behavior, increase the suspension time.

Locking trust level

If a user posts too much, includes too many and/or inappropriate images, abuses the flag system, or similar an alternate to the above is locking the user to trust level 0. This will limit the number (and frequency) of topics and posts the user can create, as well as prevent them from including too many images/links and prevent the user from casting flags. Trust levels can be configured from the user’s Admin page.

:fr: This guide is also available in French: 🇫🇷 Guide des modérateurs

Last edited by @JammyDodger 2024-05-25T10:04:21Z

Check documentPerform check on document: