This guide explains the various settings and options for requiring post approval in Discourse. You’ll learn how these settings interact and best practices for implementation.
Summary
Requiring approval for posts can be beneficial in several scenarios, such as:
- Preventing spam and inappropriate content
- Maintaining quality control in professional or academic forums
- Moderating discussions in sensitive or controversial topics
- Managing communities with strict content guidelines
Discourse offers several ways to control post approval, allowing administrators to manage content effectively. These settings are triggered by different factors and affect various groups of users.
Post approval settings overview
Here’s a general overview of the available post approval settings in Discourse:
Staff (admins and moderators) are excluded from all the below settings.
Review every post
This setting sends every post to the review queue.
- Affects all posts (replies and new topics) and edits to posts
- Applies to all users, except for users with trust level 4
- Posts are still visible before approval
- Use with caution, as it can create a high workload for moderators
- A post which is added to the review queue because of this option shows no reason at the bottom
To enable this setting:
- Go to
/admin/site_settings?filter=review%20every%20post
- Enable the
review every post
option
Approve post count
This setting determines how many posts a new user must have approved before they can post without moderation.
- Affects posts (replies and new topics)
- Applies to users with trust level 0 and 1
- Set to a number greater than 0 to require approval for new users’ initial posts
- A post which is added to the review queue because of this option shows “The first few posts from every user must be approved by staff. See approve post count.” at the bottom
To configure this setting:
- Go to
/admin/site_settings?filter=approve%20post%20count
- Set the desired number of posts to be approved
Approve unless allowed groups
This setting requires approval for posts from users who are not members of specified groups.
- Affects all posts (replies and new topics)
- Applies to everyone not in a selected group
- Useful for allowing trusted groups to post freely while moderating others
- A post which is added to the review queue because of this option shows " Users not in the specified groups must have replies approved by staff. See approve unless allowed groups." at the bottom
To configure this setting:
- Go to
/admin/site_settings/?filter=approve%20unless%20allowed%20groups
- Select the groups that are allowed to post without approval
Approve new topic unless allowed groups
This setting allows for stricter control over topic creation while potentially being more lenient on replies.
- Affects only new topics
- Applies to everyone not in a selected group
- A post which is added to the review queue because of this option shows “new_topics_unless_allowed_groups” at the bottom
To configure this setting:
- Go to
/admin/site_settings/?filter=approve%20new%20topics%20unless%20allowed%20group
- Select the groups that are allowed to create new topics without approval
Category: Require moderator approval of all new replies
These setting allows more granular control over specific categories that may require stricter moderation.
- Affects replies in the category
- Applies to everyone who cannot approve posts in this category, so additionally to staff category moderators are excluded too
- While this seems to be the category version of
approve_unless_allowed_groups
the important difference is that this one is limited to replies - A post which is added to the review queue because of this option shows “Posts in this category require manual approval by staff. See the category settings” at the bottom
To configure category-specific settings:
- Go to
/c/{CATEGORY_SLUG}/edit/settings
- Find the “Moderation” section
- Enable “Require moderator approval of all new replies”
Category: Require moderator approval for all new topics
These setting allows more granular control over specific categories that may require stricter moderation.
- Affects topics in the category
- Applies to everyone who cannot approve posts in this category, so additionally to staff category moderators are excluded too
- A post which is added to the review queue because of this option shows “Posts in this category require manual approval by staff. See the category settings” at the bottom
To configure category-specific settings:
- Go to
/c/{CATEGORY_SLUG}/edit/settings
- Find the “Moderation” section
- Enable “Require moderator approval for all new topics”
Skip review media groups
This setting allows you to specify groups whose members’ posts do not require approval because of containing an image.
- Affects posts which contain an image
- Applies to everyone not in a selected group
- Helpful for trusted users or staff who need to share media frequently
- A post which is added to the review queue because of this option shows " This post includes embedded media. See skip media review groups." at the bottom
To configure this setting:
- Go to
/admin/site_settings/?filter=skip%20review%20media%20groups
- Select the groups that should be exempt from media review
Watched words
Watched words can be used to trigger post approval based on specific content.
- Applies to posts, “flag” also applies to personal messages
- Affects everyone except staff
- Three options that add a post to the review queue:
- Silence: Adds the post to the review queue and silences the user
- Approve: Puts the post in the review queue
- Flag: Adds the post to the topic, but flags it so it is likely hidden
- A post which is added to the review queue because of this option shows “This post included a Watched Word. See your list of watched words.” at the bottom
It can be useful to combine the approve and flag settings, as flag also works for edits while approve does not.
To configure watched words:
- Go to
YOUR_SITE_URL/admin/customize/watched_words
- Add words or phrases under the appropriate action (Silence, Approve, or Flag)
Read more about watched words at Watched Words Reference Guide.
Auto silence first post regex
This setting is deprecated, use the silence option of watched words instead.
Min first post typing time
This setting can cause a post to require approval if a user types too quickly, which might indicate bot activity.
- Affects the first post of a user with a trust level up to the “auto silence fast typers max trust level”
- A post which is added to the review queue because of this option shows “New user typed their first post suspiciously fast, suspected bot or spammer behavior. See min first post typing time.” at the bottom
To configure this setting:
- Go to
/admin/site_settings/?filter=auto%20silence%20fast%20typers
- Enable
auto silence fast typers on first post
and configureauto silence fast typers max trust level
according to your needs - Go to
/admin/site_settings/?filter=min%20first%20post%20typing%20time
- Set the minimum time (in milliseconds) that must elapse between when a user starts typing their first post and when they submit it
Approve unless staged
This setting requires approval for posts from staged users (users who haven’t fully completed the registration process).
- Affects email-in posts from staged users
- Useful when using categories with email-in functionality
- Helps prevent spam or ensure only fully registered users can post without approval
- A post which is added to the review queue because of this option shows “New topics and posts for staged users must be approved by staff. See approve unless staged.” at the bottom
To configure this setting:
- Go to
/admin/site_settings/?filter=approve%20unless%20staged
- Enable the
approve unless staged
option
Plugins
There are also plugins which can help you to configure approval related to your communities need.
- Akismet helps keep your site free of spam by automatically scanning all posts from new users. Scanned posts that Akismet flags as spam are immediately removed from the site and added to a queue for review. A post which is added to the review queue because of this plugin shows “Akismet flagged this post as potential spam. See more at plugin:discourse-akismet.” at the bottom.
- Discourse AI Post Classifier uses Discourse Automation and Discourse AI to hide topics based on certain criteria. A post which is added to the review queue because of this option shows “Response from the model: {LLM-response} Triggered by the {name of the automation} rule.” at the bottom
- Force specific users through moderation adds a setting where you can list one or more usernames; any user added to the list will always have their posts held for moderator approval.
Best practices and recommendations
- Trust the defaults: Discourse’s default settings are designed to work well for most communities. Only adjust them if you have specific needs or challenges.
- Identify specific needs: Before changing approval settings, clearly define the issues you’re trying to address (e.g., spam control, content quality, or community standards).
- Use Trust Levels: Leverage Discourse’s trust level system to automatically reduce restrictions on proven community members.
- Category-Specific Moderation: Use category-specific settings for areas that need extra scrutiny rather than applying strict rules globally.
- Combine Settings: Use a combination of settings to create a nuanced approach. For example use
approve post count
to review the initial posts from all new users andapprove unless allowed groups
for ongoing moderation for everyone except for members of specific groups, like members with at least trust level 2. - Balance moderation and engagement: Be mindful of how approval settings might affect user engagement. Overly strict settings can discourage participation.
- Educate your community: Clearly communicate any special posting rules or approval processes to your users to set appropriate expectations.
- Monitor and adjust: Regularly review the impact of your settings on both your community’s health and your moderation team’s workload. Be prepared to adjust as your community evolves.
Conclusion
Discourse’s post approval system is flexible and powerful. By understanding how these settings interact and applying them thoughtfully, you can create a balanced approach to content moderation that suits your community’s needs.