A tag is a keyword or descriptive term associated with an item as means of classification by means of a folksonomy. Tags are usually chosen informally and personally by the author/creator of the item — i.e. not usually as part of some formally defined classification scheme. Tags are typically used in dynamic, flexible, automatically generated internet taxonomies for online resources such as computer files, web pages, digital images, and internet bookmarks (both in social bookmarking services, and in the current generation of web browsers - see Flock and Mozilla Firefox 2.0x). For this reason, "Tagging" has become associated with the Web 2.0 movement.
Typically, an item will have one or more "tags" associated with it, as part of some automated classification software or system. The software will provide links to other items that share that keyword tag, or even to specified collections of tags. This allows for multiple "browseable paths" through the items which can quickly and easly be altered by the collection's administrator, with minimal effort and planning.
For example
A web page hosted on a web server or blog server which supports tagging, might have the tags Baseball, Red Sox, Tickets, Away Games (tags can be more than one word), and Discounts. A human reader can probably tell the purpose of the page by quickly scanning the list of tags. Typically, the server would display the tags in a list on that page, with each tag displayed as a web link leading to an index page listing all web pages which use that tag. This allows a reader to quickly locate all pages which have been associated with the term Red Sox. If the server supports tag searching, a reader would be able to find all pages that use a particular set of tags, such as Red Sox and Tickets.
If the page's author wishes to reclassify the page, all that is required is for them to change the list of tags. In this case, the author could add the tags Blue Jays, and Paypal to their page. All connections between pages are automatically tracked and updated by the server software. There is no need to relocate the page within a complex hierarchy of categories.
While using tags in such an organizational system is flexible and easy, tagging is not without its drawbacks. Typically there is no information about the meaning or semantics of a tag. For example, the tag "apple" might refer to the fruit, Apple Computer, the Beatles' music label, or Gwyneth Paltrow's baby. This lack of semantic distinction in tags can lead to inappropriate connections between items. Additionally, selection of "tag terms" is highly individualistic. Different people may use drastically different terms to describe the same concept: for example items related to a version of Apple Computer's operating system might be tagged both "OSX", "Tiger", and possibly many other terms. Users of tagging systems must make judgements, based on the number of connections and the choices of "tag terms", whether possible connections between items are valid for their interests.
Tag classification, and the concept of connecting sets of tags between web/blog servers, has lead to the rise of folksonomy classification over the internet, the concept of social bookmarking, and other forms of social software. Larger-scale folksomonies tend to address some of the problems of tagging, as astute users of tagging system will monitor/search the current use of "tag terms" within these systems, and tend to use existing tags in order to easily form connections to related items. In this way, evolving folksomonies define a set of tagging conventions through eventual group consensus, rather than by use of a formalized standard.
Although "tagging" is often promoted as an alternative to organization by a hierarchy of categories, more and more online resources seem to use a hybrid system, where items are organized into broad categories, with finer classification distinctions being made by the use of tags.
Another syntax for use within HTML is to use the attribute rel="tag" to indicate that the linked-to page acts as a tag for the current context. For example, to tag this page with 'folksonomy' you would add .
More detail is available in the rel tag specification.