SEO taxonomy is the method of organizing and categorizing website pages and links to enhance SEO. In this guide, we will learn about taxonomy SEO, WordPress taxonomy, their types, and more.
What is Taxonomy SEO?
Taxonomy SEO is about how you organize and categorize your website content using categories, subcategories, and tags. This makes it easier for both users and search engines to understand your site’s structure and content.
When content is well-organized, visitors can quickly find what they need, which keeps them engaged. It also helps search engines rank your pages better in search results, leading to more traffic and higher revenue.
For example, suppose you have a travel website where you share guides, tips, and destination reviews. You organize your content using categories like Asia, Europe, North America, and Travel Tips and tags like Budget Travel, Family Trips, Solo Travel, Visa Guide, and Packing Tips.
If you write a blog post called “10 Budget-Friendly Places to Visit in the US,” it would go under the North America category and use the Budget Travel tag.
This helps your visitors easily find content based on what they’re looking for—like budget travel in a specific region. It also helps search engines understand what your blog is about so it can show up in searches like “cheap places to visit in the US.”
Types of SEO Taxonomy
SEO taxonomies have a total of four main types: flat, hierarchical, faceted, and hybrid.
1. Flat taxonomy
It keeps everything at the same level with no subcategories. For example, a photographer’s portfolio might list categories like Weddings, Portraits, and Nature—each leading directly to image galleries.
Best Practice: Use flat taxonomy when your site has fewer topics. It keeps things clean and easy to navigate.
2. Hierarchical taxonomy
It works like a tree (hierarchy), starting from a main topic and breaking it into subtopics. For example, a recipe website might have a main category like Meals, which branches into Breakfast, Lunch, and Dinner, and then further into Quick Breakfasts or Healthy Dinners.
Best Practice: Keep each level clear and structured. This will help visitors easily find what they need and help search engines better understand your content.
3. Faceted taxonomy
It lets users filter content by different features. For example, a laptop store could let users filter by brand, price, screen size, or processor type to find exactly what they need.
Best Practice: Choose filters that matter to your users. Too many unnecessary options can confuse them.
4. Hybrid (network) taxonomy
Hybrid taxonomy is also known as network taxonomy. It links related content across different topics. For example, a fitness blog might connect a post on Strength Training with articles on Nutrition, Sleep, and Workout Plans, showing how they all relate.
Best Practice: Use this method to show how your content fits together. It keeps visitors engaged and encourages them to explore more.
What is WordPress Taxonomy?
WordPress taxonomy refers to the system within WordPress that helps you organize content, such as through built-in features like categories and tags or custom taxonomies you create for specific needs. It’s mainly about how content is structured and grouped on your WordPress website.
Types of WordPress Taxonomy
1. Category
Categories are organized hierarchically with parent and child relationships, which benefits visitors by helping them find specific data. You can add them in two ways:
- From the Dashboard: Go to Posts > Categories to create categories, define slugs and descriptions, and set parent-child relationships.
- While Creating a Post: Go to Post > Add New. You will see the panel beside the editor. Here, you can quickly assign or create categories (no option to set slug or description here).
2. Tags
Tags also group posts but are not hierarchical. They focus on specific details rather than broad topics. You can create tags the same way you create categories.
When someone clicks on a tag, WordPress shows a page with all the posts and custom content that use that tag. For example, if you run a website related to recipes and have posts about salad recipes, you may use tags such as “Healthy recipes”, “Low-Calorie,” or “Vegan”.
3. Link_category
Link categories were used in older versions of WordPress to organize external links (like blogrolls). This feature still exists but is mostly outdated, as the Links Manager is disabled by default in new WordPress installs. If you enable the Links Manager plugin, you can still use link categories to group and manage those links—though this is not commonly needed in modern WordPress websites.
4. Post_format
Post_formats allow you to style or categorize blog posts based on their content type. For example, you can label a post as a Video, Image, Audio, Gallery, or Quote, and your theme may display it differently depending on the format.
What is a Custom WordPress Taxonomy?
A custom WordPress taxonomy is a way to create your own method of organizing content, beyond the default categories and tags. For example:
If you run a movie review site, you might want to group posts by "Actors" or "Movie Genre." These aren't part of WordPress by default, so you can create them as custom taxonomies.
How to Create Custom WordPress Taxonomy?
Method 1: Using a Plugin
1. Log in to your WordPress dashboard.
2. Go to the Plugin > Add New Plugin.
3. Search for the Custom Post Type UI plugin.
4. Click on Install Now and activate it.
5. After the installation, navigate to CPT UI > Add/Edit Taxonomies.
6. Add taxonomy slug (name) and set,
Singular Label: The name used when referring to one item of the taxonomy.
Example: Brand, Feature
Plural Label: The name used when referring to multiple items.
Example: Brands, Features
7. Click on the Add Taxonomy button.
Now, you will see a new taxonomy next to your editor.
The new taxonomy appears as a tag named “movies.” To make it work like a category, scroll down and set Hierarchical to True.
Method 2: Using Code
Note: Before making any changes to your functions.php file, always create a complete website backup. Editing this file incorrectly can break your site, especially if you're not familiar with PHP. If possible, test changes on a staging site first, or use a child theme to avoid affecting your live site.
1. Log in to your WordPress dashboard.
2. Navigate to Tools > Theme File Editor.
3. Choose the functions.php file.
Or you can find your functions.php file through your cPanel account. Access the File Manager in your root directory: public_html > wp-content > themes > and select your active theme.
Add the below code inside the functions.php file.
function wpdocs_create_book_taxonomies() {
// Add new taxonomy, make it hierarchical (like categories)
$labels = array(
'name' => _x( 'Genres', 'taxonomy general name', 'textdomain' ),
'singular_name' => _x( 'Genre', 'taxonomy singular name', 'textdomain' ),
'search_items' => __( 'Search Genres', 'textdomain' ),
'all_items' => __( 'All Genres', 'textdomain' ),
'parent_item' => __( 'Parent Genre', 'textdomain' ),
'parent_item_colon' => __( 'Parent Genre:', 'textdomain' ),
'edit_item' => __( 'Edit Genre', 'textdomain' ),
'update_item' => __( 'Update Genre', 'textdomain' ),
'add_new_item' => __( 'Add New Genre', 'textdomain' ),
'new_item_name' => __( 'New Genre Name', 'textdomain' ),
'menu_name' => __( 'Genre', 'textdomain' ),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'genre' ),
);
register_taxonomy( 'genre', array( 'book' ), $args );
unset( $args );
unset( $labels );
// Add new taxonomy, NOT hierarchical (like tags)
$labels = array(
'name' => _x( 'Writers', 'taxonomy general name', 'textdomain' ),
'singular_name' => _x( 'Writer', 'taxonomy singular name', 'textdomain' ),
'search_items' => __( 'Search Writers', 'textdomain' ),
'popular_items' => __( 'Popular Writers', 'textdomain' ),
'all_items' => __( 'All Writers', 'textdomain' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Writer', 'textdomain' ),
'update_item' => __( 'Update Writer', 'textdomain' ),
'add_new_item' => __( 'Add New Writer', 'textdomain' ),
'new_item_name' => __( 'New Writer Name', 'textdomain' ),
'separate_items_with_commas' => __( 'Separate writers with commas', 'textdomain' ),
'add_or_remove_items' => __( 'Add or remove writers', 'textdomain' ),
'choose_from_most_used' => __( 'Choose from the most used writers', 'textdomain' ),
'not_found' => __( 'No writers found.', 'textdomain' ),
'menu_name' => __( 'Writers', 'textdomain' ),
);
$args = array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'writer' ),
);
register_taxonomy( 'writer', 'book', $args );
}
// hook into the init action and call create_book_taxonomies when it fires
add_action( 'init', 'wpdocs_create_book_taxonomies', 0 );