Categorization
In an e-commerce system, categorization is key to organizing products in a way that makes them easy for shoppers to find.
While categories is a term that's intuitive and widely understood, the concepts of taxonomies and taxons provide a more flexible and hierarchical way to organize information.
Why not just "categories"?
Think about a simple online store that starts with broad categories like "Men," "Women," and "Kids." This is straightforward at first, but as you expand your inventory, you might want to introduce more specific classifications like type of clothing, brands, seasons, or price ranges.
If Vanilo would only use a flat structure of "categories," such an expansion would become messy and hard to manage.
Taxonomies and Taxons
Taxonomy is one specific aspect of classification. In e-commerce, a taxonomy could be "Categories," "Brands," "Price Range," "Occasion," etc.
Taxon on the other hand, refers to the individual group within the classification (taxonomy).
For example, under the "Categories" taxonomy, you might have taxons like "Men's Clothing," "Women's Clothing," "Footwear," etc. These are the specific, individual categories within the larger structure where actual products are placed.
Example 1 - Clothes
Category <- Taxonomy
│
├─> Men <- Taxon
│ └> T-shirts <- Taxon
│ └> Jeans <- Taxon
└─> Women <- Taxon
└> Skirts <- Taxon
└> Accessories <- Taxon
Example 2 - Wine Shop Regions
Region <- Taxonomy
│
├─> France <- Taxon
│ └> Bordeaux <- Taxon
│ └> Côtes du Rhone <- Taxon
└─> Italy <- Taxon
└> Veneto <- Taxon
└> Tuscany <- Taxon
└> Piedmont <- Taxon
Example 3 - Wine Shop Varietals
Varietal <- Taxonomy
│
├─> Red <- Taxon
│ └> Cabernet Franc <- Taxon
│ └> Merlot <- Taxon
│ └> Porto <- Taxon
├─> White <- Taxon
│ └> Muscat Ottonel <- Taxon
│ └> Tokaji <- Taxon
│ └> Furmint <- Taxon
└─> Rosé <- Taxon
└> Cabernet Franc <- Taxon
└> Cuvée <- Taxon
In practice, when setting up an e-commerce site, you'd decide on your taxonomies based on how you want to classify your products. Then, within each taxonomy, you'd create various taxons that make sense for your inventory. This structure helps keep your site organized and makes it easier for customers to navigate and find what they're looking for.
Attributes
Taxonomies have the following attributes:
name
: the name of the taxonomy, eg. "Brands"slug
: the identifier of the taxonomy to be used in URLs (eg.brands
)- a collection of images
getRootLevelTaxons()
: returns all the top level taxons within the taxonomy
What is a slug?
A slug is the part of a URL that uniquely identifies a specific page, product, category, etc on a website in a readable way.
For example, in the URL
https://example.com/p/iphone-11-grey
, the slug isiphone-11-grey
. It's human-readable, meaning it usually contains words rather than numbers or special characters) and it describes the content or the title of the page it leads to.
Taxons have the following attributes:
name
: the name of the taxon, that should be displayed for shoppers, eg. "Levi's®"slug
: the identifier of the taxon to be used in URLs, eg.levis
parent
: The parent taxon, or null if it is a top level taxontaxonomy
: The taxonomy the taxon belongs topriority
: A number that is being used to order the taxonsext_title
: Extended title, optional (you can use them freely wherever you want)meta_description
: Meta description, optional (you can use them freely wherever you want)meta_keywords
: Meta keywords, comma separated, optional (you can use them freely wherever you want)- a collection of images