Tags are a common method of adding keywords to content to aid searching and discovery. We'll be adding support for applying tags to threads, as well as a framework for add-ons to add tags to their own content types. Thread tags apply to the thread itself (rather than individual posts), so they are displayed at the top of the thread view, independent of any post. Clicking any tag will take you to a page displaying all content that has that tag attached to it: These results pages will be accessible to search engines (and of course end users) to help them relate the tagged content to each other. To edit the tags in an existing thread, clicking the "edit" link shown in the first screenshot will bring up an overlay with a tag editor: When typing a tag in, auto-complete options will be displayed. Tagging Options If you are allowing untrusted users to apply tags, it may be useful to apply some limits. To do this, there are a number of options: These options cover limits over the amount of tagging an individual user can do and the actual structure of the tags. Note that tags will have some normalization applied (lower casing, white space adjustments, etc) independent of any structure limits. Tagging Permissions There are also a number of permissions that allow you to control who can tag content: Create new content tag (global) - this controls whether a user can create an entirely new tag. If they do not have this permission (but have permission to apply tags), the user will only be able to use a tag that has already been created. Bypass user content tag limit (global) - having this permission allows the user to bypass the "Max Content Tags Per User" option. Tag thread by self (global and per forum) - this permission allows a user to apply tags to threads they create. By default, they will only be able to edit the tags they applied to the thread. Tag thread by anyone (global and per forum) - this permission allows a user to apply tags to threads created by anyone. Like above, they will generally only be able to edit the tags they applied. Manage tags by others in own thread (global and per forum) - this permission extends the tag management to control any tag that has been applied to their own thread, regardless of who applied it. Manage tags by anyone (global and per forum) - this is a moderator-level permission that allows full tag management. Admin Tag Management Admins can manage tags through the admin control panel. They are given a list of tags, including filtering and sorting options: Editing a tag gives the following options: Normally, when a tag is created, the "URL version" is automatically generated. This is what will be displayed in the URL when viewing the tag results page (example.com/community/tags/tag-name-here/). Normally, this is automatically generated from the user entered tag by deaccenting and normalizing, along with some extra processes to ensure uniqueness. However, an admin can manually override this if desired. Normally tags will be removed when they are no longer used (specifically, when their last usage is removed). Choosing to make a tag permanent prevents this. This is mostly significant for communities where admins will create a list of valid tags and not allow users to add their own. Deleting a tag should be straightforward enough. Merging tags allows you to change all references to tag X into tag Y. Tag Searches Tag searching is exposed via a new tab on the search pages: This allows searching by a single tag or multiple tags. Entering multiple tags will only return content with all tags applied. Below this, we display a tag cloud showing the most popular tags with various "weights" to indicate how popular they are. There are some options that control what is included in the tag cloud: In terms of searching itself, tags are included as part of the content's title, allowing the text of the tag to be searched. With XenForo Enhanced Search, this automatically increases the relevancy of a result matching a tag. Tags are also indexed as "metadata" internally which means they can be searched via a non-keyword method. This is not exposed by default outside of the dedicated tag search page.