Do empty categories and tags hurt SEO in WordPress?
Not in small numbers, but they are worth removing. An empty category or tag still has an archive address that returns a normal 200 page saying nothing was found. Google tends to treat such pages as soft 404s. Dozens of them are clutter you can delete in a minute.
What WordPress serves for a term with no posts
Create a category, assign nothing to it, and visit /category/that-slug/. You get the archive template with the category's name as the heading and your theme's "nothing found" message, with an HTTP status of 200. Core's request handling makes a deliberate exception here: when a category, tag or custom taxonomy term exists, its archive is not turned into a 404 just because it has no posts.
Core does limit the exposure in two ways:
- The sitemap skips empty terms. The core taxonomy sitemap lists only terms that have at least one published post.
- Category lists hide them. The function behind the Categories block and widget hides empty categories by default, so visitors rarely see a link.
That means an empty term is usually reachable only by someone who knows the address. It becomes visible to Google when something links to it: a navigation menu item added by hand, a tag link left in old content, or a term that used to have posts and was indexed before they were moved or deleted.
How search engines treat them
A page that returns 200 but has no real content is what Google calls a soft 404. In the Page indexing report these appear under "Soft 404", and they are excluded from the index. That is the right outcome and costs you nothing directly.
The reasons to tidy up anyway:
- Crawl attention. Every address Google knows about gets rechecked now and then. On a small site this is irrelevant; on a large one with thousands of tags, it is requests spent on nothing.
- Visitors. Someone who lands on an empty section from a menu or an old link sees a dead end.
- Signals about the site. Many empty or one-post archives suggest a taxonomy that was never maintained, and the same sprawl usually means thin archives elsewhere.
The category that had posts and lost them deserves the most care. If its archive ranked or had links, an empty 200 page throws that away, while a redirect to the closest live category keeps it.
Why empty terms accumulate
- Tags typed once and never reused, then removed from the post.
- Imports that create every term from the old site, including ones no post uses.
- Categories planned at launch for content that was never written.
- Posts deleted or recategorised, leaving their old terms behind.
- Plugins that register taxonomies with default terms.
On Posts → Categories and Posts → Tags, the Count column shows how many posts each term has. Click the column heading to sort and the zeros gather at one end.
What to do with each kind
Never used, no links, not indexed: delete it. Select the terms, choose Delete from bulk actions. Nothing needs redirecting.
Used to have posts, or is indexed or linked: delete it and redirect its old archive address to the most relevant category that still has content. Check first with a site: search or URL Inspection.
Planned, with posts coming soon: keep it, and keep it out of the index until it has something to show. Hydrogen SEO does this automatically: Noindex Empty Archives, on by default under Titles & Meta, adds noindex to taxonomy archives with no posts and leaves empty terms out of the sitemap, as described in SEO titles and meta descriptions. When the first post is published in the term, the archive becomes indexable again without any action.
The default category: it cannot be deleted while it is the default. Rename it to something meaningful, or pick a different default under Settings → Writing first.
Then remove links to deleted terms. Menu items that point to the term are removed with it automatically; hand-typed links in content, widgets and custom menu links are not, so search for the old slug.
One-post terms are the bigger problem
Empty terms are easy. The larger pool on most sites is tags with a single post. Each has an archive that lists one excerpt, which makes it a weaker copy of that post. They are not errors, but hundreds of them are thin pages.
A rule that keeps things tidy: a tag earns its place when at least three posts share it and more are likely. Merge synonyms ("espresso machine", "espresso machines", "espresso-maker") into one, delete the singletons, and consider noindexing tag archives as a group if you do not curate them. The trade-offs are covered in noindexing tag and category archives.
Common questions
Does an empty category return a 404?
No. WordPress returns 200 with a "nothing found" message for a term that exists but has no posts. Only a term that does not exist returns 404.
Are empty categories listed in the XML sitemap?
Not in the core sitemap, which lists only terms with published posts. Hydrogen SEO's sitemap leaves them out as well.
Will deleting an empty category affect my posts?
No. No post is assigned to it, so nothing changes except that its archive address now returns 404.
Should I noindex or delete an empty tag?
Delete it if you have no plan to use it. Noindex is for terms you intend to fill.