site:yourdomain.com/tag/* returns dozens of tag archive pages, but site:yourdomain.com/articles/* returns only 30% of your actual article count. Search Console Pages report: tag URLs in “Indexed,” most article URLs stuck in “Discovered” or “Crawled - currently not indexed.”
Why do tag pages index faster than articles? Because every article auto-links back to all its tags, making tag pages hub nodes in the internal link graph. Article pages only get links from “other articles,” which tend to be sparse.
Not a tag-page bug — a link distribution problem.
Symptoms
site:yourdomain.com /tag/*returns dozens of resultssite:yourdomain.com /articles/*returns far fewer than actual article count- Search Console Pages: tag URLs in Indexed, article URLs mostly Not indexed
- Tag pages themselves may have low traffic (weak keyword competition)
Quick verdict
Tag pages are easy for Google to discover because every article links back to its tags. Article pages depend on internal links from other articles, which tend to be sparser. This is a link distribution problem, not a tag-page bug.
Common causes
1. Tags auto-attached to every article forming a dense tag ↔ 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 → 5 tag pages. Google follows them up, all tag pages get indexed.
2. Inter-article links only via a generic “related articles” widget showing latest 3
const related = await getCollection('posts').slice(0, 3); // latest 3
Each article links to only the latest 3 → old articles have no inbound links → article-page link signal is weak.
3. No body-text inter-article links
Many writers don’t link back to their own older articles. The body has only external links or none — inter-article link density is low.
4. Tag pages have no content, just article card lists
Tag pages auto-generate, no unique editorial content — they get indexed but typically rank for nothing. They burn crawl budget without bringing traffic.
5. Tag explosion
If your site has 500 tags but each tag has only 1-3 articles — lots of thin tag pages eat crawl budget.
Shortest path to fix
Step 1: Make “related articles” topically relevant, not just 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 shows 5-8 genuinely relevant articles → articles form a dense inter-link network.
Step 2: Add 2-3 body-text links to older related articles per new piece
Editorial SOP:
1. Draft finished
2. Pick 2-3 key argument locations
3. Find the most relevant existing article, link in-context
4. Anchor text is the topic word (not "click here")
Example:
When the prompt doesn't work, **first test the difference between [chat mode](/articles/chatgpt-prompts/) vs API call** — the two environments handle system messages differently.
Step 3: noindex weak tag pages
# Find thin tags
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
Tags with fewer than 5 articles:
<meta name="robots" content="noindex,follow" />
Or just remove from sitemap + 410. Frees crawl budget for articles.
Step 4: Check tag pages don’t accidentally have more internal links than 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 totals, structure is imbalanced.
Step 5: Upgrade strong tag pages to hub pages
Not every tag should be deleted. Some high-competition tags (10+ articles + real search volume) should be upgraded:
- Add 200-word editorial intro
- Add “Must-read 5” + editorial notes
- Add self-canonical
That way the tag page itself can drive traffic.
Step 6: Watch article-page indexing rate
After 4-8 weeks of fixes:
Search Console → Pages → look at /articles/* section
Compare Indexed count to 4 weeks ago
Expect 20-40% lift.
When this is not on you
On a new site, a few weeks of lag between tag and article indexing is normal — Google is still mapping the site graph. Wait 4-8 weeks before judging.
Easy to misdiagnose
- Removing all tags rarely helps: article-page indexing slowness usually has nothing to do with tags — it’s about inter-article linking
- Thinking tag pages indexed = traffic: tag pages usually drive no traffic, wasting crawl budget
- Thinking noindex tags loses authority: use
noindex,follow— authority still flows to articles
Prevention
- Build a real related-articles algorithm (topic similarity), not “latest N”
- Editorial template requires 2-3 body-text links in every article
- Tag planning: only create a tag with ≥5 articles
- Weak tags default to noindex; strong tags get upgraded to hubs (with editorial layer)
- Monthly scan for thin tags (< 5 articles), clean up
FAQ
Q: Should I noindex tag pages? A: Only if they’re thin or duplicate. Strong tag pages (10+ articles + real search volume) are useful.
Q: Why do tag pages get indexed faster? A: They sit at the intersection of many internal links — high crawl signal.
Q: Is using category instead of tag better? A: Maybe. Categories tend to be fewer, deeper, easier to make into hubs. Fundamentally still “fewer but better.”
Related
Tags: #SEO #Google #Search Console #Indexing #Troubleshooting #Tag page