Skip to content

Managing content in Confluence: Taxonomy

This article is part of a series that focuses on the difficulty of managing content in Confluence and offers improvement suggestions through constructive criticism. In this installment I will address one of the biggest problems in Confluence: utilizing labels efficiently to organize information.

When you manage content, you need some sort of plan. Wikis are not inherently optimized (or even meant for) structured, hierarchical information, but why should they not support the creation of a hierarchy? Why not even several different hierarchies, if they are needed?

Confluence does have the ability to arrange pages in a hierarchical fashion. With plugins, it is even possible to arrange spaces in logical hierarchies. This facilitates the grouping of information together, but pages can only have one parent and one space. They cannot belong to several parents or spaces, so how do we group pages dynamically?

Labels: Yes :-)

Enter labels. Confluence features labels as a way to tag pages and spaces with keywords which are then used to dynamically group data. What is the problem then? It is that labels themselves cannot be organized. Not even the simplest label refactoring tools come bundled with Confluence. Here’s what’s possible. You can:

Label cloud

Label cloud in Confluence. What’s the use of these things anyway?

  1. Label pages and blogs individually
  2. List pages by label
  3. Show label clouds for a specific space or globally
  4. List all the labels in use in a specific space or globally
  5. Show the related labels for the current page

Out of all these features, only features 1 and 2 are useful. There are few plugins to assist in this endeavor, some of which are maintained and others not. These are:

  • The Label Management Plugin, only developed for a short while and then forgotten. We have contributed to the plugin community by keeping this one up to date and working with the latest versions of Confluence. But it is highly limited in functionality and does not integrate well at all with the rest of Confluence. It is difficult to use and cannot be customized except by editing the source directly – it has no control panels or settings of any sort.
  • The Adaptavist Label Tools Plugin, which merely features macros to add specific labels to pages simply by selecting them from a list (which cannot be centrally managed) or automatically adding them (through some sort of workflow for instance).
  • The Adaptavist Synonym Plugin, which enables the creation of synonyms, although the functionality here is again rather limited. It merely enables searching of pages by a label and all its synonyms, such as printer and printers and pritners if a word is often misspelled. But what about related labels such as inkjet-printers and laser-printers (child labels) or peripherals (parent label)?

Honestly none of these brings us very far in actual label management. What we need is a comprehensive way to view and reorganize labels both globally and on a per-space basis.

Management: No :-(

Here’s a list of things that Confluence – even with all its plugin arsenal – cannot do:

Label Manager from the Label Management Plugin

The Label Management Plugin. Ugly as hell, hasn’t been updated since it was created in 2006. Can’t be themed either, since all styles are hard-coded into the plugin source…

  1. Rename a label.
  2. Combine or merge two or more labels into one.
  3. Define relationships between labels. This renders the following features impossible:
    1. Synonyms (with the option to maintain consistent labeling automatically, meaning incorrect labels are substituted by correct ones)
    2. Label categories, families or groups (the label printers contains child labels laser-printers, inkjet-printers, matrix-printers and is a child of the label peripherals)
    3. Searching or filtering content by label category
  4. Describe a label in detail
  5. Maintain label inheritance.
  6. Incidentally, labeling attachments is also impossible, which makes attachments a whole lot harder to find sometimes. Update: Atlassian has implemented attachment labels in Confluence 4.2.

Let me break these points down further to explain why these features are necessary.

Renaming labels is pretty basic. It means that if a definition, project name, team name – or any other aspect of content that can be assigned to a page using a label – changes, the label cannot simply be replaced with a new name. In order to achieve this, each page that has the label must be relabeled manually, one page at a time. Remove the old label, add the new one. Can it be that hard to change one field in one table in the database? For the value it would bring to keeping labels current and accurate, it is almost criminal that it hasn’t been implemented yet.

Merging labels is also pretty basic, although it does involve a more complicated operation under the hood. But it’s still by no means nuclear physics – merely a few more queries in the database to replace many labels with one. Let’s say I notice that half of my users are labeling knowledge base articles related to Windows 7 with win7 and the other half with windows7. Obviously these two are the same label, so why have both? It’s unnecessary clutter in my label taxonomy and makes finding and grouping content more difficult. So I want to merge the two – just replace the longer windows7 with the already existing win7.

Once again I have to find every page with the longer label and remove and add labels one by one until I have replaced every instance of windows7. This can be scripted using the Confluence Command Line Interface, but that usually is not an option for a content manager – most content managers are simply not that technical in nature and do not possess the required skills. It should be doable through the GUI. Type or find the label to replace, then type or find the label to replace it with. Then again perhaps I want to ensure that win7 stays as the definitive Windows 7 label. That brings me to the next point – Synonyms.

Synonyms are needed when several different terms with the same meaning need to be defined so a user can use the correct term – or, better yet, have the system automatically convert the synonym to the defined root term. It is also possible to typo a label name, but thanks to Confluence’s label autocompletion, that doesn’t happen too often. Still, it is good if those situations, too, can be anticipated and dealt with in advance.

Label groups are necessary to make semantic categories for labels. It is paramount in designing a space to define certain terms that the space topic revolves around. But how are those terms related to each other? A page hierarchy provides only a singular way to organize information, but oftentimes multiple relations need to be drawn between content.

Confluence Page Tree

The Confluence Page Tree makes navigating content hierarchically possible. Useful, eh?

Both of the above features could be utilized in searching and filtering content by label. How can I look for content in a group of labels? What about a label group and all its subgroups? Could I browse content by label, by label group, perhaps navigate a label tree reminiscent of the page tree?

Label descriptions would simply give more context to each label. For which purpose was the label created? What did the label creator have in mind when the label was created? Can it be used in multiple contexts? This metadata is important so the label always has a purpose for existing.

Label inheritance is useful because labels are used to build RSS feeds and recently-updated feeds of content in a group of pages. It reduces space clutter because every topic doesn’t have to have its own space so it can be tracked easily. Sure, for this purpose there is the Descendant Notifications plugin, but this would still be a nice addition to the label management tool suite. The Label Management Plugin does make inheriting labels to child pages possible but it does not maintain them: it only slaps the labels on upon page creation. But if a page already exists and is moved, the labels are not updated accordingly. This unfortunately greatly diminishes the value of the plugin because you can not rely on the inheritance rules to work in every situation.

Finally, attachment labeling is needed simply so that attachments are easier to find. Office attachments, for instance, have metadata which could be used to automatically label attachments upon uploading them. But that information is not used. Why? Update: Atlassian has implemented attachment labels in Confluence 4.2.

How to get labels under control

The answer to my questions above is rather straightforward: Expand the current labeling system and create some tools to manage labels. Enable parent-child relations, synonyms and inheritance. Create tools for viewing, browsing, replacing and merging labels by space and globally. Sounds simple enough – but I know it is never simple to make architectural changes to a mature system that is already in use by almost 11 000 organizations worldwide. Still – the implications of having or not having taxonomy management are major. The bigger the database is, the more important these tools become.

I will discuss one solution to a feature I mentioned above in more detail, namely the label grouping function.

The way I see the groups used apart from the ways I already described – viewing, arranging, searching and filtering content – is labeling new content. Often the user does not fully understand the context into which she is creating the new data. I have already suggested one way for Confluence to suggest related content upon creating new content, but this is another opportunity to take advantage of space taxonomies.

When creating a new page or even editing an existing one, the user has the option to add labels using the label editor. Confluence suggests existing labels that you have used recently and the most popular labels in the space.

Confluence label editor

The current Confluence label editor suggests recent and popular labels, but does not enable browsing them in semantic groups or hierarchies

But what if the label editor let the user:

Label editor UI mockup

A primitive UI mockup to illustrate how labels could be grouped semantically. As you can see, drawing is not my strongest suit.

  • Search existing labels to choose from (this is currently approximated with the label autocompletion feature)
  • Browse the space taxonomy or view a hierarchical label map to choose labels from (simply click on the labels to add them)
  • Optionally browse the global taxonomy or view a hierarchical global label map to choose labels from

These could be shown in a drop-down dialog (that pushes content on the screen down) or pop-up dialog (similar to the Restrictions, Linking, Image browser and other pop-up dialogs) that is closed after labels are entered. This way the user would have a better idea which context(s) she is working in and which labels she can choose from. If no suitable labels exist, new ones can always be added to the pool (and perhaps merged or reorganized later).

What’s the use?

The ability to define parent and child labels enables creating a space taxonomy and even a global taxonomy. By looking at the space taxonomy, you will know what kind of content exists in the space, and can often derive new relations between the content in the space. When a refactoring is necessary, say when a team is split up or two teams are joined together, they can combine or split their taxonomies to better suit the new working paradigm.

  • Users have another way of locating relevant content using global and space taxonomies. They are also better informed about the information structure of existing content when creating and modifying content.
  • Space Admins can employ taxonomy to gain deeper insight into the content in their spaces. They are then better equipped to refactor content when necessary.
  • The information architect, content strategist or system administrator can draw new parallels between content when more complex relations can be defined and managed. This aids content strategy as a whole, as content owners stay better aware of the content in their domain.

In short, organizing content dynamically in times of transition becomes much easier with proper tools to analyze, regroup, rename, merge, refactor and then re-analyze your content. I propose that no single improvement would facilitate content management more than this suite of tools collectively called taxonomy management.

Kommenttien RSS-syöte
18 kommenttia
  1. Kirjoitettu 15 maalis 2012 klo 14:27 | Ikilinkki

    Have you made any progress on this front?

    I am in need of the solutions you propose as we restructure and design our collaborative orthopaedic knowledgebase on Orthopaedia.

    Are you still maintaining the Label Management Plugin?


    • Kirjoitettu 16 maalis 2012 klo 09:39 | Ikilinkki

      Hi Christian,

      Unfortunately Atlassian have not yet shown any initiative to fix the problems I have described above. Although they do introduce attachment labels in Confluence 4.2.

      But the other issues remain unaddressed.

      Concerning the Label Management Plugin, the most recent online version is compatible with at least Confluence 3.x, although the label management view is only accessible by direct URL ( The UI framework was somehow changed so that the label management controls would not show up alongside the labels anymore.

      Concerning Confluence 4.x, I didn’t have the time to test the plugin before I left my position as Wiki Administrator a couple of months ago. The company I worked for still needs the plugin, so I assume they will update the plugin to be compatible with 4.x when they are ready to upgrade (from what I heard, some time in May).

      I can ask my successor to make sure that if the plugin needs updating, they also upload the updated version to the plugin wiki. :)

      Good luck with reorganizing your wiki – with the current tools it will prove to be quite the task.

      • Kirjoitettu 19 maalis 2012 klo 00:48 | Ikilinkki

        Would be great if you can let me know if they upgrade it.

        Thanks for you post.

        I’ve asked a couple of my contacts within Adaptavist why such a plugin has never been developed/maintained as our wiki has grown the requirements for proper label management become crucial.

  2. Lis
    Kirjoitettu 28 kesä 2012 klo 23:42 | Ikilinkki

    This is a wonderful resource.
    On the offchance any enterprising developer is looking for ideas, I just want to mention a few more useful label management features that Confluence lacks:

    * An ability to search for UNlabeled pages. This is apparently possible with a usermacro, but that warns it will cause performance problems for the system. Or, there’s the manually intensive process of finding all the labelled pages (using the {contributors-summary macro) and subtracting those from the list of all pages.

    * Some way of seeding/defining a list of approved/prefered labels and restricting users to those labels. While you can add terms just by creating a page and labelling it, there’s no way to steer users towards those particular terms.

    At any rate, thanks for such an excellent summary of the issues, (plus the reassurance that it’s not just me. :) ).

  3. Stefan
    Kirjoitettu 19 loka 2012 klo 19:15 | Ikilinkki

    Has somebody tried the Confluence Label Manager with Confluence 4.0 or higher?

  4. Kirjoitettu 18 marras 2012 klo 03:29 | Ikilinkki

    Good news, Christian and Stefan (and everyone else wondering about the Label Management Plugin): I talked to my successor at my previous employer a few days ago and he is working on overhauling the plugin altogether. It will be compatible with Confluence 4.x and the UI is also completely new (much, much improved over the old one).

    I don’t have a release date as he is working on it in his own time, but rest assured that he intends to release it as open-source just like the original plugin. So just need to wait patiently… I can’t wait to see the finished product. :)

    Oh and Stefan, he said some changes had to be made to the code for the Label Manager to work with Confluence 4. So out of the box I guess the latest version of the CLM doesn’t work with Confluence 4.x.

  5. Hemme
    Kirjoitettu 22 touko 2013 klo 10:33 | Ikilinkki

    A PlugIn solving the mentioned issues would be very great!

    Is there already a solution? If not is this topic still alive?


    • Kirjoitettu 22 touko 2013 klo 18:58 | Ikilinkki

      As far as I know, there is not. And I’m not sure what you mean by alive… I’m still following the subject but I haven’t myself administrated Confluence in over a year now, so I’m slowly falling out of the loop. However I’ve kept an eye out for plugins and developments from Atlassian’s side and nothing so far. Although you can now label attachments, which is an improvement in attachment discoverability. But no news on label management.

  6. zorglups
    Kirjoitettu 28 marras 2013 klo 11:48 | Ikilinkki

    I’m evaluating the Label Cage plugin and it covers some of the problems discussed in your article like: Merging, Deleting, Renaming, avoid new labels to be created by end user in a space.

    Still looking for hierarchy

    • Kirjoitettu 28 marras 2013 klo 23:14 | Ikilinkki

      Well I hope you return here to tell us about your experiences with that plugin when you’ve evaluated it. :)

  7. zorglups
    Kirjoitettu 19 joulu 2013 klo 12:45 | Ikilinkki

    See my comment on that plugin here:

    This plug-in does exactly what I needed and allow me to manage (and restrict) the tag cloud per space.

    I reported a bug which was an annoyance but for which I had a work-around. Although my Confluence release was still a 4.3.4, the bug has been worked out quickly and a solution was released quickly too.

    I also asked to have the plug-in validated in 5.4 and got it done in a matter of days.

    4 stars because having a really good plug-in is nothing without a good support. You have both the excellent plugin and the excellent support.

    Keep up the good work.

    • Kirjoitettu 20 joulu 2013 klo 17:12 | Ikilinkki

      Thanks for letting us know, zorglups! I can see how this plugin is useful in cases where you want to manage labels centrally per space. It’s also cool that you can finally rename (or replace) labels!

      However I do see downsides as well:

      • Can a user suggest new labels? If not, that means any changes have to be routed via the Space Admin. That’s not very flexible.
      • As far as I can see, it’s not possible to create label groups nor describe labels in any way. What if a space has 100+ labels? 200+ labels? This could happen in a KB or FAQ space.

      So in summary, a useful-looking if limited solution to the label management problem. :)

  8. David
    Kirjoitettu 22 huhti 2014 klo 00:42 | Ikilinkki

    We just signed up with Confluence and I love it but this obvious shortcoming caused me to search Google which in turn brought me here. Thanks for taking the time to write an article and bring attention to this. It’s one of those ”duh” features that should just ”be there”.

    I did find a couple of add-ons that seem to add some functionality but unfortunately none of them seem to work with on-demand.

    • Kirjoitettu 22 huhti 2014 klo 11:28 | Ikilinkki

      Indeed. Fortunately OnDemand is in the process of being extended so that plugins can be more widely used with OnDemand as well!

      Still, I hope Atlassian improves the built-in functionality. This was an issue three years ago, when I wrote this post, and still is today. I have another post in the works about finding and following content. It touches on the same topics as this post, but is more focused on the end-user perspective and less on the admin perspective. Stay tuned. :)

  9. Kirjoitettu 3 touko 2014 klo 10:25 | Ikilinkki

    I noticed today that another label management plugin has appeared: Label Manager for Confluence by Köstebek Teknoloji

    It looks pretty handy in that it can:
    – rename (replace) labels
    – merge several similar labels
    – apply labels to entire pagetrees

  10. Igor Rodrigues
    Kirjoitettu 10 tammi 2017 klo 14:53 | Ikilinkki

    Hi, sorry for coming here and saying something. As I am doing some research under this topic I cam across your page. For you all, I would like to recommend the following Addon:


    There is a video about it, totally worth watching – and does pretty much what we all were looking for:

    • Jonas
      Kirjoitettu 10 tammi 2017 klo 16:13 | Ikilinkki

      Hey, thanks for contributing! Good to know such a plugin exists. Looks great!

  11. zorglups
    Kirjoitettu 23 helmi 2018 klo 18:28 | Ikilinkki

    Hi Igor,

    I’m sorry but I can’t see how your Glossary plugin can address the need for Taxonomy (Label grouping or hierarchy).

    Can you please elaborate?

    We are still unable to manage intelligently our content using labels and seeing this overlooked by Atlassian for years, we will probably look for an alternative to Confluence.


Kirjoita kommentti