Key takeaways
- Only categories can have parent and child terms. Every post ends up in at least one category, because WordPress files it under the default category (set in Settings > Writing) if you pick none.
- A tag is worth creating only if it will be used on several posts across different categories. A tag used on one post creates an archive page with almost nothing on it.
- Google has no rule about indexing category or tag pages. Judge each archive on whether it’s useful, and use noindex to keep it out of results. Blocking it in robots.txt doesn’t do that.
- Deleting a category never deletes its posts. WordPress moves them to the default category, but the old archive URL still needs a redirect.
- In WooCommerce, use product categories for departments, product tags for labels that span departments, and attributes for anything shoppers filter by.
Most WordPress sites don’t get a messy taxonomy all at once. It happens one post at a time. Someone adds a tag for a word that appears in an article, then another, and a few years later the site has hundreds of tags used once and a category list nobody can scan. WordPress never shows an error, so nobody notices until an SEO audit or a Search Console report turns up a long list of nearly empty archive pages.
The difference between the two is simple. Categories are your site’s main sections. Tags are optional labels that connect posts across those sections. The difficult part is that every term you create also becomes a page, and that is what this article covers. It sits alongside our step-by-step guide to doing SEO on WordPress.
What actually separates a category from a tag
Categories can be hierarchical and tags can’t. WordPress’s Theme Handbook describes both as taxonomies, which are ways of grouping posts, but only categories can have parent and child terms. Everything else follows from that one structural difference.
| Categories | Tags | |
|---|---|---|
| Structure | Hierarchical: a parent such as Services with children such as Design and Maintenance | Flat, no parents |
| Required | Effectively yes: a post with no category goes into the default category | No, entirely optional |
| Job | Says where a post belongs | Says what else the post is about |
| In the block editor | A checkbox list, which encourages picking an existing term | A text field, which makes a new term one keystroke away |
| Archive URL (default) | /category/services/design/ | /tag/gluten-free/ |
| Healthy number | A short list that rarely changes | Grows slowly, and each tag is used on many posts |
That editor row explains a lot of messy sites. Picking from a category list nudges you to reuse what’s already there. Typing in a tag field makes it just as easy to create a new tag as to reuse an old one, so you end up with “email”, “emails” and “email marketing” as three separate archives.
Learn WordPress compares categories to a book’s table of contents and tags to its index. That comparison works. The table of contents has a few entries and every chapter is in it. The index is long, specific, and each entry is worth having only because it points to more than one page.
When a subject should be a category, and when a tag
Use a category when the subject is a permanent section of the site that a visitor might browse on purpose, the kind of thing you would put in a menu. Use a tag when the subject keeps coming up across several sections and a reader of one of those posts would want the others.
Take a bakery that publishes recipes and business news. “Recipes” and “News” are categories. “Gluten free” is a good tag, because it connects a bread recipe with the announcement of a gluten-free range. Readers can follow their dietary need across both sections. A tag for this spring’s sale is a bad one: nothing will be added to it, so anyone who clicks it reaches a dead end.
Before you create a term, run these checks:
- Will it be used on several posts? If not, leave it out. Single-use tags are the clearest sign of a taxonomy going wrong.
- Does it already exist under another spelling? Search Posts > Tags for singular, plural and synonym forms first.
- Does it repeat a category? WordPress.com’s support guide advises against giving a category and a tag the same name. You would just get two archives listing the same posts.
- Is it a format, not a subject? “Tips” and “guide” describe the kind of article. They don’t tell a reader what it’s about.
WordPress allows more than one category per post, but one is the sensible default. A post filed under four categories has no clear home, and every archive it appears in gets a little less distinct. Use child categories when a real hierarchy exists, not to squeeze in extra labels.
Tags are not keywords. Agency developers on r/Wordpress keep describing the same pattern: clients treat the tag box like the old meta keywords field and type in every phrase they want to rank for. One 2014 thread mentions a site with 20,000 tags. No ranking benefit comes from the label itself. Any benefit comes from the archive page being worth visiting.
Why every new tag is also a new page
WordPress creates an archive page for every category and tag, listing the posts assigned to it. That turns a filing decision into a navigation decision and a search decision. A tag on one post creates a page that only repeats that post’s excerpt. A site with 400 of those has 400 thin pages that crawlers can find.
Think of each archive as a page you are recommending to visitors. Would you link to it from the sidebar of a good article? If yes, it’s earning its place. If you would be embarrassed to link it, the tag probably shouldn’t exist.
The archive is also separate from your real landing pages. A Design service page explains and sells the service. A Design category archive is a date-ordered list of posts. Don’t let the archive replace the service page in your menu just because they share a word. If you want tag and category archives to connect visitors to your best pages, our guide to adding internal links in WordPress covers the editor side.
Should category and tag archives appear in Google?
Decide archive by archive. Don’t decide by taxonomy type. Google publishes no rule about WordPress categories or tags. Yoast’s settings documentation points out that useful taxonomy pages can bring in visitors. A common rule of thumb in practitioner forums is to noindex all tags and index all categories. That’s a reasonable starting point, but it’s a heuristic. Google doesn’t require it.
Keep an archive indexable when it’s distinct and useful: it has enough posts to browse, a clear heading and, ideally, a short introduction in the term description. Keep it out of search results when it’s thin, empty or an exact overlap with another archive. In Yoast SEO, go to Yoast SEO > Settings > Categories & tags, choose the taxonomy, turn off its search visibility and save. Yoast also lets you noindex individual terms, so you can keep a strong tag archive indexed and drop the weak ones.
Use the right tool to keep a page out of Google:
- noindex keeps a page out of search results. Google’s documentation says the page must stay crawlable, because Google has to load the page to see the noindex instruction.
- robots.txt controls crawling, not indexing. Blocking
/tag/there can leave URLs showing in results and hides your noindex from Google. - Redirects or rel=”canonical” are how Google says to merge duplicates. Its canonicalization guide says Google picks a canonical URL when a site has duplicate content, and it lists redirects and canonical tags as the ways to tell it which one you prefer.
Check your settings before you write copy for archives. On r/woocommerce, one store owner wrote unique text for their tag pages and only later found they had set tag archives to noindex in Yoast. If you suspect tag pages are competing with your main pages, use Search Console’s Performance report: filter to the tag URLs and see which queries they share with your posts before you decide anything.
If you would rather have someone else make the archive indexing changes, write the redirects and check the result, SiteSelf does that kind of SEO settings and redirect work on request through chat.
How to clean up a messy taxonomy without breaking links
Audit first and delete last. Renaming a term’s slug or deleting a term changes or removes an archive URL. Bookmarks, backlinks and Google’s index still point at the old address. Take a backup before you start.
- Export the lists. In Posts > Categories and Posts > Tags, record each term’s name, slug and post count.
- Flag the suspects. These are single-use tags, near-duplicates, and tags that copy a category. A low count is a reason to look closer. It doesn’t automatically mean delete.
- Decide each one. Keep it, merge it into another term, promote it to a category, convert it, or retire it.
- Merge or convert in bulk. WordPress’s Categories and Tags Converter (Tools > Import) converts selected terms from one taxonomy to the other. The free Term Management Tools plugin adds Merge, Set Parent and Change Taxonomy to the bulk actions on the term screens.
- Redirect what moved. Send each retired archive URL to its closest replacement with a 301. Don’t send unrelated archives to the homepage. See how a 301 redirect affects SEO for the details.
- Fix dependencies. Update menus, links inside posts, and any block or template query that names the old term.
- Test. Load old and new archive URLs while logged out, then watch Search Console for new 404s.
Deleting categories needs one extra check. WordPress’s documentation says deleting a category doesn’t delete its posts. It moves them to the default category, which itself can’t be deleted. So set a sensible default in Settings > Writing first. Otherwise the cleanup quietly fills “Uncategorized”.
A cleanup only lasts if there’s a rule behind it. Practitioners who train clients report that verbal training doesn’t stick. A written one-page policy does better: the approved category list, what each one covers, and “search before you create a tag”. Some agencies go further and turn off tags for clients who keep misusing them.
How WooCommerce product tags differ
WooCommerce has separate taxonomies for products and doesn’t use the post categories and tags. Its documentation describes three tools. Product categories are hierarchical departments such as Dresses or Shoes. Product tags are flat labels that cut across departments, such as “summer” or “gift idea”. Attributes are properties like size, colour or material, which shoppers filter by and which drive variations.
The common mistakes are using tags as main departments and using tags for business logic. A tag can say “Tuesday delivery”, but it won’t enforce a delivery day or an order cutoff. That needs a plugin built for it. Normally a product keeps a single URL however many categories it has, unless your product permalink base includes the category.
Frequently asked questions
Can tags have a hierarchy?
No. Only categories support parent and child terms. If you need nested subjects, use child categories. If the built-in pair doesn’t fit, as with recipes grouped by meal and by dietary need, register a custom taxonomy for each grouping.
Do I have to use tags at all?
No. Tags are optional, and plenty of well-run sites use categories only. Use tags if you’ll apply them consistently across sections and show them to readers. Otherwise they only add archives.
Do tags help SEO?
Not by themselves. The label carries no ranking value. A tag archive can bring in visitors if it’s a useful collection with real content, and a thin one only gives crawlers more pages to process.
Why can’t I see the category and tag boxes in the editor?
In the block editor they’re in the right-hand sidebar under the Post tab, often in collapsed panels. Check the editor’s Preferences to make sure the panels are enabled. If they’re still missing with a default theme and no plugins active, the install itself may be modified, which is worth raising with your host.
Can I change the slug of a category without losing traffic?
Yes, if you add a 301 redirect from the old archive URL to the new one when you make the change. Changing only the display name leaves the URL alone. Our guide to what a WordPress slug is covers where to edit each one.
Can Pages have categories and tags?
Not by default. Categories and tags apply to posts. A plugin or a few lines of code can add them to Pages, but first ask whether a page hierarchy (parent and child pages) already does the job.
Leave a Reply