Contensio logo

Taxonomies

Organise content with categories, tags, and any custom classification system you define.

Taxonomies let you classify content with terms — the default installation seeds a Category and a Tag taxonomy for the Post content type. You can add your own taxonomies with custom slugs and labels.

Categories vs tags

Both are built-in taxonomies attached to Posts. The difference is intent:

  • Categories — broad groupings. A post usually belongs to one (or a few). Hierarchical taxonomies let you nest subcategories.
  • Tags — freeform, fine-grained. A post can have many tags. Flat (no hierarchy).

The technical structure is identical — the difference is how you configure the taxonomy.

Managing terms

Go to Taxonomies in the admin sidebar, pick a taxonomy, then:

  • List terms — see all terms with name, slug, and post count.
  • Create a term — give it a name and an auto-generated (or custom) slug. For hierarchical taxonomies, optionally pick a parent.
  • Edit / delete — click any term row.

Terms support translations: if you have multiple languages, each term has a separate name and slug per language.

Attaching terms to content

On the post or page edit screen, the sidebar shows a panel for each taxonomy attached to the content type. Check or uncheck terms to assign them.

Creating a custom taxonomy

  1. Go to Configuration → Content Types and edit the content type you want the taxonomy on.
  2. Click Add Taxonomy and fill in:
    • Name — machine key (e.g. genre).
    • Singular / Plural labels per language.
    • URL slug per language (e.g. genre/genre/sci-fi).
    • Hierarchical — allow parent/child nesting of terms.
  3. Save. The new taxonomy appears in the sidebar under Taxonomies.

Taxonomy archive pages

Each term gets a public archive page at /{taxonomy-slug}/{term-slug} — for example /category/tech or /tag/laravel. The page lists all published posts tagged with that term, paginated using the Posts per page reading setting.

The default theme renders these archive pages out of the box. If you're building a custom theme, create a taxonomy.blade.php view — the controller passes $taxonomy, $taxTrans, $term, $termTrans, $posts, $site, and $lang.