Every post you publish generates archive pages you did not write. Its category archive, one archive per tag, the author archive, the date archives, and a place in the paginated blog index.
On a site with 50 posts and 200 tags, WordPress has published around 250 pages of your content rearranged into lists. Most of them are thin, most add nothing, and by default all of them are indexable.
The fix is not complicated, but there is one trap that makes things worse and it is the most intuitive move available: blocking archives in robots.txt. Google is explicit that this prevents the noindex from ever being seen.
Categories and tags are not the same thing
WordPress presents them as two flavours of the same feature. They are not, and using them as though they were is the root of most of this.
A category is a section. It answers "what part of this site is this?" — and a site should have few. Five to ten is plenty for most blogs, and every post belongs in exactly one.
A tag is a cross-reference. It answers "what else is this related to?" — and it only earns its place if several posts share it.
The failure mode is the same everywhere: categories used as tags, so there are forty of them with two posts each; tags added freely at publishing time, so there are three hundred with one post each.
The test for both: would a reader want a page listing everything with this label? If only one post has it, the answer is no, and the archive is a page listing one thing.
Which archives should be indexed
| Archive | Default position | Why |
|---|---|---|
| Category | Index — if you use few, deliberately | A genuine hub page listing a real section |
| Tag | Noindex, in most cases | Thin, numerous, and duplicative of the posts |
| Date | Noindex | Almost never useful to anyone |
| Author | Index on multi-author sites, noindex on solo |
On a one-author blog it duplicates the blog index |
| Paginated blog index | Index page one; the rest rarely matter | Page 40 of a blog index serves nobody |
| Search results | Noindex, always | Infinite thin pages generated by visitors |
The reasoning throughout is the same: an archive earns indexing if someone would want to land on it from a search. A category page listing thirty posts on a real subject qualifies. A tag page listing one post does not.
The category exception is worth stating positively. A well-used category archive with a description and a coherent set of posts is a legitimate hub page, and on some sites it outranks the individual posts — which is fine, because it is a better answer to a broad query. That is the same logic as internal linking and topic clusters.
The robots.txt trap
The intuitive fix is to block /tag/ in robots.txt. It is the wrong move and it makes things worse.
Google's wording is unambiguous:
"For the
noindexrule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler. If the page is blocked by a robots.txt file or the crawler can't access the page, the crawler will never see thenoindexrule, and the page can still appear in search results."
So a blocked archive with a noindex on it can still appear in results — as a bare URL with no description, because Google was never allowed to read the page it was told not to index.
The correct sequence:
- Allow crawling of the archives
- Apply
noindexto the ones that should not be listed - Wait for them to be recrawled and dropped
- Only then, if crawl budget is genuinely a concern, consider blocking — and on a small site it is not
The robots.txt half of this is covered in robots.txt mistakes, and it is the single most common way people make an indexing problem worse while trying to fix it.
Fixing an existing site
Seven steps. This is a cleanup, so back up first.
Step 1 — Count what you have
Posts, categories, tags. The ratios tell you the problem immediately.
More categories than ten, or more tags than posts, means the taxonomy is being used as a filing habit rather than a structure.
Step 2 — Decide the category set first
Five to ten sections that describe your site. Write them down before looking at what exists.
Then map every existing category onto that list. Some merge, some become tags, some disappear.
Step 3 — Merge and reassign, carefully
Merging categories changes which archive a post appears on.
If your permalinks include the category — a structure this site's permalinks guide advises against for exactly this reason — merging changes post URLs and every one needs a redirect. Check this before you start.
Redirect the archives you remove to the category that replaced them. Do not leave them 404ing if they had any links or traffic.
Step 4 — Deal with the tags
Two honest options.
Keep tags, use them sparingly, and noindex the archives. Tags remain useful for internal navigation without adding thin pages to the index.
Or stop using tags. Many blogs lose nothing. If every tag has one post, the feature is doing no work.
Either way, delete the single-use tags. They are the ones generating one-item archive pages.
Step 5 — Apply the noindex rules
Site-wide, through your SEO plugin's settings rather than page by page: tags noindex, dates noindex, search results noindex, author archives depending on your setup.
Then verify on a real page. View source on a tag archive and confirm the robots meta tag is actually there — settings screens and output do not always agree.
Step 6 — Check the sitemap agrees
Open your sitemap and read it. If it still lists tag archives you have just set to noindex, you are telling Google two different things, and one of them is wasted.
Configuration is in WordPress sitemaps, properly configured.
Step 7 — Watch Search Console for a month
The Pages report will show archives moving out of the indexed set. That is the change working.
It is not instant, because each page has to be recrawled before the noindex is seen — which is precisely why the crawling has to stay allowed.
Making category archives worth keeping
If you are going to index them, make them earn it.
- Write a description for each category and make sure your theme displays it. A category archive with a real introduction is a page rather than a list
- Order deliberately where you can, rather than defaulting to reverse chronology forever
- Link to them from your navigation, so they receive internal authority rather than only emitting it
- Keep them populated. A category with two posts is a tag pretending otherwise
- Do not let them duplicate a pillar page. If you have both a "WordPress" category archive and a WordPress pillar article, decide which one owns the broad query — otherwise you have built the problem described in keyword cannibalisation
That last point is the one people miss. On a site organised into pillars and spokes, the pillar article and the category archive can end up competing for the same query. The pillar should usually win, and the category archive should support rather than duplicate it.
What not to do
Do not block archives in robots.txt to hide them. It prevents the noindex from being read.
Do not delete tags with traffic without checking Search Console first. Occasionally a tag archive ranks for something real.
Do not use noindex on category archives you link to in navigation. Telling readers a page matters while telling search engines it does not is a contradiction — pick one.
Do not create a tag per post. It is the definition of a single-use tag and it generates one thin page each time.
Do not put categories in your permalinks unless you are certain the structure will never change. Reorganising categories then becomes a URL migration.
Do not fix everything in one afternoon on a large site. Merge in batches, watch what happens, and keep the redirects tidy.
Frequently asked questions
Should I noindex WordPress tag pages?
Usually yes. Most sites have many tags with one or two posts each, so the archives are thin and duplicate the posts. Keep tags for internal navigation if they are useful, and keep the archives out of the index.
What is the difference between categories and tags in WordPress?
A category is a section — what part of the site a post belongs to, with each post in one — and a site should have few. A tag is a cross-reference, and it only earns its place when several posts share it.
How many categories should a WordPress blog have?
Five to ten for most blogs. More than that usually means categories are being used as tags, which produces many thin archive pages and no clear site structure.
Should I block tag archives in robots.txt?
No. Google states that a page blocked by robots.txt will never be crawled, so a noindex rule on it is never seen and the page can still appear in results. Allow crawling, apply noindex, and wait for recrawling.
Do category pages help SEO?
They can, when you use few categories deliberately and each archive lists a coherent set of posts. A category archive with a description is a genuine hub page. A category with two posts is a tag pretending otherwise.
Should I noindex author archives?
On a single-author blog, yes — it duplicates the blog index. On a multi-author site an author archive can be a genuine page, particularly where the author's expertise is part of why the content is trusted.
Will removing tags hurt my rankings?
Rarely, but check Search Console before deleting, because occasionally a tag archive ranks for something real. Delete single-use tags freely; those are the ones producing one-item archive pages.
Can a category archive compete with my main article?
Yes, and on a pillar-and-spoke site it happens. Decide which one owns the broad query — usually the pillar article — and make the archive support it rather than duplicate it.
What to do next
Go to Posts → Tags and sort by count. Every tag with a single post is generating an archive page that lists one thing.
Delete those. It is the fastest cleanup available in WordPress SEO and it usually removes more pages than anything else you will do this month.
Related guides
- WordPress SEO: what the platform decides for you — the defaults this page fixes
- WordPress permalinks and URL structure — why categories in URLs cause trouble
- WordPress sitemaps, properly configured — making the sitemap agree
- Robots.txt mistakes — the trap in full
- Keyword cannibalisation — archives competing with articles
- Internal linking and topic clusters — structure that does the same job better
- Why a page is not indexed — when noindex is the accidental cause
The short version
- Count what you havePosts, categories and tags. More than ten categories, or more tags than posts, means the taxonomy is a filing habit rather than a structure.
- Decide the category set firstFive to ten sections that describe your site, written down before looking at what exists. Then map every existing category onto that list.
- Merge and reassign carefullyIf your permalinks include the category, merging changes post URLs and each needs a redirect. Redirect removed archives to the category that replaced them.
- Deal with the tagsEither keep them sparingly and noindex the archives, or stop using them. Either way, delete single-use tags u2014 they are the ones generating one-item archive pages.
- Apply the noindex rules site-wideTags, dates and search results noindexed through your SEO plugin's settings; author archives depending on your setup. Then view source on a real archive to confirm the tag is actually output.
- Check the sitemap agreesIf it still lists archives you have set to noindex, you are telling Google two different things and one of them is wasted.
- Watch Search Console for a monthThe Pages report shows archives leaving the indexed set. It is not instant, because each page must be recrawled before the noindex is seen.
The WordPress Email Delivery Checklist
Stop your WordPress emails from failing silently. Get the complete setup guide.

Muhammad Basim has worked in digital marketing since 2013, focused on email deliverability and AI-assisted content production. He is the author of The Email Deliverability Playbook and The Email Copywriting Playbook.
Related Articles

Choosing a WordPress SEO Plugin
This page names no winner, and the reason is that the choice matters far less than the category's marketing implies. The major WordPress SEO plugins do the same six things. They have converged, they will continue to converge, and the difference between them is interface preference and a small number of features most sites never […]

Two-Factor and Login Hardening for WordPress
Login attacks against WordPress are constant, automated and indiscriminate. Every public WordPress site receives them, regardless of size or traffic, because the cost of trying is near zero. They are also the least successful route into a WordPress site. Vulnerable plugins account for more compromises than password guessing, which is worth holding onto — login […]

WordPress Email: Why Your Site’s Emails Never Arrive
WordPress sends email in a way that fails modern authentication by default, and it reports success while doing it. That combination is why this problem is so persistent. The site is not broken. Nothing is logged. wp_mail() returns true, the order is placed, the form says thank you — and the message never reaches an […]

