WordPress taxonomies explained: categories and tags
Last updated: 31 December 2025
WordPress taxonomieën uitgelegd: Categorieën, tags en custom taxonomies
Taxonomieën zijn het classificatiesysteem van WordPress. Ze helpen je content te organiseren zodat bezoekers en zoekmachines vinden wat ze zoeken. Categorieën en tags zijn het bekendst, maar er is veel meer mogelijk. Deze gids legt taxonomieën volledig uit.
What is een taxonomie?
Een taxonomie is een methode om dingen te groeperen. In WordPress groeperen taxonomieën content (posts, pages, custom post types) op basis van gedeelde kenmerken.
Denk aan een bibliotheek:
- Boeken zijn gegroepeerd per genre (fictie, non-fictie, biografie)
- Binnen genres per onderwerp (geschiedenis, wetenschap, kunst)
- Met trefwoorden voor specifieke theme's
WordPress taxonomieën werken vergelijkbaar. Ze creëren relaties tussen content items.
Ingebouwde taxonomieën
WordPress heeft standaard twee taxonomieën voor posts:
Categorieën
Categorieën zijn hiërarchisch - je kunt hoofd- en subcategorieën maken:
Recepten
├── Hoofdgerechten
│ ├── Vlees
│ ├── Vis
│ └── Vegetarisch
├── Voorgerechten
└── Desserts
Kenmerken van categorieën:
- Hiërarchisch: Ouder-kind relaties mogelijk
- Verplicht: Elk bericht moet minimaal één categorie hebben
- Standaard categorie: "Uncategorized" als je geen keuze maakt
- URL structuur: /category/recepten/hoofdgerechten/
Categorieën zijn ideaal voor brede onderwerpen waar je content onder valt.
Tags
Tags zijn niet-hiërarchisch - ze staan allemaal op hetzelfde niveau:
glutenvrij, vegan, makkelijk, 30-minuten, budget
Kenmerken van tags:
- Plat: Geen hiërarchie mogelijk
- Optioneel: Een bericht hoeft geen tags te hebben
- Specifiek: Voor precieze onderwerpen en trefwoorden
- URL structuur: /tag/glutenvrij/
Tags zijn ideaal voor specifieke kenmerken die categorieën overstijgen.
Categorieën versus tags: Wanneer wat?
Een veelvoorkomende vraag. De vuistregel:
Categorieën: Als je van tevoren kunt plannen welke groepen je hebt.
- Een foodblog heeft altijd receptcategorieën
- Een nieuwssite heeft vaste rubrieken
- Maximaal 5-10 hoofdcategorieën is ideaal
Tags: Voor specifieke onderwerpen die spontaan ontstaan.
- Ingrediënten, seizoenen, gelegenheden
- Kunnen tientallen tot honderden zijn
- Ontstaan vaak tijdens het schrijven
Praktijkvoorbeeld
Een reisblog:
Categorieën (vast, gepland):
- Europa
- Azië
- Noord-Amerika
- Stedentrips
- Avontuur
- Budget reizen
Tags (variabel, specifiek):
- Amsterdam, Parijs, Tokyo
- Solo reizen, met kinderen
- Street food, luxe hotels
- Wintervakantie, zomervakantie
Taxonomie instellingen
Categorie bewerken
Ga naar Berichten > Categorieën:
- Naam: Zichtbare naam (Hoofdgerechten)
- Slug: URL-vriendelijke versie (hoofdgerechten)
- Bovenliggende: Voor hiërarchie (Recepten)
- Beschrijving: Optionele tekst, sommige theme's tonen dit
Tag bewerken
Ga naar Berichten > Tags:
- Naam: Zichtbare naam
- Slug: URL-vriendelijke versie
- Beschrijving: Optionele beschrijving
Custom taxonomies maken
Voor custom post types of speciale behoeften maak je eigen taxonomieën.
Met plugin: Custom Post Type UI
- Installeer Custom Post Type UI
- Ga naar CPT UI > Taxonomieën toevoegen
- Configureer:
- Taxonomie slug: keuken
- Labels instellen
- Object type: post (of je CPT)
- Hiërarchisch: Ja of Nee
Met code
function registreer_keuken_taxonomie() {
$labels = array(
'name' => 'Keukens',
'singular_name' => 'Keuken',
'search_items' => 'Zoek keukens',
'all_items' => 'Alle keukens',
'parent_item' => 'Bovenliggende keuken',
'edit_item' => 'Bewerk keuken',
'update_item' => 'Update keuken',
'add_new_item' => 'Nieuwe keuken',
'new_item_name' => 'Nieuwe keuken naam',
'menu_name' => 'Keukens',
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'rewrite' => array('slug' => 'keuken'),
'show_in_rest' => true,
);
register_taxonomy('keuken', array('post'), $args);
}
[add_action](/kennisbank/wordpress-hooks-uitleg)('init', 'registreer_keuken_taxonomie');
Hiërarchisch versus plat
Hiërarchisch (hierarchical => true):
- Gedraagt als categorieën
- Checkboxes in editor
- Ouder-kind relaties mogelijk
- Gebruik voor brede classificatie
Plat (hierarchical => false):
- Gedraagt als tags
- Tekstveld met suggesties in editor
- Geen hiërarchie
- Gebruik voor specifieke trefwoorden
Taxonomieën toewijzen aan content
In de klassieke editor
Categorieën: Checkbox lijst in de rechterkolom Tags: Tekstveld met auto-suggesties
In Gutenberg
Open het document paneel (tandwiel icoon) en scroll naar je taxonomie. Categorieën tonen checkboxes, tags een tekstveld.
Bulk bewerken
- Ga naar Berichten > Alle berichten
- Selecteer meerdere berichten
- Kies "Bewerken" uit Bulkacties
- Pas categorieën/tags aan voor alle geselecteerde items
Taxonomie archieven
Elke taxonomie term krijgt automatisch een archiefpagina:
- /category/recepten/ - Alle berichten in categorie Recepten
- /tag/vegan/ - Alle berichten met tag Vegan
- /keuken/italiaans/ - Alle items met custom taxonomie term
Archieven aanpassen
Maak template bestanden:
category.php- Alle categorieëncategory-recepten.php- Specifieke categorietag.php- Alle tagstaxonomy-keuken.php- Custom taxonomie
Taxonomie beschrijving tonen
Veel theme's tonen de beschrijving niet standaard. Voeg toe aan je archief template:
<?php echo term_description(); ?>
SEO voor taxonomieën
Taxonomie archieven zijn belangrijke landingspagina's voor SEO.
Best practices
Unieke beschrijvingen: Schrijf een unieke beschrijving voor elke categorie/tag. Dit voorkomt duplicate content.
Geoptimaliseerde slugs: Gebruik zoekwoord-rijke slugs. /category/lekker/ wordt /category/makkelijke-recepten/.
Niet te veel taxonomieën: Elke term creëert een nieuwe URL. Te veel terms verdunnen SEO waarde.
Noindex dunne archieven: Tags met slechts 1-2 berichten bieden weinig waarde. Overweeg noindex met je SEO plugin.
Met Yoast SEO
Ga naar SEO > Zoekweergave > Taxonomieën:
- Stel per taxonomie in of deze geïndexeerd moet worden
- Tags vaak op noindex vanwege dunne content
- Categorieën meestal op index
Taxonomieën in theme's
Taxonomie termen ophalen
// Categorieën van huidig bericht
$categories = get_the_category();
foreach ($categories as $cat) {
echo '<a href="' . get_category_link($cat) . '">' . $cat->name . '</a>';
}
// Tags van huidig bericht
$tags = get_the_tags();
if ($tags) {
foreach ($tags as $tag) {
echo '<span>' . $tag->name . '</span>';
}
}
// Custom taxonomie
$terms = get_the_terms(get_the_ID(), 'keuken');
if ($terms) {
foreach ($terms as $term) {
echo $term->name;
}
}
Alle termen van een taxonomie
$keukens = get_terms(array(
'taxonomy' => 'keuken',
'hide_empty' => true,
));
foreach ($keukens as $keuken) {
echo '<a href="' . get_term_link($keuken) . '">' . $keuken->name . ' (' . $keuken->count . ')</a>';
}
Geavanceerde taxonomie functies
Term meta
Sinds WordPress 4.4 kun je metadata aan termen toevoegen:
// Toevoegen
update_term_meta($term_id, 'keuken_afbeelding', $image_url);
// Ophalen
$image = get_term_meta($term_id, 'keuken_afbeelding', true);
Met ACF kun je via de interface velden aan taxonomieën toevoegen.
Taxonomie queries
Filter posts op taxonomie met WP_Query:
$args = array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => 'keuken',
'field' => 'slug',
'terms' => array('italiaans', 'grieks'),
'operator' => 'IN',
),
),
);
Operators: IN, NOT IN, AND, EXISTS, NOT EXISTS.
Meerdere taxonomieën combineren
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'terms' => 'recepten',
),
array(
'taxonomy' => 'keuken',
'terms' => 'italiaans',
),
),
Veelgemaakte fouten
Te veel categorieën
Blogs met 50+ categorieën zijn onoverzichtelijk. Consolideer naar 5-10 hoofdcategorieën met subcategorieën.
Dubbele tags en categorieën
Een tag "Italiaans" en categorie "Italiaanse keuken" is verwarrend. Kies één systematiek.
Ongebruikte termen
Termen zonder content bieden geen waarde. Verwijder lege categorieën en tags regelmatig.
Inconsistente naamgeving
"Recepten", "recepten", "Recept" als aparte termen. Wees consistent in hoofdletters en enkelvoud/meervoud.
More information: WordPress.org documentatie
Frequently Asked Questions
How long does it take to implement this?
Implementation time varies per situation. Simple configurations can be done within an hour, more complex setups may take several hours to a day.
What are the costs?
Costs depend on your hosting provider and package. Many basic features are included for free, advanced features may incur additional costs.
Do I need technical knowledge?
You need little technical knowledge for the basics. Most hosting providers offer extensive documentation and support to help you.
Was this article helpful?
Compare hosting packages directly to find the best choice for your situation.
Related articles
What is web hosting? Explanation for beginners
Discover what web hosting is and how it works. Complete explanation about servers, domains and different hosting types for beginners.
What is VPS Hosting?
VPS hosting explained: what is a Virtual Private Server, who is it suitable for and what are the advantages compared to shared hosting?
What is an SSL Certificate?
Everything about SSL certificates: what is SSL, why do you need it and how do you recognize a secure website? Essential for every website.
What is Uptime in Web Hosting?
What does uptime mean in web hosting? Learn about uptime percentages, SLA guarantees and why 99.9% uptime is important for your website.
How much storage do I need for my website?
Discover how much disk space you really need for your website. Practical guide with examples per website type.