Re-thinking “Tags” in the Plugin Directory

Howdy all you wonderful pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the Plugin Directory or can be cost-based plugin from a third-party authors!

As you may have read, the metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. team is kicking off a rewrite and redesign of the plugin directory. As part of our work, we’re considering every aspect of the plugin directory, thinking through ways we can improve the experience for WordPress users everywhere. If you’re interested in following our work, follow make/meta.

In considering tags, we looked at a few things that seem to make the experience less-than-ideal for users.

  1. Tags are freeform with a recommended maximum of 12. This leads to plugins “duplicating” tags in the hopes of moving to the top of search results. For example, “anti-spam” and “antispam” exist for Akismet. Freeform tags also mean that misspellings can occur.
  2. Tags are not localizable. If you’ve used the plugin directory in another language, you’ll note that tags are translated into those language. For example, the Japanese plugin directory has English tags. Users who attempt to find “スパム” instead of “spam” will have a hard time finding relevant plugins.
  3. Tags are inconsistent. Finding the best anti-spam plugins using tags requires looking at the “anti-spam,” “anti spam,” “antispam,” “spam,” “comment spam,” etc tags. This makes it considerably harder for users to find what they’re looking for.

These issues have built over time. They’re not new, but they weren’t inherent issues when the plugin directory was first developed. Looking at a new plugin directory, we’d like to change things up a bit and do the following:

  1. Create a common set of tags. We’ll create this set by crawling all tags in the plugin directory and finding the most popular ones. From there, we’ll search for duplicates (e.g., spam vs anti-spam) and merge them together too.
  2. Allow plugin authors to set a maximum of three (3) tags for their plugins. While this may seem limiting, because we’re working from a common set, there’s very little reason to have a large amount of tags and no need to worry about duplicating tags.
  3. “Match” tags when importing into the new plugin directory. When we’re ready to launch the new plugin directory, we’ll do a final import from the current bbPressbbPress Free, open source software built on top of WordPress for easily creating forums on sites. database into WordPress. During this import, we’ll do our best to match tags from one to the other. For example, if we have a “Spam Protection” tag, we’ll match “spam” and “anti-spam” and Akismet the “Spam Protection” tag.
  4. Move tags from the readme into the plugin admin. As part of our work, we’re building an admin interface for plugin authors to manage certain aspects of their plugin. We’ll add tags to this interface so you no longer have to commit to SVNSVN Short for "SubVersioN", it's the code management system used to maintain the plugins hosted on It's similar to git. to update your plugin’s tags.
  5. Make these tags available for translation. Just as the rest of the plugin directory interface will be translatable, tags will be fully translatable too.

If tags now sound a lot like categories, well, that’s intentional. 🙂 At the moment, we’re thinking it makes sense to keep calling them tags, keeping consistent with the previous and current iterations of the plugin directory.

Requesting new tags would happen on meta tracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub., working closely with the plugin review team.

To be clear: This is a proposal and we want your input!

So, what do you think? Leave your feedback here!