localwebadvisor
WIKI← Wiki home

What Is a WordPress Taxonomy?

By FayUpdated Jul 10, 2026EVERGREEN
⚡ THE ANSWER

A WordPress taxonomy is a system for grouping and classifying content. The two built-in taxonomies are categories, which sort posts into broad hierarchical topics, and tags, which label posts with specific non-hierarchical keywords. Developers can also register custom taxonomies to organize any post type, such as a Genre taxonomy for books or Cuisine for recipes. Each term gets its own archive page and URL, so taxonomies both structure your admin and create browsable, crawlable groupings of related content.

Built-in taxonomies
Categories (hierarchical) and tags (flat) ship with WordPress by default (WordPress Developer docs)
Registration
Custom taxonomies are added with register_taxonomy hooked to init (WordPress Developer docs)
Terms
Individual entries in a taxonomy are called terms; each gets its own archive URL
Two shapes
Hierarchical (like categories, with parent/child) or non-hierarchical (like tags)
Storage
Terms live in wp_terms and are linked to content via term relationship tables

What a taxonomy means in WordPress #

In WordPress, a taxonomy is a way to group content so related items can be found together. The word borrows from biology, where taxonomy classifies living things, and here it classifies your posts, pages, or custom content. Out of the box, WordPress provides two taxonomies: categories, which organize blog posts into broad, often nested topics, and tags, which apply specific keyword labels. Each value you create inside a taxonomy, like a single category named News, is called a term. Assigning terms to content builds relationships that WordPress uses to generate archive pages automatically, so visiting /category/news/ lists every post in that category. For a business site built through /services/wordpress-development, taxonomies keep growing content organized and navigable, both in the admin and for visitors. They are one of the quiet workhorses of WordPress, turning a flat pile of posts into a structured, browsable library that scales as you publish more over time.

Categories versus tags #

The two default taxonomies serve different jobs and confuse many site owners. Categories are hierarchical, meaning they support parent and child relationships, and they describe the broad section a post belongs to, like a table of contents. A blog might use categories such as News, Guides, and Case Studies. Tags are flat, with no hierarchy, and describe specific details mentioned in a post, working more like index terms; a single guide could be tagged WordPress, SEO, and hosting. A good rule is that every post gets one or a few categories and can carry several tags. Overusing tags, creating a unique tag for nearly every post, produces thin archive pages that add little value and can dilute site structure. Used deliberately, categories give your site a clear skeleton while tags surface cross-cutting themes. Thinking about this structure early, sometimes during a /free-website-audit, prevents the tangled, inconsistent labeling that makes older blogs hard to navigate and harder to maintain.

Registering a custom taxonomy #

When categories and tags are not enough, developers register custom taxonomies with the register_taxonomy function, hooked to the init action and typically placed in a plugin for portability. The function ties the new taxonomy to one or more post types and sets whether it is hierarchical, along with labels and URL rewriting. For example, a recipe site might add a Cuisine taxonomy attached to a recipe post type, letting editors classify dishes as Italian, Thai, or Mexican, each with its own archive. Setting show_in_rest true keeps the taxonomy available in the block editor and REST API. The example below registers a hierarchical Cuisine taxonomy. Registering taxonomies alongside custom post types is standard practice for structured sites and is a common part of /services/web-app-development builds, where content must be modeled precisely. As with post types, keeping registration in a plugin means your classification system survives theme changes and site redesigns without losing any of the terms you have created.

Example
add_action('init', 'lwa_register_cuisine');
function lwa_register_cuisine() {
  register_taxonomy('cuisine', 'recipe', array(
    'labels' => array(
      'name' => 'Cuisines',
      'singular_name' => 'Cuisine',
    ),
    'hierarchical' => true, // behaves like categories
    'public' => true,
    'show_in_rest' => true,
    'rewrite' => array('slug' => 'cuisine'),
  ));
}

How terms and archive pages work #

Every taxonomy is made up of terms, and every term automatically gets an archive page listing the content assigned to it. Create a category called Guides and WordPress serves /category/guides/ showing all guide posts, using your theme's archive template. Custom taxonomies behave the same way, producing URLs like /cuisine/italian/. These archives are valuable because they let visitors browse by interest and give search engines organized, crawlable groupings of related pages. Themes control the look of these pages through template files such as category.php, tag.php, or taxonomy-{taxonomy}.php, with a generic archive.php fallback. Developers can also query terms directly to build custom menus, filters, or related-content widgets. Because terms map cleanly to browsing intent, they are a natural navigation layer. When planning a content-heavy site with /services/wordpress-development, mapping which taxonomies and terms visitors will actually use for navigation is as important as the content itself, since well-chosen terms turn a large site into something people can explore without getting lost.

Taxonomies and SEO #

Taxonomy archives can help or hurt search performance depending on how you handle them. On the positive side, category and custom-taxonomy pages create hubs of related content with descriptive URLs, which can rank for topic-level queries and help search engines understand your site's structure. On the risk side, thin or near-duplicate archives, especially sprawling tag pages with one post each, can generate low-value pages that dilute crawling. Best practice is to keep taxonomy structure intentional, add descriptions to important terms, and consider whether some archives should be set to noindex when they add little unique value. Many SEO plugins let you control indexing per taxonomy. Pairing a clean taxonomy with strong on-page work is core to /services/seo-services and, for location-based businesses, to /services/local-seo, where category pages can target service-and-city intent. The goal is a taxonomy that mirrors how people search and browse, giving both users and crawlers a logical path through your content rather than a maze of empty or overlapping archive pages.

Common taxonomy mistakes #

Several habits weaken an otherwise good taxonomy. The most frequent is treating tags like keywords for SEO and creating hundreds of one-off tags, which produces thin archives and clutters the admin without helping anyone. Another is duplicating categories and tags with the same names, confusing editors about which to use. Assigning a post to too many categories blurs the site's structure, while assigning none leaves content in the default Uncategorized bucket. Registering custom taxonomies in the theme rather than a plugin risks losing the classification when the theme changes. Forgetting to re-save permalinks after adding a taxonomy can cause 404 errors on its archives. Finally, building navigation that depends on taxonomy structure and then reorganizing terms carelessly can break menus and links. A disciplined approach, with a documented naming convention and periodic cleanup, keeps things tidy. Sites that ignore this often need /services/website-rescue to consolidate messy tag clouds and repair broken archive URLs accumulated over years of inconsistent tagging.

When to build a custom taxonomy #

Create a custom taxonomy when you need to classify content in a way categories and tags do not naturally cover, especially for custom post types. A property-listings site benefits from Property Type and Neighborhood taxonomies; a course catalog might use Subject and Difficulty; a directory could use Service Area. The signal is that you want filterable, browsable groupings specific to a content type, with their own archive pages and URLs. If your only content is blog posts and the built-in categories and tags already fit, adding custom taxonomies just complicates the admin. Custom taxonomies shine when they mirror real attributes users filter by, powering faceted browsing experiences. For businesses moving toward application-like sites, this modeling is part of /services/web-app-development, and integrating those groupings with external systems may involve /services/api-crm-integrations. Planning taxonomies alongside your content types, before building, ensures the structure supports both editors entering content and visitors finding it, rather than being retrofitted awkwardly later.

Managing taxonomies as your site grows #

Taxonomies need occasional tending, not just initial setup. As you publish more, review whether categories still reflect your actual topics or have drifted, merge overlapping terms, and prune tags that never gained enough content to justify an archive. WordPress lets you edit, merge, and delete terms from the admin, and reassigning content when consolidating keeps archives meaningful. For larger sites, periodic audits catch orphaned terms and thin pages before they accumulate. Keeping term descriptions current also improves the archive pages visitors and search engines see. This ongoing maintenance is often bundled into a /services/care-plans arrangement, where a team reviews content structure alongside updates and backups. When moving a site between hosts, verifying that all terms, relationships, and archive URLs survive is a standard checklist item in /services/website-migrations, since a botched migration can strip term assignments and break navigation. Treating taxonomy as a living part of your information architecture, rather than a one-time decision, keeps a growing site organized and pleasant to browse.

Using taxonomies in navigation and filtering #

Taxonomies do more than tidy the admin; they power real navigation and filtering that visitors use. Because every term generates an archive, you can add category or custom-taxonomy links directly to menus, letting people jump to all content of a given type. Many themes and plugins build faceted filters from taxonomies, so a listings site can let users narrow by neighborhood, price band, or property type, each backed by a term. Related-content widgets often pull items sharing a term, keeping visitors engaged. Search plugins can weight or filter by taxonomy too. For a local business, a well-structured taxonomy can reinforce service-and-area pages that support /services/local-seo, giving both users and crawlers logical paths. The key is designing terms around how people actually browse, not around internal jargon. When we plan an information architecture during /services/website-redesign, mapping which taxonomies drive navigation and filtering is a core step, because a taxonomy that mirrors real user intent turns a large content library into something genuinely easy to explore.

FAQ

What is the difference between a category and a tag?

Categories are hierarchical and describe the broad section a post belongs to, like a table of contents, and support parent-child relationships. Tags are flat keyword labels describing specific details within a post. Every post usually gets one or a few categories and can carry several tags. Categories give structure; tags surface cross-cutting themes across your content.

What is a term in a WordPress taxonomy?

A term is a single entry inside a taxonomy. If Category is the taxonomy, then News and Guides are terms within it. Each term automatically gets its own archive page and URL listing all content assigned to it. Terms are stored in the database and linked to posts through relationship tables.

Can I add categories to custom post types?

Yes. You can attach the built-in categories and tags to a custom post type when registering it, or register dedicated custom taxonomies scoped to that type. Custom taxonomies usually make more sense, since they let you use names and structures that fit the content, like Cuisine for recipes or Property Type for listings.

Do taxonomy archive pages help SEO?

They can, when used intentionally. Category and custom-taxonomy archives create hubs of related content with descriptive URLs that can rank for topic-level queries and help search engines map your site. The risk is thin, near-duplicate archives, especially sprawling tag pages, which add little value. Adding descriptions and controlling indexing keeps these pages useful rather than diluting.

How many tags should I use per post?

A few well-chosen tags, typically three to seven, are plenty. Tags should describe specific themes actually present in the post. Creating a unique tag for nearly every article produces thin archive pages with one post each, which clutters the site and helps no one. Reuse existing tags so archives accumulate meaningful groupings of related content.

Can I change a category into a tag later?

Yes. WordPress includes tools, and several plugins, that convert categories to tags and vice versa, reassigning the content accordingly. This is useful when a taxonomy has drifted from its intended use. Convert carefully, since changing structure alters archive URLs and can affect navigation and any links pointing to the old term pages.

How Local Web Advisor checks this for you

Is your own website getting web dev right?

Our free AI audit scans your site and tells you — in plain English — exactly what to fix for web dev and seven other areas, with the business impact and the fix for each. No login needed to start.

Run my free website audit →

Was this helpful?