Taxonomy - some basic problems
A taxonomy is not without its problems. before looking more deeply at Drupal's implementation of a taxonomy, lets first deal with a fundamental problem, often referred to as stemming. For example the word add might be used. Elsewhere it could appear as, addition, additions, additional, adding. Depending on how the search is constructed, these words may not show up. Plurals are a particular problem and should never be used when selecting taxonomy keywords.
The purpose of a stemmer is to remove common endings, leaving just the word stem. For example words ending in s (plural), al, ing are first truncated in an attempt to minimise this issue of multiple spellings.
Numbers, spaces. multiple words between the comma separator, and spelling are further issues for a free taxonomy. You may list all the words (terms) in a taxonomy and notice that addition appears twice. When entering terms a comma is used as a separator. If a space is left after the comma, then this counts as part of the word. So addition and (space)addition are two different words! Below is a real example taken from the website. It's no fair to assume all contributors are aware of these issues and so a free taxonomy needs to be actively managed.
A useful addition to the taxonomy module is the taxonomy manager module (not currently installed) which provides additional control over taxonomy terms.
Below are the vocabularies which current exist on the Soslug site. One option is to extend this list to cover each of the main heading within the menu structure; on the assumption they will be significantly different from one another. E.g. the webstyle portion of the site, could have its own vocabulary dealing with terms associated with HTML, CSS, XML etc.
The taxonomy settings can be applied to specific content types but more importantly define how the taxonomy will work. It can be controlled by the administrator, or control can be passed onto the contributors to the site (a so called free taxonomy), by setting the tag option. Or it can be a mixture of both.
Depending on the settings above, a Taxonomy can be arranged in a hierarchy, similar to a menu structure. The example below shows a fragment of the webstyle vocabulary and its terms
Note: If the tags option is set, it is not possible to arrange the taxonomy into a hierarchy, it is simply a flat list of terms, and control is handed to the contributors. One the other hand if the tags option is not selected then the taxonomy must be set up in advance, and keywords are controlled by the administrator(s).
One option would be to start off with a free (tag) taxonomy and at some later date switch to the multiple select option; and probably at the same time, do some tidying up.
Not wishing to delve any deeper into the taxonomy module, I'll simply note that its also possible for a term to have multiple parents, and faceted tagging allows links across vocabularies.