Yoast SEO Abilities开放写入:AI工具能直接改canonical和robots,撤回却要靠会话记忆

Yoast SEO Abilities开放写入:AI工具能直接改canonical和robots,撤回却要靠会话记忆
张文保 21 分钟阅读 3,855 阅读
本文目录
  1. 这次Yoast到底多给了AI哪些权限?
  2. robots指令能改到多细
  3. 它是怎么接到Claude、Cursor这些工具上的?
  4. 第一块:Abilities API
  5. 第二块:MCP Adapter
  6. 请求长什么样
  7. 读回来的数据,哪些地方容易看走眼?
  8. 几个适合交给AI的体检任务
  9. AI改错了,怎么撤回?
  10. 比较稳妥的做法
  11. 谁适合现在就接,谁可以先等等?
  12. 权限和安全,哪几处要自己把关?
  13. 常见问题解答
  14. Yoast SEO Abilities是什么?
  15. 4月那次和9月这次有什么区别?
  16. 需要付费吗?
  17. AI能改焦点关键词吗?
  18. 改错了怎么撤回?
  19. 支持哪些AI工具?
  20. 需要WordPress哪个版本?
  21. 谁能使用这些能力?
  22. noindex传false和传null有什么区别?
  23. 本地站和线上站的连接方式一样吗?
  24. 可以按标题批量改吗?
  25. 权威参考资料

摘要:Yoast在9月29日的版本说明里宣布,Yoast SEO Abilities从只读分数升级到能读能改。接入WordPress的Abilities API和官方MCP Adapter后,Claude、Cursor这类AI工具可以读取一篇文章的标题、描述、robots指令、schema类型、canonical、社交预览和各项分数,并直接改写canonical、robots、基石内容和schema类型这些技术字段,还支持批量操作。焦点关键词对AI保持只读,权限沿用WordPress自带的能力检查。撤回改动依赖AI工具在当前会话里还记得旧值,会话一断,旧值就没了,所以改之前必须先读一遍。

让AI帮你查网站的SEO问题,这事很多人都干过。它能告诉你:这个商品页的schema写成了菜谱,那篇文章的canonical还指着测试站。说得都对,可然后呢?你还得自己登进后台,一篇一篇点开改。

Yoast在9月29日的版本说明里,想解决的就是“然后呢”。它的说法是,把AI工具从旁观者变成合作者:同一个AI工具,查出问题之后可以直接动手改。

这对用WordPress做外贸站、内容站的人是个实打实的变化,也带来了一个新问题:你愿不愿意让AI直接改你的noindex和canonical。下面按Yoast的发布说明和开发者文档,把它能做什么、怎么接、出了错怎么办讲清楚。

这次Yoast到底多给了AI哪些权限?

先说之前。4月28日,Yoast SEO第一次把自己接入WordPress的Abilities API,注册了三项能力:最近修改文章的SEO分数、可读性分数和包容性语言分数。任何AI工具都能稳定地查出哪些文章SEO分数偏低,但也就到此为止。它看不到分数背后的具体字段,更没法改,最后还是得有人打开wp-admin。

9月29日这次补上的就是这一段。按开发者文档,Yoast新注册了两项针对单篇文章SEO数据的能力,一读一写:

能力名称类型能做什么
yoast-seo/get-post-seo-data只读返回SEO标题、描述、robots各项指令、schema类型、canonical、Open Graph与X的社交预览、焦点关键词和三项分数
yoast-seo/update-post-seo-data写入修改指定文章的SEO字段,返回修改后的完整数据

发布说明强调的几个点:

  • 读的时候,可以按文章ID、固定链接,也可以按标题搜。你跟AI说“帮我看看那篇讲酸面包的文章”,它一次调用就能找到,不用来回翻。
  • 能写的主要技术字段是canonical、robots指令、基石内容标记和schema类型。这些本来就是Yoast管的字段,没有在内容和网站之间多塞一层东西。
  • 支持批量。一次调用可以对多篇文章做读取、更新或筛选,每篇文章单独返回结果,改了什么、改在哪都看得到。
  • 焦点关键词对AI只读。Yoast的理由是,这个词要你自己定,自动改掉它可能让内容简报和营销流程失效,后面所有的评估也会跟着歪。
  • 权限沿用WordPress原生的能力检查,没有另一套权限系统要学,审计方式和其他管理员级访问一样。

费用方面,发布说明写的是先把你自己的大模型订阅接到Yoast,之后读取、技术字段更新和批量操作都包含在Yoast SEO里。在后台的Yoast SEO菜单下进入集成页面,这次集成页也改版了,按主题分组,新的分组叫AI与智能体。

robots指令能改到多细

开发者文档把可写的robots相关字段拆得很细:noindex、nofollow、noimageindex、noarchive、nosnippet。其中noindex是三态的:

传入的值效果
true设为noindex,这篇文章不进搜索结果
false强制允许索引
null清除单篇设置,回到这个文章类型的默认值

这个三态设计很合理,但也意味着AI传错一个值,后果差别很大。传false和传null,在大多数站上看起来一样,等哪天你把整个文章类型改成noindex,两者的区别就出来了。schema的页面类型和文章类型也能改,取值必须是编辑器里本来就接受的那些类型,传了列表之外的值会报错,什么都不改。

它是怎么接到Claude、Cursor这些工具上的?

Yoast这次没有自己造连接器,它踩的是WordPress官方的两块地基。

第一块:Abilities API

WordPress核心AI团队在2025年11月发文介绍了Abilities API,首批实现进了WordPress 6.9。它的思路是给WordPress核心、插件和主题提供一个统一的登记处,每项能力都用同样的格式登记:唯一的名称、带类型的输入和输出结构、负责检查权限的回调、负责干活的回调。登记之后,PHP、JavaScript和REST API都能发现并调用它。

WordPress 6.9自带三项核心能力:获取站点信息、获取当前用户信息、获取运行环境信息。Yoast这两项新能力,可以在站点的/wp-json/wp-abilities/v1/abilities?category=yoast-seo这个地址列出来。

第二块:MCP Adapter

Abilities API解决的是“登记”,让AI工具能用上,还需要翻译成AI工具认识的协议。这就是WordPress MCP Adapter干的事,WordPress开发者博客2月4日专门介绍过。它把登记好的能力转换成MCP工具,Claude Desktop、Claude Code、Cursor、VS Code这些支持MCP的客户端就能发现并调用。

适配器以插件形式安装,可以从GitHub仓库的发布页下载。装好后会注册一个默认MCP服务器,并提供发现能力、查看能力信息、执行能力三个工具。连接方式有两种:

连接方式适合场景需要什么
STDIO本地开发环境本机装好WP-CLI,配置里指定WordPress安装路径
HTTP线上可公开访问的网站本机装Node.js,用@automattic/mcp-wordpress-remote做远程代理,认证用WordPress应用密码或自建OAuth

按WordPress开发者博客给的最小配置,两种方式在AI客户端里大致这样写。示例里的路径、用户名seo-bot和应用密码都是演示值,换成你自己的:

# 本地站点,STDIO方式,通过WP-CLI启动
"wordpress-mcp-server": {
  "command": "wp",
  "args": [
    "--path=/var/www/example",
    "mcp-adapter",
    "serve",
    "--server=mcp-adapter-default-server",
    "--user=seo-bot"
  ]
}

# 线上站点,HTTP方式,通过远程代理
"wordpress-mcp-server": {
  "command": "npx",
  "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
  "env": {
    "WP_API_URL": "https://example.com/wp-json/mcp/mcp-adapter-default-server",
    "WP_API_USERNAME": "seo-bot",
    "WP_API_PASSWORD": "abcd efgh ijkl mnop qrst uvwx"
  }
}

本地用HTTP代理连不上时,官方说常见原因是装了多个版本的Node.js,或者本地SSL证书有问题。--user参数决定AI以哪个WordPress用户的身份操作,这个用户有什么权限,AI就有什么权限,后面讲安全时会再提。

还有一个细节要注意:按MCP Adapter的说明,能力默认不会出现在默认服务器上,登记时要显式标记为对MCP公开。Yoast的能力在你的站上能不能被AI看到,取决于这里的配置,具体以Yoast开发者文档的接入步骤为准。

请求长什么样

不经过MCP,直接调REST接口也行。下面是按Yoast开发者文档整理的读写示例:

# 读取ID为5的文章的SEO数据
GET /wp-json/wp-abilities/v1/abilities/yoast-seo/get-post-seo-data/run?input[post_id]=5

# 按标题搜,可用逗号隔开多个短语,每页10条
GET /wp-json/wp-abilities/v1/abilities/yoast-seo/get-post-seo-data/run?input[title]=sourdough,breakfast&input[page]=2

# 写入:只传要改的字段,其余不动
POST /wp-json/wp-abilities/v1/abilities/yoast-seo/update-post-seo-data/run
{
  "input": {
    "post_id": 5,
    "canonical": "https://example.com/sourdough/",
    "schema_page_type": null
  }
}

写入接口只接受文章ID或固定链接,不接受标题搜索。文档的解释是,更新必须指向唯一确定的一篇文章。这个限制挺有必要,不然AI按标题模糊匹配到三篇,再一口气全改了,那就热闹了。

读回来的数据,哪些地方容易看走眼?

AI能读到数据,不代表它能读懂。Yoast返回的数据里有个设计,AI和人都容易误判:很多字段成对出现,一个是你手动设置的值,一个是最终渲染到页面上的值。

字段值为null时的意思对应的渲染字段
seo_title没有手填,用的是标题模板seo_title_rendered,页面上实际输出的标题
canonical没有手填,默认指向文章自身地址canonical_rendered,实际输出的规范地址
open_graph_title没有单独设置,沿用默认open_graph_title_rendered
noindex没有单篇设置,跟随文章类型默认无单独渲染字段,要结合文章类型设置看

文档里的示例就是这样:一篇讲酸面包的文章,seo_title是null,渲染出来的标题是文章名加站点名;canonical是null,渲染出来的是文章自己的地址。

如果你让AI“找出所有没设置canonical的文章并补上”,它看到一堆null,可能真的去逐篇写上自身地址。页面输出不会变,但你凭空多了几百个手填值,以后改域名或改固定链接结构时,这些写死的地址就成了隐患。更合理的指令是让它比较canonical_rendered和permalink,只挑两者不一致的出来给你看。

几个适合交给AI的体检任务

  • 找出canonical_rendered和文章自身地址不一致的文章,人工判断是故意的还是迁移遗留。
  • 列出所有noindex为true的文章,确认哪些是该隐藏的,哪些是误设的。
  • 按文章类型统计schema页面类型和文章类型,挑出同类内容里不一致的。
  • 筛出SEO分数为差、同时又被标为基石内容的文章,这类文章最该优先改。
  • 检查社交预览的标题和描述是不是都在用默认值,外贸站往领英、脸书分享内容多的,值得单独设置。

这些任务只用到读取能力,风险很小。读出来的结果交给人判断,再决定哪些用写入能力去改,这是目前比较踏实的用法。

AI改错了,怎么撤回?

这是整个功能最需要看清楚的地方。

发布说明的原话是:通过WordPress Abilities API做的任何修改都可以回滚,前提是你的AI工具在上下文里还留着被改动的值。所以实际操作时,改之前先读一遍这篇文章的SEO数据,然后在同一个会话里检查改动结果。上下文一丢,旧值也跟着丢。Yoast的建议是把读取当成写入的一部分。

换成大白话:WordPress没替你存历史版本,能撤回全靠AI自己记得刚才是什么样。这里有几个容易翻车的情况:

  • 会话太长,被工具自动压缩或截断,早先读到的旧值没了。
  • 你关了窗口第二天再回来,想让AI“把昨天改的撤回去”,它已经不知道昨天是什么。
  • 批量改了几十篇,旧值只在一大段返回结果里,AI恢复的时候漏掉几篇。

开发者文档对写入能力的标注也透露了这层风险。写入接口被标为非只读、幂等,“是否有破坏性”这一项故意没有声明。文档解释说,它只改Yoast的SEO元数据,不碰正文,但写入会覆盖旧值,传空值会清空字段,存在丢数据的可能,所以不作“无破坏”的保证。

比较稳妥的做法

  • 让AI先把要改的文章批量读一遍,把结果导出成文件存在本地,别只放在对话里。
  • 先在测试站上跑一遍同样的指令,看清楚它会改哪些字段,再上正式站。
  • noindex、canonical这类改了会直接影响收录的字段,让AI每次只改少量文章,改完人工抽查页面源码。
  • 改完一周内盯着Search Console的网页索引报告,看有没有页面突然被排除。
  • 站点本身要有数据库备份,这是最后一道保险,别指望AI的记忆。

canonical被改错的后果,站内那篇canonical标签的8种误用写得比较全,比如批量指向首页、跨域指错。AI按“统一规范”的思路批量改canonical,很容易踩进其中几种。

谁适合现在就接,谁可以先等等?

Yoast的发布说明开头就点明,这次更新是给已经在配MCP连接或智能体工作流的人准备的。它还提到两类受益者:要在上面做看板或报表工具的开发者,带类型的输入输出结构让返回结果可预期,这比任何单个功能都重要;代理公司,可以在每个交付的WordPress站上用同一套标准配置,不用逐站手动重配。

放到国内做外贸站的团队,可以这么判断:

情况建议
一个人维护一两个站,文章不多价值有限,后台点几下比配MCP还快,可以只开读取,让AI帮你体检
代运营公司,手上几十个WordPress站值得试,统一接入后可以让AI批量查schema、robots设置是否一致
站点刚改版或迁移过,遗留的canonical、noindex问题多适合用读取能力快速排查,写入先在测试站验证
多人协作、作者和编辑权限混杂先理清谁有高级元数据权限,再决定给哪个账号的应用密码
站点没有备份、没有测试环境先别开写入

往大了看,这类能力是网站对AI智能体开放操作入口的一部分。站内9月写过的Lighthouse新增ARD审计,讲的是网站怎么告诉AI自己有哪些工具可用;Yoast这次做的,是让站长自己的AI工具能改站。两件事方向不同,但都说明,网站后台正在从只给人点的界面,变成也给AI调用的接口。用MCP做SEO自动化会遇到哪些坑,站内也有一篇MCP接入SEO工作流的失败复盘可以先看看。

没在用Yoast、在用Rank Math或AIOSEO的,可以先看看自己的插件有没有类似进展。几款插件怎么选,站内的Yoast、Rank Math、AIOSEO横评可以参考,这次Yoast在智能体接入上算是先走了一步。

权限和安全,哪几处要自己把关?

Yoast说权限沿用WordPress的能力检查,开发者文档写得更具体:这两项文章SEO数据能力,要求用户有高级元数据权限,也就是编辑器里控制高级设置和schema字段的那项权限;在此基础上,还会逐篇检查这个用户能不能编辑这篇文章,只返回和修改他有权编辑的文章。相比之下,4月上线的分数类能力要求的是Yoast设置管理权限。

MCP Adapter的介绍文章在安全部分说得很直白:MCP客户端是以登录用户的身份在操作WordPress,所以要把它当成应用的一部分攻击面来对待。几条落地建议:

  • 给AI单独建一个WordPress用户,只给需要的权限,别直接用管理员账号的应用密码。
  • 应用密码当成服务器密码管理,不要写进共享的配置文件或提交到代码仓库。站内写过WordPress独立站AI API Key泄漏的攻防,道理相通。
  • 自托管站目前主要靠应用密码或JWT认证,WordPress.com那边用的是OAuth 2.1,两者安全模型不同。
  • 打开访问日志,定期看AI账号调了哪些接口、改了哪些文章。

还有一点是AI本身的问题。AI工具判断“这个页面schema写错了”,依据是它读到的内容和它的理解,未必对。商品页用了菜谱schema这种明显的错误,让它改没问题;“这篇文章该不该noindex”这种需要业务判断的事,最好还是人拍板。Yoast把焦点关键词锁成只读,背后也是同一个考虑:有些决定不该交给AI。

常见问题解答

Yoast SEO Abilities是什么?

Yoast SEO接入WordPress Abilities API的一组能力,让支持MCP的AI工具读取文章的SEO数据,并修改canonical、robots、基石内容、schema类型等技术字段。

4月那次和9月这次有什么区别?

4月28日上线的三项能力只能读最近修改文章的SEO、可读性和包容性语言分数。9月29日这次能读完整的SEO字段,还能写入技术字段,并支持批量操作。

需要付费吗?

按发布说明,先把自己的大模型订阅接到Yoast,之后读取、主要SEO字段更新和批量操作都包含在Yoast SEO里。大模型本身的费用由你自己的订阅承担。

AI能改焦点关键词吗?

不能。焦点关键词对AI只读,Yoast的理由是自动改它可能打乱内容简报和营销流程,还会影响之后的所有评估。

改错了怎么撤回?

只要AI工具在当前会话里还保留着被改动的旧值,就能回滚。会话结束或上下文丢失后,旧值也就没了,所以改之前先读取并另外保存。

支持哪些AI工具?

通过WordPress MCP Adapter连接后,任何支持MCP的客户端都能调用,官方举的例子有Claude Desktop、Claude Code、Cursor和VS Code。

需要WordPress哪个版本?

Abilities API的首批实现在WordPress 6.9进入核心,还需要另外安装MCP Adapter插件。具体的版本要求以Yoast开发者文档为准。

谁能使用这些能力?

文章SEO数据的读写要求用户有Yoast的高级元数据权限,并且只能读写自己有权编辑的文章。分数类能力要求的是Yoast设置管理权限。

noindex传false和传null有什么区别?

传false是强制允许这篇文章被索引;传null是清除单篇设置,回到这个文章类型的默认值。文章类型默认被设成noindex时,两者结果不同。

本地站和线上站的连接方式一样吗?

不一样。本地开发环境一般用STDIO方式,通过WP-CLI启动MCP服务;线上站点用HTTP方式,借助mcp-wordpress-remote代理,并用应用密码或OAuth认证。

可以按标题批量改吗?

按标题搜索只用于读取。写入必须用文章ID或固定链接指定唯一的一篇文章,批量写入是对多篇明确指定的文章分别执行。

权威参考资料

分享到
标签
版权声明

本文标题:《Yoast SEO Abilities开放写入:AI工具能直接改canonical和robots,撤回却要靠会话记忆》

本文链接:https://zhangwenbao.com/yoast-seo-abilities-ai-agent-edit-seo-fields.html

版权声明:本文原创,转载与引用请注明作者与原文链接。许可协议: CC BY 4.0

继续阅读
发表评论
支持 Ctrl + Enter 提交