Categories and tags (taxonomies) with no associated posts produce empty archive pages. Google flags such archives as thin content, and in sufficient volume that drags the entire domain down - not just the empty pages themselves.
Why this matters
Every time you create a tag without attaching a post, or remove all posts from a category without cleaning the category itself, you spawn an archive page at /category/some-name/ or /tag/some-name/ that renders as either empty or a "no posts found" message. Google crawls these via your sitemap or internal links and tags them as low quality.
The impact extends beyond the specific pages. Google's Helpful Content system evaluates the domain holistically - if 30% of your URLs are thin, it deflates the rankings of your good content too. On top of that, Google wastes crawl budget on worthless pages instead of crawling new content - slowing indexation of your fresh posts.
There is also a UX cost. Visitors who land on an empty archive (from internal search or external referral) see nothing useful and bounce immediately. That bounce signal tells Google the page does not match user intent and indirectly hurts rankings of surrounding pages too.
How to detect
Open Posts > Categories in WordPress admin. Confirm the "Count" column is visible - if not, open Screen Options at the top right and tick "Count". Sort by count (click the column header) so zero-post categories surface first. Repeat in Posts > Tags and in every custom taxonomy attached to your custom post types.
Complementary check: open Google Search Console > Pages > Not indexed and look at the "Crawled - currently not indexed" bucket - empty archives often pile up there. Google flagged them as thin content and chose not to index.
Third check: run Screaming Frog SEO Spider with a filter for URLs containing /tag/ or /category/ and look for pages with word count below 100. These are your candidates.
How to fix
Approach one: delete. Walk the empty taxonomy list. If a category is irrelevant or was created accidentally, delete it (Posts > Categories > Delete). WordPress removes the archive and Google drops it from the index on the next crawl.
Approach two: populate. If the category is planned for future content or matters to site structure, attach at least three posts immediately. The archive then has substance and stops being thin.
Approach three: noindex empty archives. In your SEO plugin (Yoast, Rank Math, RankPlus), set categories and tags with fewer than three posts to emit meta robots noindex. In Rank Math: Titles & Meta > Taxonomies > Categories - disable "Index Empty Categories". The archives remain crawlable but stay out of the index.
Approach four: redirect. If a category is being replaced by another, use the Redirection plugin to issue a 301 from the old archive to the new one - link equity transfers cleanly.
Common mistakes
First mistake: deleting a category that has external backlinks. Before deletion, check Ahrefs or Semrush for inbound links pointing at the URL. If there are any, set up a 301 to a relevant alternative instead of deleting outright.
Second mistake: tag overuse. WordPress lets you create unlimited tags, and many bloggers add a unique tag to every post. The result is hundreds of single-post archives, each thin in Google's eyes. Use tags sparingly - aim for a controlled set of 5-10 across the whole blog, each with five or more posts.
Third mistake: forgetting custom taxonomies. If the site uses custom post types (WooCommerce products, Events, etc.) it has extra taxonomies beyond categories and tags - product_cat, event_type, and so on. Audit all of them.
Verifying the fix
After deletion or noindexing, resubmit the sitemap in Google Search Console > Sitemaps. Watch the Pages report for 4-6 weeks - the count of URLs under "Crawled - currently not indexed" should drop measurably as Google removes the cleaned-up archives.