2026-10-01 · 原文发布日
写新选题前先比对已有页面和搜索结果再决定
这个n8n免费模板帮内容团队做选题去重决策:手动运行时读取站点sitemap限定范围内的页面,用HasData抓取正文,同时拉取同一关键词的实时Google搜索结果和相关问题,交给OpenAI判断该选题应“更新旧页”“新建页面”还是“人工复核”,并把依据、缺口和证据链接写回Google Sheets的审核队列。审核通过后可切换brief模式,让OpenAI生成编辑简报存回同一行,避免重复分析已决策的选题。
原文要点
原模板为免费n8n工作流(HasData提供):手动运行,读取配置中的站点URL、同主机XML sitemap、路径前缀、正文CSS选择器、查询词与Google Sheets表格ID;先读“Review queue”标签页跳过已有审批决定或简报的选题;抓取sitemap及同主机子sitemap并按前缀过滤、限量取页;用HasData抓取页面正文与Google自然搜索结果及相关问题;交给OpenAI产出update_existing/create_new/人工复核的结构化决策、依据、缺口和证据链接,并校验证据一致性;写回Sheets。审批置为APPROVED且决策为create_new或update_existing后,可用brief模式让OpenAI生成编辑简报存回同一行。
这次做成什么
搭一条选题去重决策流程:输入候选关键词,自动比对你站已有页面和实时搜索结果,给出“更新旧页/新建页面/人工复核”的建议并留痕,审批后再生成编辑简报。
准备什么
- 可用的n8n实例,并已安装HasData社区节点
- HasData API密钥与OpenAI API密钥
- Google Sheets OAuth凭据及一个含Review queue标签页的表格
- 一个可公开访问的站点XML sitemap用于测试
- 想测试的内容栏目路径前缀与正文CSS选择器
具体怎么做
建Review queue审核表
在Google Sheets建表格,标签页命名Review queue,表头必须以模板各节点实际引用的列名为准(导入模板后先核对再建列);练习时可参考Topic、Query、Decision、Rationale、Gaps、Evidence JSON、Approval、Brief这组列。复制表格ID备用,替换模板设置里的REPLACE_WITH_SPREADSHEET_ID。
配置Settings参数
在模板的Settings节点填入:站点URL、同主机sitemap地址、路径前缀(如/blog/)、正文CSS选择器(如article或.main-content)、要评估的查询词、页面抓取数量上限。选择器先用浏览器开发者工具在你站一篇文章页上确认能选中正文容器。
接HasData与OpenAI凭据
为HasData社区节点填入API密钥,它负责两件抓取:按选择器提取每个站内页面的正文,以及拉取同一查询词的Google自然搜索结果与相关问题。OpenAI节点填入密钥,用于决策与简报两段调用。
跑analyze模式做决策
手动执行工作流:它先读Review queue跳过已决策选题,再抓sitemap中符合前缀的页面正文和SERP证据,交给OpenAI输出结构化决策(更新旧页/新建页面/人工复核)、理由、内容缺口与证据链接,并校验证据链接和引用是否一致,最后追加或更新到对应行。
人工审批后跑brief模式
在Sheets中检查该行的Decision与证据,认可则把Approval改为APPROVED且Decision保持create_new或update_existing;切换工作流到brief模式重跑,OpenAI基于已存证据生成编辑简报写回同一行Brief列,不会重复做决策分析。
可直接复制的材料
Review queue表头与一行合成测试数据(CSV)
本站虚构练习数据,导入Review queue标签页;Decision等列留空,由analyze模式自动回填。
Topic,Query,Decision,Rationale,Gaps,Evidence JSON,Approval,Brief
n8n定时任务入门,n8n schedule trigger 教程,,,,,,
n8n邮件自动化,n8n gmail 自动发邮件,,,,,,OpenAI选题决策提示词
本站独立编写的等价练习提示词,花括号变量需映射工作流对应字段;未与原模板内部提示词逐字核对,字段名如与模板不一致以模板为准。
你是资深内容策略编辑。判断候选选题应该“更新旧页”“新建页面”还是“人工复核”。
输入:
1. 候选选题与目标查询词:{{query}}
2. 我站已有相关页面摘要(标题、URL、正文节选):{{site_pages}}
3. 该查询词的Google自然搜索结果与相关问题:{{serp_evidence}}
判定规则:
- 若我站已有页面主题高度重合且有排名潜力,判 update_existing,指出该页缺什么
- 若已有页面仅边缘相关、搜索结果意图明显未被覆盖,判 create_new
- 若证据不足或已有页面与选题关系模糊,判 request_review
只输出严格JSON,不要输出其他文字:
{"decision":"update_existing|create_new|request_review","rationale":"80字以内中文依据","gaps":["缺口1","缺口2"],"evidence":[{"url":"...","quote":"支撑该判断的原文短句"}],"next_actions":["下一步1"]}
evidence中的url必须来自输入里真实给出的页面或搜索结果,不得编造。OpenAI编辑简报提示词(brief模式)
本站独立编写,仅在Approval为APPROVED后使用;变量映射到Sheets同一行已存字段,避免重新分析。
你是内容主编。基于以下已审批的选题决策,为写手生成一份可直接开工的中文编辑简报。
输入:
- 选题与查询词:{{query}}
- 决策结果与理由:{{decision}} / {{rationale}}
- 内容缺口:{{gaps}}
- 证据链接:{{evidence}}
输出Markdown格式简报,包含:
1. 目标查询词与搜索意图一句话说明
2. 建议标题(H1)与3至5个小节大纲,每个小节注明要覆盖的缺口
3. 必须引用的证据链接清单及引用位置建议
4. 若是update_existing,注明要改写的现有页面URL与保留段落建议;若是create_new,注明建议URL slug
5. 字数建议与交稿检查清单(3条以内)输入与输出示例
本站虚构演示,URL与引用均为示例,未实际调用OpenAI或HasData。
输入
候选选题“n8n定时任务入门”,查询词“n8n schedule trigger 教程”;sitemap中已有页面 https://example.com/blog/n8n-cron-basics 正文讲Cron节点基础;SERP首页多为schedule trigger实操教程且相关问题集中在“和Cron节点的区别”对应输出
{"decision":"update_existing","rationale":"已有Cron基础页主题高度重合,可通过补充schedule trigger实操与对比小节覆盖查询意图","gaps":["缺少schedule trigger逐步配置示例","未回答与Cron节点的区别"],"evidence":[{"url":"https://example.com/blog/n8n-cron-basics","quote":"本文介绍n8n中Cron节点的基本用法"}],"next_actions":["在旧页新增schedule trigger小节并更新标题"]}
Sheets同行Approval列待人工改为APPROVED后,brief模式才生成简报。做完检查这些
- analyze模式跑完后,Review queue中候选行的Decision、Rationale、Gaps、Evidence JSON四列被回填且Evidence JSON可解析
- 已在表中有Approval决定的选题行被跳过,不会被重复分析
- 抓取的站内页面全部符合配置的路径前缀,正文内容确实来自配置的CSS选择器
- 证据校验通过:evidence里的URL都能在输入的页面列表或SERP结果中找到,无编造链接
- 把Approval改为APPROVED后以brief模式重跑,同一行Brief列被写入简报且Decision列不被改动
- 换一个新查询词重跑,SERP证据随之变化而非沿用旧缓存
容易卡住的地方
- HasData社区节点需先在n8n中安装,否则导入模板后节点缺失无法运行
- 正文CSS选择器若匹配不到容器会抓到空文本,导致OpenAI在证据不足下倾向判request_review
- sitemap过大时受页面数量上限限制只检查部分页面,可能漏掉真正重合的旧页,需按栏目调前缀缩小范围
- REPLACE_WITH_SPREADSHEET_ID不替换会写表失败,且表头名称必须与模板引用一致
- Approval不是APPROVED或Decision是request_review时,brief模式不应生成简报,这是防止未审先写的保护
- OpenAI与HasData均按各自用量计费,模板免费不等于调用免费,先用少量页面测试成本
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Review content ideas against existing pages with HasData, OpenAI and Google Sheets
- 原作者
- HasData
- 原始发布日期
- 2026-09-30T18:58:49.338Z
- 来源
- https://n8n.io/workflows/20244