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.
- Search Console -> Indexing -> Pages. Note the Indexed vs Not indexed split.
- Open the Not indexed table and read the reason per URL group. The two reasons that matter here are different problems:
| Status in GSC | What Google did | Root cause | Where the fix lives |
|---|---|---|---|
Discovered - currently not indexed | Found the URL (sitemap/link) but has not crawled it yet | Crawl-budget / discovery: the URL has too few/weak internal links, or the whole URL pattern looks low-value | Internal linking + crawl-budget cleanup (Steps 1-4) |
Crawled - currently not indexed | Crawled and evaluated it, then chose not to index | Quality/value: thin, duplicate, or near-identical to a stronger page | Improve the page itself + consolidate; linking helps but is secondary |
- 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, no404, norobots.txtblock) - 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
Step 1: Make “related articles” topically relevant, not just the latest
// 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.
Step 2: Add 2-3 in-body links to older related articles in every new piece
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):
noindexdoes 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 consistentnoindexand 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 return410 Gone(or block the path inrobots.txt) so Google stops requesting it at all.noindex,followdecays towardnoindex,nofollow. Google’s John Mueller has stated that once a page isnoindexlong enough, it gets dropped and its links stop being followed - so a long-termnoindextag 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).
Step 4: Check tag pages don’t out-link your articles
# 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:
- Search Console -> Pages -> open the
Discovered/Crawled - currently not indexedgroup -> Validate Fix. This tells Google to re-evaluate that whole URL group; validation typically takes up to ~2 weeks and can run longer. - 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).
- 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 indexedcounts 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.
noindexis not a crawl-budget fix. It improves index quality, not crawl cost - that page still gets fetched. Use410/robots.txtto actually stop crawling.noindex,followis not permanent link equity. It decays towardnofollow; 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 (
< 5articles) 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.
Related
Tags: #SEO #Google #Search Console #Indexing #Troubleshooting #Tag page