You have a “/category/ai-tools/” page. It’s auto-generated: title at the top, 20 article cards below, breadcrumb, footer. Google never indexes it; if it does, it ranks for nothing. Users who land there bounce in 5 seconds because there’s no orientation — just a wall of cards with no signal of which to read first.
A category page that’s only a list is navigation, not content. Google indexes content, not site furniture. The fix: turn each category page into a hub article — editorial intro, curated “start here,” your distinct take on the topic, and then the list. That layer transforms it from “site UI” to “topic page worth ranking.”
Common causes
Ordered by hit rate, highest first.
1. Template auto-generates category pages with no intro field
Your Astro / Next / Hugo template builds a list page from frontmatter. There’s no field for an editorial intro, no place to write one. The category page is mechanically generated and editorially silent.
How to spot it: View source of any category page. If everything between <h1> and <footer> is article cards, no editorial layer exists.
2. Editors fill the categories but never write the category page itself
Each category has 30+ articles inside, but the category page hasn’t been “written” by anyone. It exists, but no one composed it.
How to spot it: Check git log on the file that renders the category page. If only the template was edited (no per-category content edits), no one curated this page.
3. Category labels are generic instead of specific
/category/tutorials/ or /category/posts/ — these have no SEO target. “Tutorials about what?” Specific category names (/category/openai-api-tutorials/) have ranking potential; generic ones don’t.
How to spot it: List your category slugs. If they’re abstract types (“posts”, “guides”, “stuff”), they’re not SEO-targeted; if they’re topics (“openai-api”, “claude-best-practices”), they could rank.
4. Pagination dilutes the category’s main page
/category/ai-tools/ has 30 articles spread across pages 1-3. Google sees page 1 as the “category” and ignores page 2-3. Many cards = many pages = scattered authority.
How to spot it: Category page is paginated and page 1 shows fewer than 80% of the curated articles. Pagination is over-eager.
5. No internal links into the category page from related articles
Articles in the category don’t link back to the category. The category page floats unsupported in the link graph; PageRank-like signals don’t accumulate.
How to spot it: For 5 random articles in a category, grep for the category URL. If none reference it, the category is orphaned by its own children.
6. Category page is noindex “for SEO hygiene”
Someone read advice to noindex category pages to avoid duplicate content. You followed it. Now Google can’t even consider ranking the category. The “hygiene” guidance applies to thin auto-generated pages — not to ones you’ve actually written.
How to spot it: <meta name="robots" content="noindex"> on the category page. Remove if you’ve added editorial content.
Shortest path to fix
Ordered by ROI. Steps 1-3 turn a navigation page into a hub article.
Step 1: Write a 200-400 word editorial intro for each category
In your CMS / frontmatter, add an intro field:
---
slug: openai-api-tutorials
title: "OpenAI API tutorials"
intro: |
We've shipped 28 OpenAI API tutorials since the API launched.
This page is your map: where to start if you're new, what to read
if you're optimizing prompt-cache hit rates, and how to avoid the
five most common billing surprises.
[200-400 words explaining: scope of the category, who the reader is,
why this topic matters, what makes our coverage different.]
---
Template renders the intro before the card grid.
Step 2: Add a curated “Start here” with editor notes
Don’t just list 30 cards in publish-date order. Curate:
## Start here (5 essentials)
1. **[API quickstart in 10 minutes](/articles/...)** — read this first if you've never made an API call.
2. **[Prompt-caching for production](/articles/...)** — most teams underestimate the cost savings; this is where 80% of optimization comes from.
3. **[Cost monitoring + alerts](/articles/...)** — set this up *before* you hit production, not after.
[2 more]
The editor’s note (the 1-line take) is the key signal — “this writer has an opinion.” Generic lists don’t have that.
Step 3: Add a “topic take” — your contrarian point of view
What’s your distinct angle on this category? Two paragraphs:
## Our take on OpenAI API
Most teams treat the API as "ChatGPT with code." We disagree.
The interesting work isn't in completions — it's in prompt-cache
strategy, batch API for non-interactive jobs, and structured outputs
for replacing webhook-parsing code.
If your usage looks like "send a prompt, get a response, repeat,"
you're paying 3x what you should and missing the patterns that make
this API actually transformative.
This is what makes the page rank for “openai api” beyond just navigation — opinions are content.
Step 4: Link related categories to each other
At the bottom:
## Related categories
- [Claude API tutorials](/category/claude-api/) — same patterns, different provider
- [Prompt engineering](/category/prompt-engineering/) — the prompts that go into these APIs
- [LLM cost optimization](/category/llm-costs/) — cross-provider cost work
Category-to-category links build a topical graph Google can read.
Step 5: Verify backlinks from child articles
Each article in the category should link back to the category. Add to the article template:
<CategoryLink slug="openai-api-tutorials">
More OpenAI API tutorials →
</CategoryLink>
Or in body content where natural:
This is one of our [OpenAI API tutorials](/category/openai-api-tutorials/) — see the rest for the broader topic.
5 articles linking back to the category = a category page that ranks. 0 = orphaned.
Step 6: Fix noindex if you’ve added editorial content
If you removed noindex after adding intro/curation, request re-indexing in Search Console. Without re-request, Google may take weeks to revisit.
Prevention
- Treat every category page as a mini-article — 300+ word intro, curated “start here”, topical take
- CI check that fails if a category page has no
introfield (or under 200 words) - Category slugs are specific topics, not generic types (“openai-api”, not “tutorials”)
- Article template links back to its category by default; 5+ inbound links per category page
- Don’t
noindexcategory pages that have real editorial content — that’s defeating the purpose - Quarterly: review which categories rank; weak ones need either better content or merging
Related
Tags: #Content ops #Site quality #Site audit #Troubleshooting #Category page