The underlying model of what tags are for depends on their purpose. On a social media site like Instagram, they can be allowed to expand indefinitely, but if you apply the same model to a news site, they can become distractors rather than enhancing user experience.
My client was an alternative news organization that had allowed contributors to enter free-form tags for over a decade without any editorial oversight. As a result, the tags database had ballooned to more than 30,000 tags, over 20,000 of which had only been used a handful of times. Because they wanted to use the tags to enhance discoverability, I suggested that they reduce to a usable number, treating them more like categories than the #twitterlike hashtags that had proliferated.
I helped them engage a consultant with a background in database design and library classification who helped them rationalize their tags to a usable number (just over 1000) that captured the majority of their uses and standardized spelling, punctuation, and taxonomy.
I then created a series of custom Drupal/Drush modules to clean the database back to the remaining tags, mapping them to the remaining values.
My client was an alternative news organization that had allowed contributors to enter free-form tags for over a decade without any editorial oversight. As a result, the tags database had ballooned to more than 30,000 tags, over 20,000 of which had only been used a handful of times. Because they wanted to use the tags to enhance discoverability, I suggested that they reduce to a usable number, treating them more like categories than the #twitterlike hashtags that had proliferated.
I helped them engage a consultant with a background in database design and library classification who helped them rationalize their tags to a usable number (just over 1000) that captured the majority of their uses and standardized spelling, punctuation, and taxonomy.
I then created a series of custom Drupal/Drush modules to clean the database back to the remaining tags, mapping them to the remaining values.