Tag Pages Indexed But Article Pages Lag: Causes + Fix Path

Google indexed every tag archive page, but your article pages are stuck in Discovered or Crawled - currently not indexed. Here is why, and the link-distribution fix.

site:yourdomain.com inurl:/tag/ returns dozens of tag archive pages, but a Search Console Pages export shows most of your /articles/* URLs still sitting in Discovered - currently not indexed or Crawled - currently not indexed.

Fastest fix: stop linking articles only through tag pages and a “latest 3” widget. Give each article 5-8 topic-matched internal links (related-articles block ranked by tag overlap) plus 2-3 in-body links to older pieces, and noindex the thin tag pages so crawl budget shifts to articles. That rebalances the internal link graph, which is the real cause - not a tag-page bug.

Why tag pages index first: every article auto-links back to all its tags, so tag pages become hub nodes in the link graph and get crawled constantly. Article pages depend on links from other articles, which on most sites are sparse. This is a link-distribution problem.

First: read the exact status, do not trust site:

The site: operator only returns a rough estimate of what is indexed and routinely under- or over-counts. For a real diagnosis use Search Console, not search results.

  1. Search Console -> Indexing -> Pages. Note the Indexed vs Not indexed split.
  2. Open the Not indexed table and read the reason per URL group. The two reasons that matter here are different problems:
Status in GSCWhat Google didRoot causeWhere the fix lives
Discovered - currently not indexedFound the URL (sitemap/link) but has not crawled it yetCrawl-budget / discovery: the URL has too few/weak internal links, or the whole URL pattern looks low-valueInternal linking + crawl-budget cleanup (Steps 1-4)
Crawled - currently not indexedCrawled and evaluated it, then chose not to indexQuality/value: thin, duplicate, or near-identical to a stronger pageImprove the page itself + consolidate; linking helps but is secondary
  1. Spot-check 3-5 article URLs with URL Inspection to confirm the reason and see the last crawl date.

If your articles are mostly Discovered, this guide is your fix. If they are mostly Crawled - currently not indexed, do the linking work and fix page quality (the link fix alone will not move a genuinely thin page).

Symptoms

  • site:yourdomain.com inurl:/tag/ returns dozens of results; inurl:/articles/ returns far fewer than your real article count
  • Search Console Pages: tag URLs in Indexed, article URLs mostly in Not indexed
  • The article reason is Discovered or Crawled - currently not indexed, not a hard error (no noindex, no 404, no robots.txt block)
  • Tag pages themselves get little or no traffic (weak keyword competition)

Common causes

1. Tags auto-attached to every article, forming a dense tag-to-article mesh

<!-- Bottom of article template -->
<aside>
  <h3>Tags</h3>
  <a href="/tag/seo">#seo</a>
  <a href="/tag/google">#google</a>
  <a href="/tag/sitemap">#sitemap</a>
</aside>

Each article points at roughly 5 tag pages. Google follows them, so every tag page gets a strong, repeated crawl signal.

2. Inter-article links only via a generic “related” widget showing the latest 3

const related = (await getCollection('posts')).slice(0, 3); // latest 3

Each article links to only the latest 3 -> older articles receive almost no inbound links -> their link signal is weak and they slip into Discovered.

3. No in-body inter-article links

Many writers never link back to their own older articles. The body has only external links or none, so inter-article link density is low.

4. Tag pages are pure card lists with no unique content

Auto-generated tag pages carry no original editorial text. They get indexed but rank for nothing, burning crawl budget without returning traffic.

5. Tag explosion

500 tags where each has only 1-3 articles means hundreds of thin tag pages competing with your articles for a finite crawl budget.

Shortest path to fix

// Wrong: latest 3
const related = posts.slice(0, 3);

// Right: rank by tag overlap
function getRelated(currentPost, allPosts) {
  return allPosts
    .filter(p => p.slug !== currentPost.slug)
    .map(p => ({
      post: p,
      score: p.tags.filter(t => currentPost.tags.includes(t)).length
    }))
    .filter(x => x.score > 0)
    .sort((a, b) => b.score - a.score)
    .slice(0, 8) // 5-8 articles
    .map(x => x.post);
}

Each article now surfaces 5-8 genuinely relevant articles, so the article set forms a dense internal-link network instead of routing everything through tag hubs.

Editorial SOP:

1. Draft finished
2. Pick 2-3 key argument locations
3. Find the most relevant existing article and link it in-context
4. Anchor text = the topic phrase (never "click here")

Example:

When a prompt misbehaves, **first test [chat mode](/articles/chatgpt-prompts/) vs the API call** - the two environments handle system messages differently.

Step 3: noindex the thin tag pages

First find them:

# Find thin tags (fewer than 5 articles)
ls src/tags/*.md | while read f; do
  tag=$(basename "$f" .md)
  count=$(grep -l "tags:.*$tag" src/articles/*.md | wc -l)
  [ "$count" -lt 5 ] && echo "$tag: $count posts"
done

Then add to those tag templates:

<meta name="robots" content="noindex,follow" />

Two caveats that changed how to think about this (verified as of June 2026):

  • noindex does not save crawl budget. Google must still fetch the page to read the directive, so the crawl is spent either way. The win is index-quality: over time Google sees the consistent noindex and slows how often it re-crawls those URLs, which indirectly frees budget. If a tag URL is genuinely dead, drop it from the sitemap and return 410 Gone (or block the path in robots.txt) so Google stops requesting it at all.
  • noindex,follow decays toward noindex,nofollow. Google’s John Mueller has stated that once a page is noindex long enough, it gets dropped and its links stop being followed - so a long-term noindex tag page eventually stops passing any signal to your articles. Do not rely on tag pages as a permanent link-equity bridge; the real authority path is article-to-article (Steps 1-2).
# Count internal links to tag pages
rg -c 'href="/tag/' src/ | sort -t: -k2 -nr | head

# Count internal links to articles
rg -c 'href="/articles/' src/ | sort -t: -k2 -nr | head

If tag-link totals far exceed article-link totals, your structure is funneling crawl signal into archives instead of content. Steps 1-2 rebalance it.

Step 5: Upgrade strong tag pages into real hub pages

Not every tag should be deleted. A high-demand tag (10+ articles plus real search volume) is worth upgrading instead of noindex:

  • Add a 150-200 word original editorial intro
  • Add a curated “must-read 5” with one-line editorial notes
  • Add a self-referencing canonical

Now the tag page has reason to be indexed and can earn traffic on its own.

Step 6: Trigger re-evaluation, then watch the rate

Do not wait passively. After deploying Steps 1-4:

  1. Search Console -> Pages -> open the Discovered / Crawled - currently not indexed group -> Validate Fix. This tells Google to re-evaluate that whole URL group; validation typically takes up to ~2 weeks and can run longer.
  2. For a handful of priority articles, use URL Inspection -> Request Indexing (a per-URL nudge; the property cap is roughly 10-12 requests/day, so spend them on your best pages).
  3. Re-export the Pages report after 4-8 weeks:
Search Console -> Indexing -> Pages -> filter URL contains /articles/
Compare Indexed count vs 4 weeks ago

A meaningful lift in indexed articles over the following 4-8 weeks is a realistic outcome once the link graph is rebalanced - how large depends on how thin the linking was to start.

How to confirm it’s fixed

  • URL Inspection on previously-Discovered articles now shows URL is on Google (or at least “Crawled” with a recent crawl date).
  • The Pages report Discovered / Crawled - currently not indexed counts for /articles/* trend down week over week.
  • A new article published after the fix moves to Indexed within days, not weeks - the fastest single sign the internal-link plumbing now works.

When this is not on you

On a new or recently restructured site, a few weeks of lag between tag and article indexing is normal - Google is still mapping the link graph and assigning crawl priority by URL pattern. Wait 4-8 weeks before judging. (Note: Search Console’s own data has had reporting wobbles - e.g. the impressions-logging fix that landed April 27, 2026 - so cross-check the Pages report against URL Inspection before concluding anything is broken.)

Easy to misdiagnose

  • Removing all tags rarely helps. Slow article indexing is almost always about thin inter-article linking, not the existence of tags.
  • Tag indexed does not equal traffic. Most tag pages drive no clicks; they spend crawl budget without returning it.
  • noindex is not a crawl-budget fix. It improves index quality, not crawl cost - that page still gets fetched. Use 410/robots.txt to actually stop crawling.
  • noindex,follow is not permanent link equity. It decays toward nofollow; build article-to-article links instead.

Prevention

  • Ship a real related-articles algorithm (topic similarity), not “latest N”
  • Make 2-3 in-body article links a required field in the editorial template
  • Tag planning: only create a tag once 5+ articles will use it
  • Weak tags default to noindex; strong tags get upgraded to hubs with an editorial layer
  • Monthly scan for thin tags (< 5 articles) and clean them up

FAQ

Q: My articles say “Discovered” - is that the same problem as “Crawled - currently not indexed”? A: No. Discovered means Google found the URL but hasn’t crawled it - usually a discovery/crawl-budget issue that internal linking fixes. Crawled - currently not indexed means Google crawled it and decided it wasn’t worth indexing - that’s a page-quality issue, so you also need to improve or consolidate the page, not just link to it.

Q: Should I noindex tag pages to save crawl budget? A: noindex does not save crawl budget - Google still fetches the page to read the tag. It does improve index quality and, over time, lowers re-crawl frequency. To truly stop crawling, return 410 or block the path in robots.txt. Keep strong tags (10+ articles + real search volume) indexed.

Q: If I noindex,follow my tag pages, do my articles still get the link equity? A: Short-term yes, long-term no. Google has said a page kept noindex long enough is dropped and its links stop being followed, so noindex,follow decays toward noindex,nofollow. Don’t depend on tag pages as a link bridge - route authority through article-to-article links.

Q: Why do tag pages get indexed faster than articles? A: Every article links back to its tags, so tag pages sit at the intersection of many internal links and get a strong, repeated crawl signal. Articles only get links from other articles, which tend to be sparse.

Q: How long until I see articles move to Indexed after the fix? A: Plan on 4-8 weeks. Use Validate Fix on the affected group and Request Indexing on a few priority URLs to speed re-evaluation, but Google still re-crawls and re-judges on its own schedule.

Q: Is using categories instead of tags better? A: Often, yes. Categories tend to be fewer and deeper, so each one is easier to turn into a real hub with original content. The underlying principle is the same: fewer, better, well-linked pages.

Tags: #SEO #Google #Search Console #Indexing #Troubleshooting #Tag page