Skip to main content
Blog|
How-to guides

WordPress tags and categories for SEO

|
May 23, 2026|16 min read
HOW-TO GUIDESWordPress tags and categoriesfor SEOHOSTNEYhostney.comMay 11, 2026

Short answer: use categories as the structural backbone of your site (5-15 of them, hierarchical, one per post) and use tags sparingly for cross-cutting topics that span multiple categories. The biggest SEO mistake on WordPress sites is not adding tags, it is creating dozens of single-use tags that generate thin tag archive pages search engines either ignore or penalize. If you already have that problem, noindex your tag archives and consolidate, do not delete the tags.

Tags and categories are the two taxonomies that ship with every WordPress install. They look similar in the editor, but they do different SEO jobs and they break SEO in different ways when misused. This guide covers the difference, the trade-offs, and the exact settings that decide whether your taxonomies help rankings or hurt them.

Tags vs categories at a glance#

CategoriesTags
HierarchyYes – parent and child supportedNo – flat list
Posts per term10-50+ ideal5-20+ ideal
Terms per post1-30-5
Required on a post?Yes (defaults to Uncategorized)No
Default URL /category/<slug>/ /tag/<slug>/
Mental modelSections of a magazineIndex at the back of a book
Site-navigation useMain menu, footerFooter, in-post chips
SEO upside when done wellTopic landing pages that can rankNiche topic clusters across categories
SEO downside when done badlyFew, mildMany – thin content, duplicate snippets, crawl waste
Right default behavior in search indexIndexNoindex until proven useful

If you only remember one rule from this article: categories should be index-by-default, tags should be noindex-by-default. Flip either of those defaults only when you have a deliberate reason.

Why this matters for SEO#

WordPress generates an archive page for every category and every tag automatically. Each archive is a real, crawlable URL: /category/news/ , /tag/black-friday/ , /category/recipes/breakfast/ . Google indexes them, ranks them, and counts them against your site’s overall content quality.

That is the lever. Done well, your category archives become topic landing pages that pull traffic on broad queries (“vegan recipes”, “wordpress tutorials”) while individual posts pull traffic on specific queries. Done badly, your tag archives clutter Google’s index with hundreds of near-empty pages that look like spam to crawlers and dilute your site’s perceived quality.

Three specific effects to know about.

Index quality. Google’s site-quality systems look at the proportion of your indexed pages that are substantive. A site with 200 posts and 50 well-organized category archives has 250 useful URLs. A site with the same 200 posts and 800 single-use tag archives has 200 useful URLs and 800 thin pages dragging down the average. The fix is not always to delete – usually it is to noindex.

Duplicate or near-duplicate content. A post in category “Recipes” and tagged “vegan”, “gluten-free”, “dinner” appears on four archive pages by default. If those archives show full post content or long excerpts, you have created five URLs that all contain the same paragraphs. Google’s duplicate detection handles this most of the time, but it costs crawl budget and signals weak structure.

Crawl budget. On a site with thousands of posts, every URL Google crawls is one it does not crawl elsewhere. A bloated tag archive layer eats crawl budget that should be going to new posts and updated pages. This shows up in Search Console crawl stats as a high “discovered – currently not indexed” count.

How long does it take to clean up tags and categories#

TaskTimeWhen to do it
Audit existing categories and tags30-45 minBefore changing anything
Decide which tag archives to noindex15 minAfter audit
Set tag archives to noindex in Yoast or Rank Math5 minSitewide flip
Consolidate tags (merge near-duplicates)1-2 hours per 100 tagsAfter noindex is in place
Rename or delete the Uncategorized default5 minFirst-week setup task
Set category archive title and meta description5-10 min per categoryOne-time, do it for every kept category
Add a description on each kept category10 min per categoryAfter picking the keepers
Add 301 redirects from deleted tag URLsDepends on countOnly if archives had inbound links
First measurable Search Console impact4-8 weeksAfter Google re-crawls the noindex directives

If you are starting fresh, the time investment is small – get the defaults right once and move on. If you are cleaning up a site that already has 800 tags, plan a half-day for the audit and noindex flip, then revisit consolidation across multiple sessions.

The single biggest mistake: one post per tag#

By far the most common WordPress taxonomy mistake is treating tags like keywords. The pattern looks like this: every time you write a post, you brainstorm 8-12 “relevant” keywords and add them as tags. Over 50 posts that is 500-600 tag terms, almost all of which appear on only one or two posts.

The result is hundreds of tag archive URLs with one or two posts each. Each archive page is mostly the post title and excerpt, surrounded by sitewide chrome. To Google, those are thin, duplicate, low-value pages – exactly what spam factories produce.

The right mental model: a tag should describe a topic that genuinely appears in multiple posts across multiple categories. If a tag will only ever live on one post, that is not a tag – that is a phrase the post contains. Phrases belong in the post body, not in the taxonomy.

A practical filter: do not create a tag until you have at least three posts it would apply to. If you cannot think of three, the tag is too narrow.

Categories: how to set them up for SEO#

Categories are the easier of the two taxonomies because the rules are stricter. Most sites should:

  • Have 5 to 15 top-level categories, no more
  • Use subcategories sparingly – one or two levels deep at most
  • Assign one category per post (occasionally two, never five)
  • Index every category archive in Google
  • Fill in the category description for every category that earns its keep

If your category structure already looks like that, you do not need to touch it. If it does not, the cleanup pattern is in how to add and manage categories in WordPress – the article covers the mechanics of merging, renaming, and reorganizing.

Make category archives rank-worthy#

Most WordPress sites publish good posts and ignore the category pages those posts live in. Search engines treat category archives like any other landing page. A well-built category archive can outrank individual posts on the broad query for that topic.

The three changes that move a category archive from filler to landing page:

Fill in the category description. In Posts > Categories > [Edit category], the Description field accepts paragraphs of HTML. Most themes display it as an intro above the post list. Write 100-300 words explaining what the category covers, who the content is for, and what topics it includes. This becomes the body content of the archive page.

Set the SEO title and meta description. Yoast and Rank Math both expose per-category SEO fields. Same fields as for posts: title template override, meta description, robots controls, OG card. Treat the archive like a landing page and give it a deliberate title and snippet. We covered the underlying meta tag mechanics in how to add meta tags to WordPress homepage.

Reduce the noise on the archive layout. The default category archive on most themes is a list of post titles and excerpts. That is fine when the description is strong. If your theme dumps the full post content on the archive, switch to excerpts – or you have created intra-site duplicate content where the archive competes with the post for the same query.

Use subcategories only when they help readers#

A two-level hierarchy like Recipes > Breakfast is useful when the parent has enough posts that subgroups genuinely help navigation. Three or more levels almost always hurt – they create deep URLs, fragment topic authority, and confuse both visitors and search engines.

A post in a subcategory is not automatically in the parent category. Either check both boxes manually or rely on themes that handle this in the archive template. Most themes do not.

Tags: how to set them up for SEO#

Tags are harder because the defaults are not safe. WordPress lets you create unlimited tags with no warnings, and most themes do nothing to discourage tag bloat. The rules to follow:

  • Noindex tag archives until you have a tag that earns its index slot
  • Require at least 3 posts before creating a tag
  • Cap tags per post at 5 – more is almost always tag spam
  • Consolidate near-duplicates aggressively ( /tag/wordpress/ and /tag/word-press/ should not both exist)
  • Delete unused tags every quarter

Noindex tag archives by default#

In Yoast: SEO > Search Appearance > Taxonomies > Tags, set “Show tags in search results” to No. This adds <meta name="robots" content="noindex, follow"> to every tag archive.

In Rank Math: Titles & Meta > Tags, switch the “Robots Meta” to noindex.

In SEOPress: SEO > Titles & Metas > Tag Archives, check Noindex.

noindex, follow is the right combination. Noindex keeps the archive out of search results. Follow keeps the internal links on the archive (back to your posts) flowing PageRank. This is the same pattern we recommend for any utility page in how to hide pages, make your site private, or put it under construction.

Why noindex by default: most tag archives on most WordPress sites are not strong enough content to be useful in search. Noindex removes them from the calculation. If a specific tag archive eventually becomes substantive, you can flip that one tag back to index from the same screen.

When tags help and when they hurt#

Tags help when:

  • They describe a cross-category topic (a tag like “vegan” that applies across “breakfast”, “dinner”, “snacks” categories)
  • The tag archive contains 15+ substantive posts with strong excerpts and a real description
  • The tag is something visitors would want to filter by (recipes by dietary need, articles by skill level)
  • You are deliberately building a topic cluster around that tag for SEO

Tags hurt when:

  • You add 10+ tags per post as if they were keywords
  • Most tag archives have 1-3 posts (thin content)
  • Tags duplicate category meaning (a “Recipes” category and a “recipes” tag)
  • Tag archives are indexed but empty (Google sees the archive, finds no useful content, flags the site as having low-value pages)

Consolidating tag bloat#

If you already have 400 tags and most have one or two posts each, here is the cleanup sequence:

  1. Noindex all tag archives first (5 minutes). This stops the bleeding before you touch any data.
  2. Audit in Posts > Tags. Sort by post count. The tail of single-use tags is what you need to deal with.
  3. Merge near-duplicates. Yoast Premium and Rank Math Pro both ship a Merge feature. Free alternative: Term Management Tools plugin. Pick the canonical version ( wordpress not word-press ) and merge the variants into it.
  4. Delete single-use tags that are not part of a planned cluster. Removing a tag does not delete its posts – it just unassigns the tag from each post.
  5. Set up 301 redirects for any tag archive URLs that had inbound links or organic traffic. Search Console > Pages > “Discovered – currently not indexed” filtered to /tag/ is a good starting list.
  6. Wait 4-8 weeks for Google to recrawl. The “discovered – currently not indexed” count should drop and crawl frequency for the rest of the site should increase.

Tag and category URL structure#

WordPress prefixes both archives by default: /category/<slug>/ and /tag/<slug>/ . Some sites want shorter URLs.

Category base. Change it under Settings > Permalinks > Category base. You can rename it ( topics , section ) but you cannot leave it blank through the UI – WordPress requires a non-empty value. To remove the prefix entirely you need a plugin (Yoast Premium has the option, Rank Math has it free in General Settings > Links).

Tag base. Same screen, same rules. The default is tag . Rename or leave alone.

Removing the prefix creates URL collisions. A category slug news and a page slug news cannot both live at /news/ . WordPress resolves pages first, so the category becomes inaccessible. Audit your existing pages and posts before flipping this. The full mechanics, including how the permalink rewrite rules interact, are in our permalinks guide.

If your category URLs already include the category ( /%category%/%postname%/ ), changing the category base affects every post URL on the site. That is a structure change that needs site-wide 301 redirects, not a casual tweak.

Common taxonomy problems and how to fix them#

SymptomLikely causeFix
“Discovered – currently not indexed” count keeps growingTag archive bloatNoindex tag archives, consolidate single-use tags
Category archive ranks below an individual post for the broad queryEmpty category description, no meta optimizationFill in description, set SEO title and meta on the category
Posts assigned to 5+ categoriesAuthors using categories like keywordsTrain authors, cap at 2, run a cleanup pass
Tag pages outrank your homepage for the brand queryBrand name accidentally used as a tagDelete the tag, redirect /tag/<brand>/ to /
Categories and tags with identical namesNo taxonomy planPick one, delete the other, redirect
Subcategory archive emptyPosts only assigned to the parentAdd subcategory checkboxes on the existing posts
Tag archive shows full post content (duplicate)Theme renders content not excerptSwitch to excerpts in the archive template, or use excerpts deliberately
Tag archive 404 after permalink changeOld /tag/ URLs not redirectedAdd 301s for the old tag URLs that had traffic
“Uncategorized” category showing in searchDefault category never renamedRename in Posts > Categories, or replace and delete
New tag archive indexed despite Yoast noindexCache or robots.txt blocking the crawl that would see the noindexPurge the cache, confirm the meta tag is present, request indexing in GSC

Common mistakes to avoid#

  1. Treating tags as keywords. Tags are taxonomies, not metadata for search engines. The keyword you want to rank for goes in the post title, headings, and body, not in a tag.
  2. Indexing every tag archive by default. Almost no WordPress site has enough content per tag to justify universal indexing. Start with noindex, earn the index.
  3. Creating a tag for every brand or person you mention. “Mentioned David” with one post is not a tag. It is a phrase. Phrases live in the body.
  4. Letting the category list grow past 20. A long category list signals to readers that the site has no editorial focus. It also fragments topic authority.
  5. Nesting categories three or more levels deep. Recipes > Breakfast > Pancakes > Sweet is over-engineered. Two levels max.
  6. Deleting tags without redirecting the archives. If a tag archive had inbound links or organic clicks, deleting it creates 404s. Always redirect first, delete after.
  7. Not filling in category descriptions. An empty description is a missed ranking opportunity. The description is the body content of the archive page.
  8. Showing full post content on archive pages. This creates intra-site duplicate content where the archive competes with the post. Use excerpts.
  9. Mixing categories and tags for the same purpose. Pick one taxonomy per dimension. If “dietary restriction” is a thing on your site, decide whether it is a category dimension or a tag dimension and commit.
  10. Forgetting the Uncategorized default. Every fresh install ships with “Uncategorized” as the fallback. Rename it to something meaningful in the first week or you will accumulate posts there forever.

Should categories appear in the URL?#

If your permalink structure is /%postname%/ (the recommended default), categories do not appear in post URLs – only on the category archive itself. This is what most sites should use.

If your permalink structure is /%category%/%postname%/ , the category becomes part of every post URL. Problems with this:

  • A post in multiple categories gets one URL but the chosen category is arbitrary
  • Moving a post to a different category breaks its URL (or forces a redirect)
  • URLs get long, which hurts CTR in search
  • Reorganizing the category structure becomes a site-wide migration

The WordPress permalinks guide covers when this structure is defensible (almost never) and how to change away from it safely.

How Hostney handles tag and category archives#

Tags and categories are content decisions, not server decisions, so most of this is on you and your SEO plugin. Hostney’s job is to make sure the choices you make reach search engines cleanly.

Server-rendered archive pages. Category and tag archives render server-side in WordPress and are delivered as full HTML. Crawlers – including AI crawlers that often skip JavaScript – see the description, the meta tags, the post list, and the canonical URL exactly as you set them.

Cache invalidation on taxonomy changes. When you edit a category description, change a tag’s slug, or noindex an archive, the cache layer purges automatically so the new state is what crawlers see on the next visit. We covered the cache purging architecture in detail.

Crawl access for legitimate bots. Verified search engine and AI crawlers bypass bot scoring entirely via reverse-DNS verification. That means Googlebot working through your tag archives never hits a challenge page, never gets rate-limited, and never sees stale cache.

HTTP/3 for archive crawl efficiency. Faster archive delivery means more pages crawled per visit, which matters most on sites with deep category structures or large tag inventories.

Daily backups. Taxonomy data lives in the database ( wp_terms , wp_term_taxonomy , wp_term_relationships ). A botched merge or accidental delete is one restore away from being undone.

What we do not do. We do not audit your tag bloat, recommend which tags to merge, or noindex archives for you. That layer belongs to your SEO plugin and your editorial judgment. We make sure the decisions you make are delivered cleanly and quickly to every crawler.

Frequently asked questions#

Should I noindex tag archives or delete them?

Noindex first. Deleting tags removes the archive but also unassigns the tag from every post, which can break in-post tag chips, related-post widgets, and any UX that depends on the tag. Noindex keeps the data intact and removes only the SEO drag.

Can I use tags without categories?

You can, but you should not. Every post needs at least one category (WordPress defaults to “Uncategorized” if you skip it). Categories are the structural taxonomy that everything else hangs off.

Do tag archives pass PageRank to posts?

With noindex, follow they do. The “follow” half keeps internal links live for ranking purposes even though the archive itself does not appear in search.

How many tags is too many?

On a single post: more than 5 is suspicious, more than 10 is almost always wrong. Site-wide: if you have more tags than posts, you have tag bloat.

Should I merge or rename my Uncategorized category?

Rename it. Pick a default that actually describes content (like “General” or your most common topic) and rename Uncategorized to that. Change the default post category in Settings > Writing too.

Does Google penalize sites with bad taxonomy?

Not as a specific signal. But thin tag archives count toward site-quality calculations, and a bloated taxonomy can dilute topic authority. The effect is real, just indirect.

Can a category page rank for a competitive keyword?

Yes – and on well-organized sites, category archives often outrank individual posts on broader queries. The keys are a substantive description, real internal linking to and from the archive, and a meta description that matches search intent.

Should I use the same slug as my keyword?

For categories, yes – if it reads naturally as a URL. For tags, slug optimization is mostly wasted effort because most tag archives should be noindex anyway.

Do I need to redirect deleted tag archives?

Only if they had inbound links or organic traffic. Check Search Console > Pages or your backlink tool. For dead tags with zero external signal, a clean 404 is fine.

Quick checklist#

  1. Limit top-level categories to 5-15
  2. Use subcategories one level deep, sparingly
  3. Assign one category per post (rarely two)
  4. Rename or replace the Uncategorized default
  5. Fill in the description on every category that earns its keep
  6. Set per-category SEO title and meta description
  7. Noindex all tag archives by default in Yoast, Rank Math, or SEOPress
  8. Require three posts before creating any tag
  9. Cap tags per post at 5
  10. Consolidate near-duplicate tags every quarter
  11. Audit Search Console “discovered – currently not indexed” for /tag/ URLs
  12. Use excerpts, not full content, on archive templates

Tags and categories are deceptively simple. They look like checkboxes in the editor, but they decide whether your site has 200 useful URLs or 200 useful URLs plus 800 SEO dead weights. The settings that matter most – one category per post, noindex tag archives, fill in the descriptions – take an hour to get right and pay back for the life of the site. Most WordPress sites never get this hour, which is why category and tag taxonomy is one of the highest-leverage SEO cleanup tasks on an existing site. For small businesses specifically, taxonomy discipline is one of the on-page levers covered in WordPress SEO tips for small businesses – the lean category list (5-10 categories, tags noindexed by default) is what keeps a small-business site easy to maintain over years.