← Back to list

SEO 的”接受阶段”不只是想通而已:BeeOS 如何把 AI 搜索可见性从一个人的焦虑变成三个 Agent 的日常巡检

当 Cloudflare 扫了 20 万网站,发现 MCP Server Card 不到 15 个时,大家讨论的是”这个行业还没准备好”。

BeeOS · 2026-05-15 03:44 · 0 claps · 16.9 min read
#seo #geo #ai #ai-agent #beeos
Open on Medium ↗
Wiki topics: AGT · AI Agents AI · AI · General SEO · SEO & SEM

SEO 的”接受阶段”不只是想通而已:BeeOS 如何把 AI 搜索可见性从一个人的焦虑变成三个 Agent 的日常巡检

当 Cloudflare 扫了 20 万网站,发现 MCP Server Card 不到 15 个时,大家讨论的是”这个行业还没准备好”。

但真正的分界线不是”有没有准备好”。

是你知道自己没准备好之后,能不能把它变成一件事 — — 一件不用你每天都盯着的事。

你做 SEO,应该经历过这种循环:

一个新标准出来 — — 比如 Content Signals、llms.txt、MCP Server Card — — 你先读到一篇文章,觉得有道理。然后在某个产品评审会上提了一句”我们是不是也该做这个”。大家点头。然后就没有然后了。

不是因为不重视。是因为:

  • 没人把它变成工单
  • 没人知道现在的状态是”达标”还是”退步”
  • 每次更新网站内容之后,没人复查 robots.txt 的 AI bot 规则有没有被覆盖
  • 一个月后标准更新了,你不知道

更焦虑的是:你甚至不知道 agent 现在看到的你是什么样。ChatGPT 搜索引用你的内容了吗?Claude 能读懂你的产品文档吗?你的 MCP Server Card 还在线吗?

这不是一个”技术理解”问题。这是一个运维焦虑问题。你能想通这件事,不等于你能每天盯住这件事。

这种焦虑的本质是:Agent Readiness 的所有检查项都是”沉默的”。你不去看,没有人会告诉你。搜索引擎排名掉了你至少会看到流量变化 — — Agent Readiness 掉了,你看到了什么?什么都没看到。直到你的竞品开始被 ChatGPT 推荐而你没有,你才开始猜原因。

适合谁读? 正在做 SEO、内容运营、开发者关系或增长的产品负责人;已经读过 Cloudflare Agent Readiness 文章、知道这些标准是什么、但不知道怎么把它变成日常运作的团队;以及在想”我知道 agent 会改变搜索,但我的团队人手不够”的人。

读完这篇,你应该能回答三个问题:

1. 为什么 Agent Readiness 是一个"运维问题",不是一次性配置?
2. 把 Agent Readiness 检查交给 agent 本身,哪三层需要被覆盖?
3. 三个 BeeOS agent(DiscoverAgent、ContentAgent、CapabilityAgent)怎么组成一套日常巡检流水线?

零、先看 Cloudflare 发现了什么

先把事实说清楚。

Cloudflare 在 2026 年 4 月发布了 Agent Readiness 评分和 isitagentready.com 工具。他们用 Cloudflare Radar 扫描了互联网上 200,000 个访问量最高的域名 — — 过滤掉广告服务器、隧道服务等不相关类别后,聚焦在 AI agent 需要交互的企业、出版商和平台 — — 然后逐项检查每个站点对 agent 友好的程度。

结果比多数人预期的更接近空白:

  • 标准: robots.txt — 覆盖率: 78% — 说明: 近八成站点有,但绝大多数为传统爬虫编写,未适配 AI agent
  • 标准: Content Signals(声明 AI 使用偏好) — 覆盖率: 4% — 说明: 可独立控制训练/搜索/购买三项授权
  • 标准: Markdown 内容协商(Accept: text/markdown) — 覆盖率: 3.9% — 说明: Cloudflare 实测 token 消耗减少最多 80%
  • 标准: MCP Server Card + API Catalog(RFC 9727) — 覆盖率: < 15 个站点 — 说明: 整个 20 万域名数据集中不到 15 个

评分维度分四个象限:

  • 维度: Discoverability — 检查项: robots.txt、sitemap.xml、Link Headers — 解决什么问题: agent 能找到你
  • 维度: Content — 检查项: Markdown content negotiation、llms.txt — 解决什么问题: agent 能读懂你
  • 维度: Bot Access Control — 检查项: Content Signals、AI bot rules、Web Bot Auth — 解决什么问题: 你能控制 agent 读什么
  • 维度: Capabilities — 检查项: Agent Skills、API Catalog、OAuth 发现、MCP Server Card — 解决什么问题: agent 能调用你的服务

Cloudflare 自己也做了示范 — — 他们把开发者文档站改造为”最 agent-friendly 的文档站”,让 AI 工具回答开发者问题时更快、更便宜。isitagentready.com 本身也暴露了 MCP server 和 Agent Skills index,确保 agent 不仅能扫描站点,还能知道怎么修。

以上数据全部来自 Cloudflare 官方博客(Introducing the Agent Readiness score,2026–04–17)。数据基于 Cloudflare Radar 每周更新的公开数据集。

一、”接受阶段”的真正含义

很多人读 Cloudflare 那篇文章的反应是:哦,这个行业还处在早期。然后继续做自己的事。

但”接受阶段”不是一个市场判断。它是一个组织阶段

回想一下 SEO 的历史。1990 年代末,很多人认为”把网站提交给搜索引擎”就是 SEO 的全部工作。后来大家发现不是 — — SEO 是一个持续的过程:关键词研究、内容优化、外链建设、排名监控、算法更新应对。于是 SEO 从一个”配置项”变成了一个”运营岗位”。

Agent Readiness 正处在同一个转折点上。现在大多数团队的反应还停留在”我接受了这个事实” — — 他们读了文章,点了赞,可能在某个文档里写了一句”未来要考虑 AI 搜索优化”。但接受事实不是行动。行动是把这件事变成一个有巡检频率、有责任人、有告警、有修复链路的系统。

这里面最难的不是技术,是认知跃迁。承认一个市场趋势存在(”agent 会改变搜索”)是 0→1 的认知。把承认变成行动(”我每天在管 agent 对我的可见性”)是 1→10 的操作。大多数人卡在了 0→1 之后,因为他们把”接受”误解成了”完成”。

接受阶段 ≠ 想通了
接受阶段 = 把它变成一件不用你亲自盯的事

这就是”一个人的焦虑”和”三个 agent 的日常巡检”的区别。你作为 SEO 或增长负责人,不应该每天早上打开 isitagentready.com 输入自己的域名看分数。你应该每天早上看到一条消息:”昨天所有指标正常”或者”Content Signals 配置被昨晚的 robots.txt 更新覆盖了 — — 已创建修复建议”。

二、为什么一次性的检查不够

Agent Readiness 不是一次性的配置检查,因为你的网站不是静态的。

拿 robots.txt 来说:你的工程团队每次部署都可能无意中覆盖它。前端重构时有人重新生成了静态资源,顺手改了 robots 规则。CMS 更新时插件自动写入了新的 crawl 指令。甚至 CDN 缓存层的一个配置变更,都可能让 agent 看到的版本和你想的不一样。

Markdown 内容协商更脆弱。你的 HTML → Markdown 转换依赖于前端模板结构。每次改版、换 CMS、换渲染框架,转换质量都会波动。你上个月测出来 token 节省 80%,这个月换了模板之后可能只剩 40% — — 但没人知道,因为没有人在测。

更隐蔽的退化场景:你的 Markdown 输出里,API 文档的代码示例块还在,但语言标记从 ```python 变成了 `````。agent 读取时仍然能读到代码,但失去了语言上下文,生成的代码建议质量下降。这种退化不会触发任何现有的监控——没有 5xx 错误,没有响应时间变长,没有用户投诉。它只是在 agent 的体验里静悄悄地劣化。

MCP Server Card 和 Agent Skills 文件的风险更隐蔽:它们是静态文件,放在 .well-known/ 目录下。没有流量。没有报错。没有用户投诉。它们唯一的存在意义就是被 agent 读取——但如果它们坏了(JSON 格式错误、过期、被 CDN 缓存了一个旧版本),你的网站在 agent 眼里就是”没有能力声明”的。你不会知道,因为没有人会告诉你。

一次性检查 → 只告诉你"今天的分数"
持续巡检 → 告诉你"什么时候分数变了、为什么变、怎么修"

这两个模式之间的差距,就是”想通了”和”在管了”之间的差距。

三、适合交给 agent 巡检的三层结构

如果 Agent Readiness 是一个运维问题,那么最适合做运维的就是 agent 本身。这是整个讨论的核心命题:用 agent 来解决 agent 时代的可见性问题。

具体来说,巡检需要覆盖三层:

发现层 — — 你的网站在 agent 眼里能不能被找到。这一层的检查项是 robots.txt、sitemap.xml、Link Headers。问题不是”有没有这些文件”,而是”这些文件对 AI agent 有没有用” — — robots.txt 里的 User-agent: GPTBot 规则还在吗、sitemap 包含了最新的页面吗、Link header 指向了正确的 API Catalog 吗。

内容层 — — agent 找到之后能不能读懂。Markdown 内容协商是否生效、llms.txt 是否反映最新导航结构、转换后的 markdown 中关键产品信息有没有丢失。这一层变化最快:每次内容团队发布新页面、改版导航、换 CMS 模板,都可能打破之前正常工作的内容管道。

能力层 — — agent 读懂的不仅是内容,还有你的服务能力。MCP Server Card 声明了”我有一个 MCP 服务器”以及怎么连接;Agent Skills 声明了 agent 可以怎么操作你的网站;API Catalog 声明了你的 API 端点列表和 schema。如果这些文件的 JSON 格式错了、URL 失效了、描述的 schema 和实际 API 不一致了 — — agent 就会从”能发现你也能读懂你”变成”不知道你能做什么”。

能力层最讽刺的地方:你的用户永远不会访问这些文件。没有人会在浏览器地址栏输入 /.well-known/mcp.json。这意味着这些文件可以坏了半年,没有任何一个人注意到——直到某天你发现 Claude 不再推荐你的产品,不知道原因。

这三层构成一条完整的 agent 可见性链路:

发现(找到你) → 内容(读懂你) → 能力(调用你)

缺失任何一层,链路就断了。而且每一层的退化都在悄悄地发生,没有一个工程师会收到报警。

BeeOS 落点:三个 agent 的日常巡检流水线

Cloudflare 的 Agent Readiness 给了我们评分标准和检查工具。但标准是给人的,工具是按需跑的。要把 Agent Readiness 从”一个人的焦虑”变成”一套运转中的系统”,需要三个 agent 角色和一套巡检流水线。

DiscoverAgent:盯住发现层

DiscoverAgent 的日常任务很简单:每天拉一次 robots.txt、sitemap.xml、Link headers。它不是简单地检查”文件存不存在”——它做的事情是一个 SEO 工程师手动做会很烦的事:

GET /robots.txt → 解析 User-agent: GPTBot / Claude-Web / ... → 检查规则完整性
GET /sitemap.xml → 检查最新页面是否包含 → 对比上次巡检的新增/删除差异
HEAD / → 检查 Link: rel="api-catalog" 响应头 → 确认指向文件可用

如果任何一项偏离基线 — — robots.txt 里 AI bot 规则被删了、sitemap 少了关键页面、Link header 消失 — — DiscoverAgent 生成一个差异报告,写入 task log,并可选择性地通知渠道(飞书 / Slack / 邮件)。

它关心的不是”现在的分数是多少”,而是”从昨天到今天,什么变了”。

这个”差异视角”很重要。Cloudflare 的 isitagentready.com 给你的是一个绝对分数 — — 82 分。但 82 分没有告诉你的是:你上周是 88 分,robots.txt 里有一条 GPTBot 规则被误删了。DiscoverAgent 的基线对比逻辑就是填补这个信息缺口。

ContentAgent:盯住内容层

ContentAgentDiscoverAgent 更”重”一点——它不是只发 HTTP 请求看响应头。它需要实际消费你的内容,然后评估消费体验。

GET /docs/start → Accept: text/markdown → 检查返回格式、token 数、关键信息完整性
GET /llms.txt → 对比 sitemap 最新结构 → 检查导航是否过期

如果 markdown 转换导致代码示例丢失、标题层级错乱、关键 API 端点文档不完整,ContentAgent 标记为”内容可读性下降”。如果 llms.txt 里列出的页面有 404,标记为”导航过期”。

这一层的巡检频率可以比发现层低一些 — — 每周一次,或者在内容团队发布大版本之后触发一次扫描。

CapabilityAgent:盯住能力层

CapabilityAgent 是三层里”隐蔽性最高”的一层——它检查的东西没有用户会主动点击。MCP Server Card 是一个 JSON 文件,放在 .well-known/mcp.json。Agent Skills index 同理。API Catalog 同理。

GET /.well-known/mcp.json → JSON schema 校验 → 检查 server URL 可达性
GET /.well-known/agent-skills/index.json → 校验格式 → 检查每个 skill 文件存在
GET /.well-known/api-catalog → 校验 RFC 9727 schema → 检查描述的 API 实际可达

如果 MCP Server Card 返回 5xx、Agent Skills 的 JSON 格式错误、API Catalog 里描述的端点在实际调用时返回 404 — — CapabilityAgent 报告”能力声明失效”。这个修复优先级应该是最高的,因为能力层断了等于你从”agent 可调用”退化为”agent 只可读”。

而且能力层的退化有一个特征:它不会自己恢复。robots.txt 如果被不小心改坏了,后续的部署可能会覆盖回来。但 MCP Server Card 是一个静态 JSON 文件,没有谁会”不经意地”去修它 — — 它只能被故意地修复。CapabilityAgent 的价值不只是检测问题,而是确保问题在被发现后不会继续沉默。

巡检流水线和权限边界

三个 agent 不是独立跑的。它们组成一条流水线:

定时触发(每日/每周/事件驱动)
  → DiscoverAgent(发现层)→ 基线对比 → 差异报告
    → ContentAgent(内容层)→ 格式校验 → 质量评估
      → CapabilityAgent(能力层)→ schema 校验 → 可达性验证
        → 巡检汇总 → 通知 + 修复建议
这条流水线有两个设计选择值得单独说明。第一,三层是顺序执行的——如果发现层本身出了问题(比如 robots.txt 返回 5xx),那么内容层和能力层的结果可靠性下降,因为链路头已经断了。第二,每一层的结果都是独立的记录,而不是一个加权总分。Cloudflare 给你一个总分,但你要做运维决策时需要的是"哪一层、哪一项出了问题",不是一个数字。
  • Agent: DiscoverAgent — bak_ 权限范围: bak_seo_read_external — 允许: GET robots.txt/sitemap/headers,写巡检日志 — 不允许: 修改任何网站内容或配置
  • Agent: ContentAgent — bak_ 权限范围: bak_seo_read_external — 允许: GET 内容并做 markdown 转换校验,写质量报告 — 不允许: 编辑内容、修改 CMS
  • Agent: CapabilityAgent — bak_ 权限范围: bak_seo_read_external — 允许: GET .well-known/ 文件、校验 JSON schema、测试 API 可达性 — 不允许: 修改 API 配置、写入任何 .well-known/ 文件

三层权限全部是 bak_seo_read_external——只读外部资源、只写内部巡检日志。任何修复操作都需要人工确认。这不是技术限制,是设计选择:巡检 agent 的职责是发现和报告,不是修改和部署。修复是另一个 agent(比如 SiteFixer)的职责,且需要更高权限。

不只是”检查”,是”可运营的可见性”

这一套巡检流水线的关键价值,在于它把”Agent Readiness”从 Cloudflare 的一个评分网站变成了你系统里的一组可追踪指标:

  • Discoverability Score:从昨天到今天,发现层有没有退化
  • Content Quality Delta:markdown 转换质量的变化趋势
  • Capability Status:MCP/API/Agent Skills 文件的可达性和 schema 正确性

这些指标可以挂到你的运维仪表盘上,可以和 CI/CD 流程挂钩 — — 比如在 robots.txt 变更的 PR 中自动触发一轮 DiscoverAgent 巡检。也可以设置告警:能力层连续两次巡检失败 → 通知增长负责人。

这就形成了一个正向循环:你不需要每天焦虑地打开 isitagentready.com,因为巡检已经在跑。你不需要手动对比”今天和上周有什么不同”,因为差异报告已经生成。你不需要担心”能力层坏了没人知道”,因为告警已经触发。

这就是从”一个人想通了”到”系统在管了”的转变。

结语:能看见自己,agent 才能看见你

Cloudflare 给了一个很好的起点:标准和工具都有了。但标准不会自己检查,工具不会自己跑。

如果你现在还处在这个阶段:

读到 Agent Readiness 文章 → 点开 isitagentready.com 测了一下 → 觉得有道理 → 关掉了

那么你没有做错任何事。你只是还没有跨过那条线 — — 从”接受这个事实”到”把它变成一个运转中的系统”。

这里有一个很容易忽略的转变:当你把 Agent Readiness 从”偶尔检查”变成”持续巡检”,你关心的对象也变了。原来你关心的是”我的网站 agent-ready 吗” — — 这是一个状态问题,答案可以是”差不多”。巡检之后你关心的是”从昨天到今天,什么变了” — — 这是一个 delta 问题,答案必须是具体的:哪一项变了、什么时间变的、可能的原因是什么。

状态问题可以用脑子回答。Delta 问题需要系统回答。

如果以下三个问题你还没有确定的答案:

1. 你的 robots.txt 里 AI bot 规则上次变动是什么时候?你现在知道吗?
2. 你的网站接受 Accept: text/markdown 返回的内容,质量从半年前到现在有没有退化?
3. 你的 MCP Server Card 上一次被验证是有效的,是什么时候?

BeeOS 的 DiscoverAgent + ContentAgent + CapabilityAgent 巡检流水线不会替你修这些问题——但它会让你第一时间知道这些问题存在。而这个”第一时间”,就是一个人焦虑和一套系统在跑的差距。

再往下想一步:当你有了这套巡检系统,你可以在每次部署时自动触发一轮完整检查 — — 发现层 → 内容层 → 能力层,全链路验证。如果全部通过,部署继续。如果任何一层退化,部署暂停,差异报告自动推送到你的协作工具。

这不是 AI 搜索优化的”未来”。这是你今天能用 agent 自己做到的”现在”。

参考与延伸阅读

BeeOS: docs.beeos.ai · openapi.beeos.ai · a2a.beeos.ai · mcp.beeos.ai


메타데이터
post_id
b7e59cb9c1fa
slug
seo-的-接受阶段-不只是想通而已-beeos-如何把-ai-搜索可见性从一个人的焦虑变成三个-agent-的日常巡检-b7e59cb9c1fa
url
https://medium.com/@beeos-ai/seo-%E7%9A%84-%E6%8E%A5%E5%8F%97%E9%98%B6%E6%AE%B5-%E4%B8%8D%E5%8F%AA%E6%98%AF%E6%83%B3%E9%80%9A%E8%80%8C%E5%B7%B2-beeos-%E5%A6%82%E4%BD%95%E6%8A%8A-ai-%E6%90%9C%E7%B4%A2%E5%8F%AF%E8%A7%81%E6%80%A7%E4%BB%8E%E4%B8%80%E4%B8%AA%E4%BA%BA%E7%9A%84%E7%84%A6%E8%99%91%E5%8F%98%E6%88%90%E4%B8%89%E4%B8%AA-agent-%E7%9A%84%E6%97%A5%E5%B8%B8%E5%B7%A1%E6%A3%80-b7e59cb9c1fa
canonical_url
https://medium.com/@beeos-ai/seo-%E7%9A%84-%E6%8E%A5%E5%8F%97%E9%98%B6%E6%AE%B5-%E4%B8%8D%E5%8F%AA%E6%98%AF%E6%83%B3%E9%80%9A%E8%80%8C%E5%B7%B2-beeos-%E5%A6%82%E4%BD%95%E6%8A%8A-ai-%E6%90%9C%E7%B4%A2%E5%8F%AF%E8%A7%81%E6%80%A7%E4%BB%8E%E4%B8%80%E4%B8%AA%E4%BA%BA%E7%9A%84%E7%84%A6%E8%99%91%E5%8F%98%E6%88%90%E4%B8%89%E4%B8%AA-agent-%E7%9A%84%E6%97%A5%E5%B8%B8%E5%B7%A1%E6%A3%80-b7e59cb9c1fa
author_url
https://medium.com/@beeos-ai
status
ok
fetched_at
2026-06-09 15:37:30