Every WordPress site generates archive pages you never asked for. Assign one tag to one post and WordPress creates /tag/whatever/, a real URL that returns 200 and is linked from the post. Do that carelessly for a year and you have a few hundred thin pages that Google has to crawl before it gets to the ones you wrote.
The advice that circulates is “noindex your tags”. It is not wrong often enough to be useless and not right often enough to follow blindly. Here is the version I actually use on audits.
Why the pages exist at all
This is not a plugin doing it. It is WordPress core. The template hierarchy defines category.php and tag.php as first-class templates, which means every term in every taxonomy has a URL by design. Custom taxonomies from plugins do the same thing, which is how a WooCommerce store ends up with product category, product tag and attribute archives on top of the two that came with WordPress. Those term archives also get listed in the core wp-sitemap.xml unless an SEO plugin has replaced it, so an archive you never curated is not just reachable, it is actively advertised to crawlers.
So the count is not “the categories I set up”. It is every term ever created, including the ones created by accident when someone typed a tag slightly differently, plus every paginated page of each of them.
The case for keeping them
A category archive on a site with real categories is a useful page. It lists everything on one subject, it is a hub other pages link to, and it is often the most sensible landing page for a broad query. Google’s own helpful content guidance asks whether a page provides substantial value compared with other pages in results, and a well-maintained category page with twenty posts and an introduction clears that easily.
There is a crawling argument too, and it is the one people forget when they reach for noindex. Archives are how Google walks a WordPress site. They are the internal links that connect a post published two years ago to something crawlable today. Strip too many of them out and older posts lose their route in, which is the same mechanism behind pages that drift out of the index months after nothing appeared to change.
The case against
Tag archives on most sites are a different animal. The typical pattern in an audit is fifty to two hundred tags, most attached to one or two posts, producing pages whose entire content is a heading and one excerpt that also exists on the post itself and on the category archive and on the homepage.
Those pages are not penalised. They are ignored, and being ignored has a cost anyway: they consume crawl on a site whose real pages are already waiting, and they show up in the Page indexing report as crawled, currently not indexed or as duplicates. The report then reads as though something is wrong when the site is working exactly as configured.
Rank Math has a setting for the sharpest version of this case, and its documentation is blunt about why:
If you have created a bunch of categories and tags, but there are no posts associated with them, then not only will empty archive pages be created, they will also be indexed.
Its “Noindex Empty Category and Tag Archives” option turns off exactly the pages with no argument for existing, and nothing else. If you want one change rather than a policy, that is the one to make. And while you are in Rank Math’s settings, spend two more minutes on a different kind of check: version 1.0.277’s new support agent creates an admin application password without an authorization screen, and I read the plugin code to see exactly what it does.
How to decide, per archive
Ask one question about each archive, and it is not an SEO question: would a person ever want this list?
- A category you use in navigation, with several posts under it. Keep it indexable. Write two or three sentences of introduction so it is not purely a list of links.
- A tag attached to one post. Noindex it, or better, delete the tag. The post is the page you want ranked, and a one-item archive competes with it while adding nothing.
- An empty term. Delete it. Noindex is the fallback for when you cannot.
- Paginated pages,
/category/x/page/2/onward. Leave them indexable and leave them alone. They are how Google reaches older posts, and Google handles them without help. - Author archives on a single-author site. These are a near-duplicate of your blog index. Noindex is usually right, and it is the one archive people forget exists.
How to apply noindex correctly
Two ways, and only one is a good idea.
Use your SEO plugin’s taxonomy settings. Both Rank Math and Yoast expose per-taxonomy indexing controls that write a noindex robots meta tag on the archive template. That is the mechanism Google documents in block search indexing with noindex, and it is the correct one.
Do not do it in robots.txt. Disallow: /tag/ does not remove anything from Google. It stops Google fetching the page, which means Google cannot see the noindex tag on it, and a disallowed URL can still be indexed on the strength of links pointing at it. This is the single most common self-inflicted wound I see on WordPress sites and I have written it up at length in noindex vs robots.txt. If you take one thing from this post, take that one.
Also expect the change to be slow. Google has to recrawl each archive to see the new tag, and on a site where those archives were low priority to begin with, that can take weeks. The count in Search Console moving slowly is not the change failing.
What I do on client sites
I look at the numbers before I touch a setting. Count the terms, count how many have fewer than three posts, and check what the Page indexing report already says about them. Nine times out of ten the tags are the problem and the categories are fine, which is not the same advice as “noindex archives” and produces a different site.
Then I fix the cause rather than the symptom where I can. A site with 180 tags and 60 posts does not have a noindex problem, it has a tagging habit, and hiding the output of that habit leaves the habit running. Deleting terms is more work than a checkbox and it is the fix that stays fixed. This is the same instinct behind not shipping attachment pages nobody meant to publish: WordPress generates URLs on your behalf, and the job is deciding which of them you actually meant.
Once you have decided an archive stays, there is a second question waiting behind it: what happens to /page/2/ and everything past it. That one has a different answer, and whether WordPress paginated archives should be indexed is where the plugin defaults turn out to matter more than the settings screen suggests.
Stores have a second version of this problem that behaves differently, because WooCommerce noindexes its own cart and checkout pages and something on the site has to break that for them to rank. Why WooCommerce cart and checkout pages show up in Google covers it.
Sources
- WordPress Theme Handbook, template hierarchy, category and tag templates, checked 28 August 2026
- Rank Math, titles and meta options, the “Noindex Empty Category and Tag Archives” setting and its rationale, checked 28 August 2026
- Google Search Central, block search indexing with noindex, on the robots meta tag and why a blocked page cannot be read
- Google Search Central, creating helpful, reliable, people-first content, on substantial value compared with other results
