bbPress is a tremendous plugin that provides a complete forum system done the WordPress way. Along with simply providing a great forum system for discussion boards, bbPress also works exceptionally well as a support platform, though there are several features that are missing from the core plugin. In this tutorial we're going to walk through configuring the plugin for an optimal support forum.
I run two very active support forums, both on bbPress, so most of what I'm going to show you is from my own experience running those support forums. I mentioned a moment ago that there are several features missing from bbPress that are very important if you wish to run a successful support forum; these features are going to get added in the form of add-on plugins for bbPress that extend the plugin's default behavior.
Setting Topics as Resolved
Out of the box, bbPress does not give topics any sort of "status" that can be used to indicate if a question has been resolved by the support staff. This is one of the most fundamental features that every support system should have, and luckily the fine folks from GetShopped.org wrote an extension just for this. The GetShopped Support Forums extension will give you the ability to indicate if a forum should act as a support forum. Any forum that is set to be a support forum will then have a "status" attached to every topic that indicates whether it is resolved, unresolved, or not a support question.
In the extension settings (Settings > Forums), you can easily control who has permission to change topic statuses and also what statuses to show.
Assigning Topics to Support Staff
Another fundamental feature that a good support platform must have, at least for support systems with more than one user, is the ability to assign topics (tickets) to staff members. The GetShopped Support Forums extension, mentioned above, provides this feature, along with the topic status feature.
Anytime a topic is assigned to a staff member, they will receive an email that lets them know a ticket was assigned to them.
Along with assigning topics, GetShopped Support Forums also allows staff members to "claim" topics. There is also a widget included that can display the assigned / claimed topics to the staff member that is currently logged in, providing them an easy way to access all topics that need their attention.
If your customers ever need to provide sensitive information, such as site URLs or account credentials, it is absolutely paramount that you give your customers a way to contact you privately. There are a variety of ways to do this, from personal emails to actual ticketing systems, such as Zendesk or Ticksy, but none of them are optimal if you are also using bbPress as your main support platform. Why? Simply because having multiple support areas to manage does nothing but convolute the process.
It is always best if all of the support a customer needs can be provided in one place, whether they are leaving sensitive information or not. This is the exact reason Rémi Corson and I wrote the bbPress Private Replies extension.
Private Replies allows customers to selectively choose whether they want their reply visible to only forum moderators (support staff) or pubic and visible to everyone.
Private replies are highlighted with a blue background.
When a private reply is viewed by a user that is not the original poster or a forum moderator, it will appear like this:
Anyone that has ever managed product support knows the importance of screenshots, which is why providing your customers a way to upload screenshots (or other files) with their support tickets is vitally important to managing a good support forum. The GD bbPress Attachments extension handles this feature very well.
When posting a reply, customers will be given an upload field that lets them choose the file(s) they wish to attach:
The attachments will then be shown at the bottom of their reply after posting.
When first starting out, including a search feature with your forums may not be critical, but once you have a large number of topics, it is crucial. If your users are unable to find existing topics to answer their questions, they will simply create a new one (they will create a new one most of the time anyhow), so giving your users a way to search the forums will mean much less work on the part of you and your support staff.
The default search built into WordPress does not work well with bbPress, but the bbPress Search Widget from David Decker does work quite well.
New Topic Notifications
Some people will disagree with this one, but in my opinion, if you are running a support forum for a commercial product, you must setup notifications for when new support topics are posted. Usually these notifications are in the form of emails, though there are other methods as well.
Jared Atchison wrote an extension called bbPress New Topic Notifications that will send out an email every time a new topic is posted. As the site admin, you can set the users (support staff) that new topic notifications are sent to.
While it is not difficult to simply log into your support forum once per day to check for new topics, I personally prefer to simply rely on my email inbox to alert me of new support tickets. I simply set up a filter in my inbox (Gmail) to catch all new topic notifications so that I can immediately see how many new topics I have to answer.
Custom New Reply Notifcations
bbPress has an option built into the core plugin that lets users choose if they want to receive an email notification anytime a new reply is posted to a topic.
The problem with this feature is that there is no built-in way to customize the email that gets sent out. In my own support forums, I found that I really needed and wanted to change the contents of this email, so I built the bbPress Custom Reply Notifications extension, which lets you set the subject and content of the email to anything you want:
Restrict Forum Access to Paid Customers
Depending on your product / business model, you might find that you need to restrict access to your support forums to only those users that have paid for a subscription or purchased your product. Depending on how you sell your services or products, there are a variety of ways to do this.
If you sell subscriptions through my Restrict Content Pro plugin, there is a free extension that lets you restrict forum access to only paid members called bbPress Restrict Content Pro.
If you sell digital products through Easy Digital Downloads, there is an extension called Content Restriction that lets you restrict individual forums to only users that have purchased a particular product.
If you use WooCommerce to sell products, there is a great extension called Product Support that will let you give customers access to product-specific support forums.
If you sell on the Envato marketplaces and wish to require users enter a valid purchase key when registering, there is an extension available from Code Canyon for that.
If there are other bbPress + product/subscription plugin integrations that you're aware of, please let me know in the comments!
Notes on Core bbPress Configuration
Aside from all of the extensions mentioned above, there are a couple of core bbPress settings you need to take into consideration when setting up a support forum.
These settings can all be found in Settings > Forums.
This option allows users to subscribe to topics and receive emails anytime a new reply is posted. There is absolutely no reason that you should not have this enabled as it is vitally important that your customers have an easy way of knowing when a response has been posted to their question.
2. Topic Tags
While not vital, tagging topics with relevant keywords can provide customers an easy way to find previously-posted topics that answer the question they have. If you choose to use topic tags, I'd strongly encourage you to actively tag (and retag) tags with relevant keywords, and also provide users a way to browse by tag.
3. Fancy Editor
I would definitely suggest that you enable the fancy (rich) editor for new topics and replies. The main reason is simply that it makes it much easier for customers to post links and format their questions in a way that is easy to read. If you read and answer as many support questions as I do every day, you will highly appreciate nicely formatted posts.
4. Archive Slugs - Forum Base
The Forum Base slug lets you define the URL that is used for displaying the main forum root (where all forums are listed). The reason this is really important is that it's best if you use something like "support" here. This simply makes it more intuitive for your users. If you're looking for support, what do you expect more,
/my-awesome-forums? Obviously /support.
If you are an Akismet user, you can choose whether you want all forum topics to get scanned by Akismet when they are posted. This is probably a good idea if you allow Anonymous posting, but I personally found it to not work well. Support customers tend to post a lot of links, which usually throws up a red flag for Akismet, meaning you will have a lot of legitimate topics get caught in spam, so if you use Akismet, you MUST monitor your spam folder closely. I personally prefer to NOT allow anonymous posting and therefor all of my spam prevention happens during the forum registration process.
There are several extensions that I didn't mention above but would like to note quickly:
- Allow moderators to leave notes for each other that are unseen by normal users: bbPress Admin Notes
- Allow moderators to use short codes in topics and replies: bbPress Do Short Codes
- Add a reCaptcha to new topic and reply creation forms: bbPress reCaptcha
- Track read and unread topics: bbPress Mark as Read
- Allow users to quote others in replies: bbPress Quotes