SEO

用 ChatGPT 把 200 个关键词聚成主题簇,带搜索意图标签

用 ChatGPT 把 200 个关键词聚成主题簇,带搜索意图标签
目录

上个月我给一个客户从 Ahrefs 导出了 1247 个关键词。CSV 打开没问题,按原计划,我应该花两天手动把它们分到主题桶里——这活儿我做了大概 50 次了。我盯着看了 10 分钟,滚到第 200 行,关掉了文件。肯定有更好的办法。

我花了接下来 90 分钟在 ChatGPT 里测 Prompt。午饭前,1247 个关键词已经被分成了 34 个主题簇,每个都打了意图标签(信息型/商业型/交易型/导航型)。输出直接进了内容计划表,团队那个周五就出了 3 个月的编辑日历。

下面是我用的 4 步工作流,完整版。没有理论,也没有"AI 是未来"——只有真正能用、产出干净 CSV 的 Prompt 和清理步骤。

第 1 步:从 Ahrefs 或 Semrush 导出对的列

大多数人会导出太多列。干净的聚类输入只要 4 列:

  • Keyword——真实查询词
  • Volume——月搜索量
  • KD(或 Difficulty)——关键词难度
  • Parent Topic——Ahrefs 自动建议的;Semrush 叫"Topic Cluster"

按 Volume 降序排,然后过滤掉品牌词(包含客户品牌或竞品品牌名的全部丢掉——那些要单独处理)。第一轮先把月搜索量低于 10 的过滤掉,后面再作为长尾加回来。

就这样。模型不需要 15 列元数据——它只需要看到人类真正在搜什么、多频繁。

第 2 步:真正能产出聚类的 Prompt

我烧了 6 个 Prompt 才找到一个不严重胡说的。这是现在我原样使用的版本:

你是一名 SEO 内容策略师。我会给你一份带搜索量和难度的关键词列表。把它们聚成主题簇(Topical Cluster)。

对每个簇返回:

  1. 一个简短的簇名(2–4 个单词,比如 "best running shoes")
  2. 整个簇的搜索意图:信息型(informational)、商业型(commercial)、交易型(transactional)、导航型(navigational)
  3. 推荐的内容类型:pillar page(支柱页)、comparison post(对比文)、how-to guide(教程)、product page(产品页)或 listicle(清单文)
  4. 5–15 个属于该簇的关键词,附搜索量
  5. 一句话的"内容角度(content angle)"——文章应该写什么

规则:

  • 每个关键词必须且只能出现在一个簇里
  • 不要编造列表里没有的关键词
  • 不要把语义相关但意图不同的簇合并(例如 "best CRM software" 和 "CRM software pricing" 保持分开——一个商业型,一个交易型)
  • 如果某个关键词不属于任何簇,放进 "Misc / Unclassified" 区
  • 用 markdown 表格输出

以下是关键词列表:[粘贴你的 CSV 或列表]

两个细节决定生死:"每个关键词只出现在一个簇"这条规则防止模型偷偷丢掉 30% 的词。"不要合并意图不同的簇"这条是大多数 Prompt 写错的地方——没有它,ChatGPT 会很乐意把信息型和交易型的查询塞进同一个桶,因为它们有共同的 head term。

第 3 步:每批跑 80–100 个关键词

ChatGPT 的上下文窗口处理 200 个关键词没问题,但 100 之后质量会下降——簇名变模糊,意图标签变懒,模型开始合并不该合并的。

我把导出文件按 Volume 排序,每 80 个左右切一段,每段开一个独立对话跑。然后在电子表格里用 VLOOKUP 按 keyword → cluster 合并输出。

如果你开的是付费版,Advanced Data Analysis(高级数据分析)更快——把 CSV 当文件传进去,让它直接出 CSV。免费版的话,markdown 表格复制粘贴重新格式化也够用。

第 4 步:大多数人跳过的复审环节

这一步决定你的簇能用还是垃圾。打开合并后的 CSV,检查三件事:

  1. 关键词分到了错误的簇。 常见错误:含 "vs" 的一般是商业型,不是信息型;含 "how to" 的一般是信息型,不是交易型。模型准确率大概 85%。
  2. 只有 1–2 个关键词的簇。 这些基本是噪声——一个怪查询不属于任何真正的主题组。要么并入附近的较大簇,要么扔到 "Misc" 桶里单独处理。
  3. 应该合并的两个簇。 这个判断更难。"best running shoes for flat feet" 和 "best trail running shoes" 是一个簇还是两个,看你们内容团队怎么规划。我给这些打个 needs_merge 标记,让内容负责人定——他们比我更接近产品。

举个例子,这是 1247 个词那次产出的一个真实簇:

簇名 意图 类型 头部关键词 内容角度
CRM for small business 商业型 对比文 crm for small business (8.1K)、best crm for small business (5.4K)、crm software for startups (2.1K) 对比 6 款面向 50 人以下团队的 CRM,价格表要给到小公司老板真正想看的那种粒度。

光这一个簇就覆盖了 23 个关键词,最后产出一篇 2400 字的对比文,5 个月内有 7 个词进了首页。

要注意的几个坑

  • 品牌词 vs 通用词混在一起。 一定要先过滤品牌词。ChatGPT 会很乐意把 "HubSpot CRM pricing" 和通用 CRM 查询堆成同一个簇,由此产出的内容策略会跑偏。
  • Volume 和 Difficulty 的权重平衡。 Prompt 把它们当作等同的输入。如果你的站是新域名,可能打不动 20K 量的头词——把规则改成"KD 高于 40 的不作为簇中心,但保留在支撑词列表里",再跑一遍。
  • 单词关键词。 单独的 "CRM"、"marketing"——这些通常要单独处理。提前过滤掉,头词单独规划;不然你所有簇都会锚定到这 4–5 个超大词上。

最终输出

一张干净的 CSV,列名是:keyword, volume, kd, cluster_name, intent, content_type, content_angle。这一个文件就替代了过去两天的电子表格项目。内容团队用它做规划,作者用 content_angle 列自检 Brief,我用 intent 列决定哪些簇配支柱页、哪些配支撑文。

关键词聚类本质是一个披着分类外壳的思考题。所谓"分类"耗掉的大部分时间,其实是在判断哪两个相似查询应该写同一篇、哪两个不应该。ChatGPT 不会替你做这些判断——它只是让分类快到你终于能把真正的大脑算力花在那些真正重要的决定上。