Should Tag Pages Be Noindex? (For Most Sites, Yes)

When tag archives help SEO and when they hurt — plus the exact noindex pattern, the robots.txt mistake to avoid, and copy-paste code for WordPress, Astro, and Next.js.

Tag pages were a 2010 idea that mostly survives as cruft in 2026. A typical indie blog generates one tag archive per tag, ends up with 200 of them holding 1-3 posts each, and quietly ships a few hundred near-duplicate URLs that rank for nothing and eat crawl budget. The fix is one HTML line plus one robots.txt rule you must NOT add. Here is the decision and the exact pattern.

TL;DR

  • Default to <meta name="robots" content="noindex, follow"> on tag archive pages for ~95% of indie content sites.
  • Keep tags as a browse/filter feature. noindex removes them from Google’s index; it does not remove them from your nav.
  • follow is required, not optional: it tells Google to keep crawling the article links on the tag page so internal-link equity still flows.
  • Do NOT Disallow: /tag/ in robots.txt. That blocks crawling, so Google never reads your noindex tag — the worst of both worlds.
  • Index a tag page only if you have written original intro copy for it and Search Console shows it earning non-brand impressions.

What a tag page actually is

A tag archive is an auto-generated list of every post carrying a given tag. The problem is structural, not cosmetic:

  • Tags multiply, categories don’t. Categories are a small fixed taxonomy (5-15 entries). Tags accumulate because every author invents new ones, so a 300-post blog routinely has 200+ tag URLs.
  • They’re near-duplicates of each other and of category pages. Most tag archives share the same template, the same title pattern, and an overlapping post list. Google sees thin, repetitive list pages competing with your real category and topic hubs.
  • They drain crawl budget. Per Google’s own crawl-budget guidance, every URL Googlebot fetches counts. A noindex page is still crawled before it’s dropped, so the win isn’t “Google stops fetching them” — it’s “Google stops surfacing thin pages in results and, over time, crawls them less often.” (Google: Crawl Budget Management)

How to tell if your tag pages are a liability

Any one of these is a signal. Two or more means ship the noindex:

  • You have more tag pages than articles, or close to it.
  • Most tag pages hold only 1-2 posts.
  • The Search Console Pages report shows tag URLs en masse under Crawled — currently not indexed or Duplicate without user-selected canonical.
  • You have never consciously written original copy for any tag page or treated one as a real landing page.

The verdict

Ship <meta name="robots" content="noindex, follow"> on tag archive pages. Users keep browsing by tag; Google stops indexing the archive. If one specific tag genuinely deserves to rank as a topic page (rare), don’t index the raw archive — promote it to a real category or a hand-written hub page with original copy. See Should category pages be indexed? for that call.

index vs noindex: the decision table

SituationIndex?Directive
Auto-generated tag, 1-3 posts, no intro copyNonoindex, follow
Tag duplicating an existing category/hubNonoindex, follow
Tag earning steady non-brand impressionsMaybeAdd original copy first, then index, follow
Curated tag landing page with hand-written introYesindex, follow
Category page (small fixed taxonomy)OftenSee category-pages article
Internal search results, date/format archivesNonoindex, follow

Step by step

  1. Find your tag URL pattern. Common shapes: /tag/x/, /tags/x/, ?tag=x. Open one to confirm it’s a real page.
  2. Add noindex, follow to every tag archive. Keep follow so Google still crawls the article links. Omit any self-referencing canonical on a noindex page — Google’s robots-meta docs note a noindex page shouldn’t also claim to be the canonical.
  3. Remove tag URLs from sitemap.xml. A sitemap should list only canonical, indexable URLs; a noindex URL in the sitemap sends a mixed signal. Most framework sitemap integrations expose a filter/exclude option for routes.
  4. Do NOT Disallow tag paths in robots.txt. You want Google to crawl them so it can read the noindex. Disallow + noindex is a documented conflict — Google can’t see the meta tag it never fetched. (See robots.txt — what to put.)
  5. Verify with URL Inspection. Check 2-3 tag URLs in Search Console. You want “Indexing allowed? No: ‘noindex’ detected in ‘robots’ meta tag.” Already-indexed tag URLs then shift to Excluded by ‘noindex’ tag — usually within days of the next crawl, sometimes a few weeks for low-priority URLs.
  6. Fix tagging hygiene. If you have 50 single-use tags, consolidate to ~10 useful ones. Better tags still serve readers as filters without polluting the archive.

Copy-paste implementations

WordPress (no code). Both major SEO plugins ship a one-click toggle — note tag archives are NOT noindexed by default in either, so you must flip it:

  • Yoast SEO: Search Appearance → Taxonomies → Tags → “Show Tags in search results?” → Off. (Yoast defaults date, format, and media archives to noindex, but leaves tags and categories indexed.)
  • Rank Math: Titles & Meta → Tags → enable Tag Archives Robots Meta → check No Index. (Rank Math only noindexes empty tag archives by default.)

Both plugins also drop the noindexed taxonomy from the sitemap automatically once you toggle it.

Astro (content collections). Render the directive from a flag on your tag route layout:

---
const isTagArchive = true; // your tag-route layout
const robots = isTagArchive ? "noindex, follow" : "index, follow";
---
<meta name="robots" content={robots} />

Then exclude the tag routes from @astrojs/sitemap:

// astro.config.mjs
sitemap({ filter: (page) => !page.includes("/tags/") })

Next.js (App Router). Export robots from the tag route’s metadata:

// app/tags/[slug]/page.tsx
export const metadata = {
  robots: { index: false, follow: true },
};

Common pitfalls

  • Disallow: /tag/ in robots.txt. Blocks crawling, so Google never reads the noindex. The URLs can still appear in results as bare links with no description. Crawlable + noindex is the only combination that actually de-indexes.
  • noindex, nofollow instead of noindex, follow. nofollow stops Google from following the article links on the tag page — you’re throwing away internal-link equity for no reason.
  • Deleting tags from site nav too. Then tags help nobody. Keep them as filters; only stop indexing the archive page.
  • “Promoting” a tag page to indexed without writing copy. An indexed tag page that’s still a bare list is the same thin-content problem with extra steps. Write a real intro first.
  • Leaving tag URLs in the sitemap after noindexing. Mixed signal, and it bloats the file with URLs you don’t want ranked.

When to skip this

If you’ve intentionally curated tag landing pages — original intro copy, clear topical intent, internal links pointing at them as hubs — treat those like category pages and index them. That’s legitimate but rare, and it’s a deliberate decision, not the default a CMS hands you.

FAQ

  • What if a tag page already ranks for something?: Open Search Console → Performance and filter to that URL. If it has consistent impressions on a non-brand query, leave it indexed and add original copy so it earns the ranking honestly. No meaningful impressions → noindex.
  • Does noindex on tag pages hurt internal linking?: No, because you use noindex, follow. Google still crawls and follows the links on the page; it just doesn’t index the page itself. The destination articles keep the link signal.
  • Should I 301-redirect old tag URLs?: Only if they have external backlinks worth preserving, and only to a genuinely relevant target (a category or hub). Tag URLs with no inbound links are fine left as noindexed pages — no redirect needed.
  • How long until tag pages drop out of the index?: After Google re-crawls and sees the noindex, the URL moves to Excluded by ‘noindex’ tag. That’s usually days for active sites, up to a few weeks for low-priority URLs. You can’t force it, but you don’t need to.
  • Is this the same decision as category pages?: No. Categories are a small fixed taxonomy that can earn indexing with intro copy. Tags multiply and rarely deserve it. Different math — see the category-pages article.

Tags: #Indie dev #SEO #Technical SEO #Indexing #robots.txt