2026-09-28 · 原文发布日
SERP涨跌赢家追踪与Claude归因分析
免费n8n模板:每天或通过webhook提交{关键词, 目标域名}立即检查,从SERP API拉前100名自然结果标准化存快照,与上一次快照对比找出上升、新进和掉出站点,把涨跌名单交给Claude归纳共性特征,再让Claude判断当前SERP格局并建议动作;目标域名变动显著时立刻发WhatsApp告警,全部词跑完后发汇总摘要。
原文要点
该n8n模板免费,按日定时、手动或webhook提交{keyword,targetDomain}触发;从SERP API取前100名自然结果,标准化为position/domain/URL/title加时间戳,与历史库中上一快照对比得出上升、新进、掉出名单;先由Claude归纳涨跌站点共性,再由Claude判断SERP格局并给动作建议;目标域名变动显著时发WhatsApp即时告警,全部关键词跑完后发汇总摘要,webhook触发时返回digest JSON。历史库端点、SERP端点需在配置值中自行填URL并配HTTP Header Auth凭据。
这次做成什么
在n8n搭一条「SERP快照→涨跌对比→Claude两段归因→WhatsApp告警与汇总」链路,并用本站设计的两个合成快照先做一轮不烧API额度的离线演练。
准备什么
- n8n实例及一个SERP查询服务的API Key(HTTP Header Auth)
- Anthropic API Key及确认模型名;WhatsApp Business Cloud凭据、电话号ID与收件号
- 一个能返回历史快照JSON的自建接口,或演练时改用n8n内置数据表
具体怎么做
建触发与队列
新建工作流,加Schedule Trigger(每日)和Webhook节点(POST,接收{keyword,targetDomain})。webhook分支把单条关键词放入队列;定时分支用HTTP Request请求你的历史库「关键词列表」端点,把返回数组逐条入队。演练阶段先在Webhook节点Pinned本站示例payload。
拉取并标准化SERP
对每个关键词加HTTP Request节点调用SERP API(Header Auth凭据,参数含keyword、前100名),后接Code节点把结果归一化为{position,domain,url,title,ts}数组,过滤掉非自然结果条目。
对比历史快照算涨跌
HTTP Request按keyword取上一快照;Code节点做diff:域名上次排名与本次排名差≥3记为上升/下降,上次无本次有记为新进,反之记为掉出;diff完成后把本次快照POST回历史库保存。
两段Claude分析
第一个HTTP Request调Anthropic接口,用下方「涨跌共性提示词」传入涨跌短名单;第二个请求用「格局判断提示词」传入上一段结论加目标域名变动,输出格局分类与建议动作。模型名以你的配置值为准。
告警与汇总
IF节点判断目标域名排名变动绝对值是否达到你设定的阈值(本站演练设5位),达阈值走WhatsApp节点发即时告警;循环处理完队列后,用Code节点汇总各关键词结论,再经WhatsApp发digest,webhook触发时用Respond to Webhook返回digest JSON。
可直接复制的材料
涨跌共性归因提示词(粘贴到Claude消息体)
本站独立编写,{{}}变量在n8n表达式中替换为实际字段
你是SEO竞争分析助手。以下是关键词「{{keyword}}」本次SERP快照对比结果(JSON):上升站点{{winners}}、新进站点{{entrants}}、下降与掉出站点{{losers}}。请只基于这些数据回答:1)上升/新进站点在标题与URL特征上的共性(如内容类型、是否含年份、是否评测聚合页);2)下降站点的共性;3)列出不超过3条可验证的假设。用中文分点输出,不要编造数据中不存在的域名。SERP格局判断与动作建议提示词
本站独立编写;要求严格JSON便于后续节点解析
你是SEO策略顾问。关键词「{{keyword}}」,目标域名{{targetDomain}}。上轮共性分析结论:{{prevAnalysis}};目标域名排名从{{oldPos}}变为{{newPos}}。请输出严格JSON:{"pattern":"稳定|洗牌|新玩家涌入|老牌站点下滑 之一","domainRisk":"高|中|低","actions":["最多3条具体动作"],"reason":"一句话依据"}。不要输出JSON以外的文字。合成两轮快照与webhook测试数据
本站合成演练数据;diff应得出目标域名2→7下降5位触发告警,newcomer-lab.io新进,old-forum.net掉出
{"webhookPayload":{"keyword":"电动牙刷推荐","targetDomain":"mysite-demo.com"},"prevSnapshot":[{"position":1,"domain":"brand-a.com"},{"position":2,"domain":"mysite-demo.com"},{"position":3,"domain":"review-hub.com"},{"position":4,"domain":"old-forum.net"}],"currSnapshot":[{"position":1,"domain":"review-hub.com"},{"position":2,"domain":"brand-a.com"},{"position":7,"domain":"mysite-demo.com"},{"position":9,"domain":"newcomer-lab.io"}]}输入与输出示例
本站虚构演示,提示词与diff均非原作者运行结果
输入
向webhook POST {"keyword":"电动牙刷推荐","targetDomain":"mysite-demo.com"},并用上面合成快照代替真实SERP返回对应输出
diff结果:mysite-demo.com 2→7(-5,触发告警);review-hub.com 3→1上升;newcomer-lab.io新进第9;old-forum.net掉出。digest JSON示例:{"keyword":"电动牙刷推荐","pattern":"洗牌","domainRisk":"高","actions":["更新标题加入2026","补充对比评测结构","检查旧论坛反向链接流失"]}做完检查这些
- webhook POST后能在执行记录中看到队列包含该关键词且targetDomain被传递
- diff输出中新进与掉出域名名单与合成数据预期完全一致
- 目标域名变动达阈值时WhatsApp告警分支被执行且文案含新旧排名
- 全部关键词处理完后digest包含每个关键词的pattern与actions字段
容易卡住的地方
- 历史库三个端点(关键词列表、取最新快照、存快照)需自行实现,返回JSON结构不匹配会导致diff为空
- 模板免费但SERP API、Anthropic与WhatsApp发送各自计费,先用合成数据演练
- 告警阈值原文未给具体值,本站演练设5位,需按词量自行调整
- 前100名结果中需过滤广告与地图模块,否则排名口径会漂移
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Track SERP winners and losers with a SERP API, Claude, and WhatsApp alerts
- 原作者
- Oneclick AI Squad
- 原始发布日期
- 2026-09-28T06:10:54.636Z
- 来源
- https://n8n.io/workflows/20008