Community websites such as forums are great tools to create engaging and interactive websites that go beyond simple user interactions such as comments. With the advent of social media, more and more people tend to create online communities using tools on social networking sites such as Facebook Groups. However forum websites are still alive and continue to be relevant. Reddit is a great example of a mega forum.

Most of the time adding new functionality to WordPress is done via plugins. Creating a forum is no different. You can use a plugin such as bbPress to create a forum in WordPress. The plugin is lightweight, easy to use and has excellent support. It also has a number of great extensions that you can use to add even more functionality to your forum.

When Do You Need a Forum?

Forum websites can be used in a number of situations. Most are used to create online communities, while some are used to create support forums. Support forums allow you to create support threads that can act as an archive that can be accessed any time by users, in case other users have similar problems.

Forums are a great way to keep users engaged and coming back to your website, thereby increasing user loyalty. They are also great for SEO purposes, as user generated content can keep your website up to date with fresh content.

Step by Step: How to set up a forum in WordPress?

Step 1. Installing the plugin

In your WordPress dashboard navigate to plugins and click on Add New. The most popular WordPress plugins are displayed here, bbPress being one of them is also on the list. In case you don’t see it simply search for bbPress. Install and activate the plugin.

Install bbPress plugin

After you activate the plugin you will have 3 new menus in your WordPress dashboard.

3 new menus for forum in WordPress dashboard

Step 2. Create the main forum section

Under the Forums section click on New Forum. Enter a name and a description for your forum and click on Publish. This will be the main section of your forum. You will need to add topics to this forum for people to be able to carry out discussions. There are 3 other options that you can configure for this. You can select the Type, this is the category of the forum. You will need this if you are creating many different forums. The status if open allows users to create new topics and vice versa. Visibility configures who the forum is visible to, this can be the general public, private to logged in members and hidden forums are displayed to admins and moderators only.

Create the main forum section

Step 3. Add the forum to any page

Next we need to display the forum in the front end. Add the forum to any page using the following short code.

[bbp-forum-index]

Display the forum in the front end

Step 4. Visit forum in the page

You can now visit the page where you added the shortcode and the forum you created in step 1 will now be visible.

visit forum in the page

As you can see currently there are no Topics and Posts. Moderators and Admins will usually create the first topic/post and users can create subsequent topics / posts.

Step 5. Setup forum user registration process

After setting up your forum you need to setup your user registration process so new user can register and post on the forum. You will need to create 3 pages:

  1. Registration page – Simply create a new page and add the shortcode [bbp-register]
  2. Login page  – Create a new page and add the shortcode [bbp-login]
  3. Lost password page – Create a new page and add the shortcode [bbp-lost-pass]

These 3 pages are vital to get your forum running. You also need to allow new users to register to your website. Under the settings menu in your WordPress dashboard click on general settings. Allow anyone to register.

Allow anyone to register forum in WordPress

Step 6. Configure user roles for the forum 

After setting up the required pages for WordPress you should configure user roles for your forum. bbPress has 5 pre-defined user roles.

  1. Keymaster – User with access to all settings including creating new forums, posts, topics and has the ability to manage tags and global settings. The WordPress administrator is usually the Keymaster
  2. Moderator – Same access as a keymaster except for access to global settings and deleting other user forums
  3. Participant – They can create new topics and reply to topics
  4. Spectator – They can view topics but cannot create them
  5. Blocked – The user cannot post or view any topics

Under the users section of your WordPress dashboard you can see the role of all the users on your website.

See all the users and their roles

Step 7. More forum settings 

You can also configure various options related to your forum under settings > Forums.

Forum user settings

In the forum user setting section you can disable editing after a certain amount of time has elapsed. You can also stop users from posting too frequently. Our setting is 10 seconds. This will help prevent any bots or spam posts. You can enable or disable anonymous posts. You can also define the default new user role.

There are other sections as well under the settings page.  Under the form features there are various options that are self-explanatory.

Set forum features

Under the Topics and Replies Per Page you can configure how many topics and replies to display per page.

Set topics and replies numbers

Finally you can configure forum slugs.

Configure forum slugs

Once you are done with changing the settings according to your requirements click on save settings.

Conclusion

That is how easy it is to get started with a forum on your website. It is advisable not to setup a forum on your main domain and use a sub domain instead, unless your sole purpose of building the website is to create a forum. Sometimes user generated content can be risky as it can be duplicate content and you can get penalized by search engines. This is why you will need moderators. As more people start visiting your forum it can also mean more server resources are needed. On the other hand if you are able to grow a forum you should eventually be able to make more conversions.