How to properly tag pages

One important feature of MDN that helps users find content is the article tag. Each page can be tagged with zero or more tags (preferably at least one) to help categorize the content. There are many ways tags are used to help organize information on MDN; this page will help you learn how to best tag pages to help information be organized, sorted, and located by readers.

For a guide to the user interface for editing tags on pages, see the tagging section in our contributor guide.

Note that proper use of tags is important; we are increasingly using automation to generate lists of content, landing pages, and cross-linking of articles. Failure to properly tag articles as indicated below can prevent articles from being listed correctly.

Ways tags are used on MDN

There are several ways tags get used on MDN:

Categorization
What type of document is it? Is it a reference? A tutorial? A landing page? These can be used when filtering searches, so they're really important!
Topic identification
What topic does the article cover? Is it about an API? The DOM? Graphics? These, too, are important, because they can be used as filters on searches.
Technology status
What's the status of the technology? Is it non-standard? Obsolete or deprecated? Experimental?
Skill level
For tutorials and guides, how advanced is the material covered by the article?
Document metadata
The writing community often needs a way to track information about pages in need of specific kinds of work. This is done using tags.

Tag type guide

Here's a quick guide to the types of tags and possible values for them.

Category

Tagging an article with one of these categories will help automatically constructed landing pages, table of contents pages, and the like be more accurately built. These terms will also be used by our new search system, eventually, to let the user locate reference or guide information by their choice.

The following category names are standard tagging terms used on MDN.

The article provides introductory material about a topic. In theory there should be only one of these per technology area.
The article is a high-importance article that should be featured in a special way on landing pages; this must be used sparingly. Only three or fewer of these should exist in any documentation area.
The article contains reference material about an API, element, attribute, property, or the like.
The page is a landing page.
The article is a how-to or guide page.
The article is a code sample page, or has code samples. This shouldn't be used for very one-liner "syntax examples" but actual snippets of useful code, or for full usable samples.

Topic

By identifying the article's topic area, you can also help to generate better search results as well as landing pages and other navigational aids.

While there's some room for flexibility here as new topic areas are identified, we try to keep these to the names of APIs or technologies. Some useful examples:

In general, the name of an interface that has a number of related pages, such as Node (which has many pages for its various properties and methods) makes a good topic identification tag, as does the name of an overall technology or technology type. A page about WebGL might be tagged with Graphics and WebGL, for example, while a page about the <canvas> element might be tagged HTML, Element, Canvas, and Graphics.

Technology status

To help the reader understand how viable a technology is, we use tags to label pages as to what the status of the technology's specification is. This isn't as detailed as actually explaining what the spec is and where in the specification process the technology is (that's what the Specifications table is for), but it will help the reader judge, at a glance, whether using the technology described in the article is a good idea or not.

Here are possible values for these tags:

Indicates that the technology or API described on the page is not part of a standard, but is considered stable in the browser or browsers that do implement it. If you don't use this tag, the assumption is made that the article covers something that's standard. The compatibility table on the page should clarify which browser(s) support this technology or API.
The technology or API covered on the page has been marked as deprecated in the specification, and is expected to eventually be removed, but is generally still available in current versions of browsers.
The technology or API has been deemed obsolete and has been removed (or is actively in the process of being removed) from all or most current browsers.
The technology is not standardized, and is an experimental technology or API that may or may not ever become part of a standard.
The API requires privileged access to the device on which the code is running.
The API only works in certified code.

Regardless of the use of these tags, you should be sure to include a compatibility table in your article!

Skill level

The skill level tag type is only used for guides and tutorials (that is, pages tagged Guide). It's used to help users whittle down tutorials based on their familiarity level with a technology, for example. There are three values for this:

Articles designed to introduce the reader to a technology they've never used or have only a passing familiarity with.
Articles for users that have gotten started with the technology but aren't experts.
Articles about stretching the capabilities of a technology and of the reader.

Document metadata

The writing community uses tags to label articles as requiring specific types of work. Here's a list of the ones we use most:

The article needs to be deleted.
The article is a stub, or is otherwise lacking information. This tag means that someone should review the content and add more details and/or finish writing the article.
The article needs one or more examples created to help illustrate the article's point. These examples should use the live sample system.
The article has one or more examples that need to be updated to use the live sample system.
The content is out of date and needs to be updated.

Web Literacy Map

The WebMaker project, through the Web Literacy Map, has define a set of tags to qualify the various competencies and skills recommended to get better at reading, writing and participating on the Web. We use them on MDN to help our users to find the best resources to suites their needs:

The articles provides information on how to browse the web.
The article provides information on how the web is organized and how it's working.
The article provides information on how to locate information, people and resources via the web.
The article provides information on how to critically evaluating information found on the web.
The article provides information on how to keep systems, identities, and content safe.
The article provides information on how to create and curate content for the web.
The article provides information on how to modify existing web ressources to create something new.
The article provides information on how to create universally effective communications through web ressources.
The article provides information on how to code and/or creating interactive experiences on the web.
The article provides information which help understanding the Internet technical stack.
The article provides information on how to create resources with others.
The article provides information on how to work with each other.
The article provides information on how to get involved in web communities and understanding their practices.
The article provides information on how to examine the consequences of sharing data online.
The article provides information on how to help keeping the web universally accessible.

Putting it all together

So, with these different types of tags, you assemble them together to get the full set of tags for a page. A few examples:

A tutorial about WebGL for beginners
Appropriate tags would be: WebGL, Graphics, Guide, Beginner
Reference page for the <canvas> element
This should be tagged with Canvas, HTML, Element, Graphics Reference
A landing page for Firefox OS developer tools
This should be tagged with Tools, Firefox OS, Landing

Tagging and search filters

The upcoming search filter implementation, which will let users restrict the results of their searches based on criteria they specify, will rely on proper tagging of pages on MDN. Here's a table of the various search filters and which tags they look for.

Note: If multiple tags are listed under "Tag name," that means any one or more of those tags need to be present for the article to match.

Filter group Search filter name Tag name
Topic Open Web Apps
  HTML
  CSS
  JavaScript
  APIs and DOM
  Canvas
  SVG
  MathML
  WebGL
  XUL
  Marketplace
  Firefox
  Firefox for Android
  Firefox for Desktop
  Firefox OS
  Mobile
  Web Development
  Add-ons & Extensions || || ||
  Games
Skill level I'm an Expert
  Intermediate
  I'm Learning
Document type Docs This will restrict the search to docs content, leaving out Hacks and other MDN content.
  Demos This will include Demo Studio content in the search results.
  Tools
  Code Samples
  How-To & Tutorial
  Developer Profiles This will include developer profiles from the MDN site in the search results.
  External Resources This is something the dev team will need to figure out.

Tagging problems you can fix

There are several types of problems with tags you can help fix:

No tags
All articles should have at least one tag, and usually more than one. Generally, at a minimum, articles should have at least a "category" tag and a "topic" tag. Often other tags are appropriate as well, but if you can help us ensure that at least these are present, you'll be a documentation hero!
Tags that don't follow our tagging standards
We have a Tagging standards guide that explains how we use tags, including lists of appropriate tags to use on various types of documentation. Ideally, all articles should follow these standards, so if you see a page whose tags don't do so, please fix it!
Incorrect tags
If you're looking at an article about HTML and it's got the "JavaScript" tag on it, that's probably wrong! Similarly, if an article is about Mozilla internals but has the "Web" tag on it, that's probably wrong too. Remove these tags (and, if missing, add the right ones). This type of problem includes misspelled tags. "JavaScript" or "Javascript" for example (the latter actually will match, since tags are case-insensitive, but it's just not right!).
Missing tags
If an article has some tags, but not all of the appropriate ones, feel free to add more. Maybe you're looking at a page in the JavaScript reference, which is correctly tagged with "JavaScript" but has no other tags. Since it's a reference page, this should also have the "Reference" tag. You're invited to add it!
Tag spam
This insidious beast is the most revolting tag problem of all: some Web vermin has deposited its droppings in the tags for a page, leaving a page with tags like "Free warez!" or "Hey I was browsing your site and wanted to ask you if you could help me solve this problem I'm having with Flash crashing all the time". These need to be deleted posthaste!

If you see one (or more) of these problems, you can help by logging into MDN, then clicking the Edit button at the top right of the MDN window. Once the editor loads up, scroll down to the bottom of the page, where you'll see the tag box. For more details on the tagging interface, see "The tags box" in the MDN editor guide.

Document Tags and Contributors

Contributors to this page: Sheppy, Jeremie, MarkGiffin, teoli
Last updated by: Jeremie,