2026-10-14 · 原文发布日
n8n用Search Console+OpenAI重写低点击率SEO标题
每周自动运行的SEO优化流程:从Google Search Console拉取页面表现,按基准点击率找出最欠点击的页面,抓取其实时标题、描述和H1及热门查询词,交给OpenAI生成新标题、备选标题和meta描述,写入Google Sheets待审;每小时检查表中标记为approved的行,可通过WordPress REST API自动更新Yoast或Rank Math字段。
原文要点
原工作流每周(或手动)运行一次生成建议、每小时处理审批:用Search Console Search Analytics API按页面拉表现,以基于排名的CTR基准计算“错失点击”选出最差页面;读取Google Sheets的“SEO Log”标签页执行冷却期,避免对近期更新过的URL重复建议;按slug匹配WordPress文章得到ID与类型;抓取候选页实时HTML提取title、meta描述和H1,连同热门查询词交给OpenAI生成新标题、备选标题和meta描述(带长度检查),以pending状态写入表格;每小时扫描approved行,经WordPress REST API更新Yoast或Rank Math字段并标记applied,无法匹配或回写关闭则标记manual。
这次做成什么
在n8n搭一个“找低点击率页面→AI重写标题→人工审批→自动回写WordPress”的闭环流程,并用本站设计的3页小样本先手动跑通一轮。
准备什么
- n8n Cloud账号或自托管实例,能使用HTTP Request、Google Sheets、OpenAI节点
- Google OAuth2凭据,授权范围含webmasters.readonly,且Search Console已验证站点
- OpenAI API密钥,WordPress站点的Application Password(仅自动回写需要)
- 一个已建好的Google表格,含名为SEO Log的标签页
具体怎么做
配置凭据与全局参数
在n8n凭据页新建Google OAuth2(勾选webmasters.readonly范围)、Google Sheets OAuth、OpenAI三项;在流程入口的Config节点填入gsc_property(如sc-domain:example.com)、wp_base_url、language、lookback_days=28、min_impressions=200、max_position=20、ctr_ratio=0.5、max_per_run=5、cooldown_days=30,seo_plugin暂填none先关闭回写。
建SEO Log表并读冷却名单
在Google表格新建SEO Log标签页,写入下方CSV表头;n8n用Google Sheets节点读取全表,Filter节点保留applied或manual且日期在cooldown_days内的行,提取其URL作为排除清单。
拉取GSC表现并评分
HTTP Request节点以POST调用Search Analytics API的searchAnalytics.query,dimensions填page,日期范围取lookback_days;Function节点按排名档位的基准CTR计算每页“错失点击=(基准CTR-实际CTR)×展示数”,过滤min_impressions与max_position后按错失点击降序取前max_per_run个,剔除冷却清单内URL。
抓页面要素与热门查询并生成文案
对每个候选URL再查一次GSC(dimensions=query,按page过滤)取前5个查询词;HTTP Request抓页面HTML,用HTML Extract节点取title、meta[name=description]、h1;将三者与查询词填入下方提示词调OpenAI,要求返回JSON。
写表待审与每小时回写
解析OpenAI返回的JSON,向SEO Log追加一行,status=pending;另建Schedule Trigger每小时运行的分支,读取status=approved的行,若seo_plugin为yoast或rank_math且URL能按slug匹配到文章ID,则用WordPress REST API更新对应meta字段并把状态改为applied,否则改manual。
可直接复制的材料
SEO标题重写提示词
本站独立编写,{current_title}等占位由上一节点数据替换。
你是一名资深SEO编辑。下面是某网页的现状数据:
当前标题:{current_title}
当前meta描述:{current_meta}
H1:{h1}
用户热门搜索查询词:{top_queries}
页面语言:{language}
请基于查询词的真实搜索意图,输出一个JSON对象,字段如下:
new_title:新SEO标题,不超过60个字符,包含最重要的查询词,靠前放置;
alt_title:备选标题,风格与new_title不同(如疑问式或数字式),不超过60字符;
meta_description:新meta描述,120至155字符,包含主要查询词和一个明确行动号召;
reason:一句话说明改写依据。
只输出JSON,不要输出任何其他文字。SEO Log表头与两行测试数据
本站合成示例,url换成你站点真实页面;wp_id由slug匹配节点回填。
url,wp_id,content_type,old_title,new_title,alt_title,new_meta,status,suggested_at,applied_at,notes
https://example.com/blog/coffee-guide,0,post,咖啡入门, pending_placeholder,,pending,2026-10-14,,测试行1
https://example.com/blog/tea-basics,0,page,茶饮基础,,, ,approved,2026-10-14,,测试行2-用于验证审批分支Config节点参考值
本站设计的手动练习参考值,非原模板实测参数;阈值按站点流量自行调整。
{"gsc_property":"sc-domain:example.com","wp_base_url":"https://example.com","language":"zh-CN","lookback_days":28,"min_impressions":200,"max_position":20,"ctr_ratio":0.5,"max_per_run":5,"cooldown_days":30,"seo_plugin":"none","sheet_id":"替换为你的表格ID","sheet_tab":"SEO Log"}输入与输出示例
本站虚构演示,OpenAI未实际调用,排名基准CTR档位为练习设定。
输入
页面https://example.com/blog/coffee-guide:28天展示3200次、点击64次(CTR 2.0%)、平均排名8.5;当前标题“咖啡入门”,meta为空,H1“咖啡入门指南”;热门查询词:手冲咖啡比例、新手咖啡豆推荐、咖啡研磨度。对应输出
{"new_title":"手冲咖啡比例与研磨度图解:新手咖啡豆推荐指南","alt_title":"咖啡怎么冲?比例、研磨度、选豆一篇讲清","meta_description":"详解手冲咖啡比例、研磨度选择与新手咖啡豆推荐:从粉水比对照表、水温控制到注水手法逐步拆解,附常见失败原因排查与调整方法,照着步骤做就能冲出稳定好喝的咖啡,新手第一次上手也不慌;内容还整理了不同烘焙度豆子的研磨搭配建议与器具入门清单,收藏这一篇,从选豆到冲煮一次搞定,今天就开始练。","reason":"热门查询集中在比例与选豆,原标题未覆盖这些意图。"} 该行以status=pending追加到SEO Log。做完检查这些
- Config保存后手动执行一次,能在SEO Log看到至少一行status=pending且new_title非空的建议
- 冷却测试:把某URL的applied_at填为昨天,再跑一次,该URL不出现在新建议中
- 把测试行2改为approved后手动触发小时分支,seo_plugin=none时状态被改为manual而非报错
- OpenAI返回的meta_description字符数在120至155之间,超长的被长度检查标记
容易卡住的地方
- Google OAuth必须包含webmasters.readonly范围,否则Search Analytics查询返回403
- Yoast/Rank Math的post meta默认不一定暴露在REST API,需要在WordPress侧开启对应字段,否则回写静默失败
- min_impressions设过低会让噪音页面进入候选,设过高则可能一个候选都没有
- HTML抓取依赖页面服务端渲染,前端JS渲染的站点取到的title可能为空
- 建议先用seo_plugin=none跑通,再开回写,避免审批前误改线上标题
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Rewrite low-CTR SEO titles using Google Search Console, OpenAI, Google Sheets, and WordPress
- 原作者
- 3t3
- 原始发布日期
- 2026-10-14T06:53:43.788Z
- 来源
- https://n8n.io/workflows/20930