Category 页是大多数内容站的”死区”:Google 一直在爬,但很少给排名,站长上线后也几乎不会再看一眼。这套流程给内容站站长一份可复用的 AI 辅助清单——找出重复 intro、缺 meta description、JS-only 分页、孤儿 hub——然后给出可直接落地的补丁,而不是凭感觉乱改。
这篇讲什么
Category、hub、tag 页在索引预算里和博客文章是一档的,但编辑投入几乎为零。读完这篇你会有一份清单,能定位站上风险最高的 3 个 category,并产出可直接 ship 的补丁:200+ 字独特 intro、12-20 条出向内链区块、不超过 155 字符的 meta description、服务端渲染的分页块。重点不是”AI 写文案”,是把 AI 当一个跨 HTML 的快速模式匹配器,再让你来做人工质量的修复。
这篇适合谁看
站上 /blog/category/... 或 /topic/... 在 Search Console 有展示但 CTR 接近 0 的内容站站长和编辑。如果你 category 数超过 20 个、且从未审计过——你就是目标读者。单作者 5 个 category 的小站效果有限;50+ tag 的多作者站收益最大。
什么时候适合用
三个信号:(1) Search Console 里 category 页对品牌词或近品牌词 CTR 不到 1%;(2) category 页被自己的子贴超过原 category 词的排名;(3) site: 搜索同一查询返回多个 category 页(cannibalization 味儿)。如果你的 CMS 用死模板自动生成 category 页、又改不动——跳过,没东西可补。
开始前准备
- 从 sitemap 或 CMS 导出完整 category URL 列表,不要从 Search Console 拿(SC 漏报)。
- 准备能抓”渲染后 HTML”的工具,不是 view-source——静态站
curl够,JS 重的站用 headless 浏览器(Playwright、chrome --headless)。 - 先定验收标准:最低字数、最低出向内链数、intro 唯一度阈值。没有数字你会把问题合理化掉。
- 抽 5 个样本(最大 category + 4 个随机)先跑,再放量。
具体步骤
- 盘点。 列全 category / hub / tag URL,存成 CSV:
url、h1、intro_first_200_chars、child_link_count、has_meta_desc、pagination_type。 - 抓页。 每个 URL 跑
curl -s URL | tee dumps/$slug.html(静态),或chromium --headless --dump-dom URL > dumps/$slug.html(JS)。HTML 留着,后面还要用。 - 模板检测。 5 个 dump 喂给 AI:“这 5 个 HTML 的共享模板是什么?每页独特部分?给 intro 段单独打 1-5 唯一度。”
- Intro 审计。 唯一度 3 分及以下的页,让 AI 写一版 220 字替换 intro,要回答:(a) 这个 category 收什么,(b) 谁该读,(c) 最常被链的那篇,(d) 这个月有什么新内容。
- 内链审计。 让 AI:“数
<main>内出向到子贴的链接数。按 anchor 多样性分组。有 Featured 槽吗?Latest 列表?start-here 入口?“出向不到 10 条标”孤儿风险”。 - 渲染检查。 让 AI:“比较 source HTML 和渲染后 HTML。子贴 URL 在 source 里有,还是只在 JS 注入后才出现?分页是
<a href>还是 JS 点击器?“JS-only 分页是最大的隐藏 bug。 - 风险排序。 让 AI:“这 N 个页里,最可能被 Google 当薄 / 重复 / 孤儿的 3 个?拿 HTML 里的具体行做证据。”
- 补丁生成。 Top 3 每个出 unified diff 或 HTML 片段:新 intro、内链区块、meta description(不超过 155 字符)、必要时改
<title>。 - 上线、测量。 改完,30 天后再抓,在 Search Console Performance 里按精确 URL 过滤(不是 contains),对比这个 URL 的 CTR 与平均位置变化。
第一次实操怎么跑
- 从 Search Console 挑展示量最高的一个 category 页。
- 完整跑一遍 9 步。
- 上线补丁,日历里设 30 天提醒。
- 第二次只改一个变量——通常是 AI 模型或 prompt 措辞——看哪一步在真正起作用。
完成后检查
- 新 intro 是不是在回答真实读者的问题,而不是只塞了关键词?
- 内链是 contextual 锚文本(“我们的 Notion 模板指南”)还是裸链(“read more”)?裸链浪费槽位。
- 是不是在检查渲染后 HTML,不是 source view?很多 CMS 把内容在客户端注入,你会全部漏看。
- meta description 是这个 category 专属,还是套到任何 category 都成立?
怎么复用这套流程
- 把 prompt 集合存成一个文本文件,里面留
category_url和dumps_path两个占位。每次只替换这两个。 - Top 20 category 每季度全量审计一次,长尾每年两次抽查。
- 每次改前的 HTML dump 都留着,方便后续 A/B 或不靠 git 回滚。
建议的操作流程
列 category → 抓渲染后 HTML → 模板 + 唯一度分析 → 内链审计 → 渲染 + 分页检查 → 风险短名单 → 应用补丁 → 30 天 Search Console diff。
容易踩的坑
- 通用 intro,把 200 字模板里关键词替了就完事——Google 的近重复检测几次爬完就识破。
- Category 页没有 Featured、Latest、start-here 区块——读者跳出、停留塌、页面变死路信号。
- JS-only 分页——爬虫只看到第 1 页,深层文章拿不到 hub 的内链权重。
- title 和 H1 完全一样、没修饰词。“Notion Templates” 永远干不过 “Notion Templates(47 个精选,2026 更新)”。
- JS 重的站还在审计 source HTML——半数内容看不见,补丁全打错。
- 50 个 page 一次改完。先改 3 个,测 30 天,再放量,否则你没法归因提升。
FAQ
- 每个 category 该几条内链?: 12-20 条 contextual 出向到子贴。低于 8 像孤儿,超过 30 变 link farm。
- Category 该排自己那个词吗?: 该。Category 是你 cluster 的主题权威信号;子贴干过 hub 说明你内链图反了。
- Intro 多少字?: 200-300 字独特文案是底线。目标不是字数,是回答潜在问题:“这个 category 里有什么、为什么我要看?”
- Category 页要不要上 schema?:
BreadcrumbList必上,想显式声明加CollectionPage。ItemList只在能保持准确时用——过期的ItemList比不加还糟。 - 薄 category 直接 noindex 行吗?: 行。少于 5 篇且近期没扩展计划的 category,noindex 是合法解,不是失败。
- 多久审一次?: Top 10 流量页每季度,其他每年两次。CMS 模板大改后立刻重审。