seo-ai-discovery
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseseo-ai-discovery (M21 — AI discovery & agent endpoints)
seo-ai-discovery (M21 — AI 发现与 Agent 端点)
Discovery files tell agents and coding assistants where to look; none of them is a documented answer-engine ranking or citation signal, so every M21 finding is or and the module's weight is 0. Robots/UA posture lives in (M14); agentic-commerce readiness (UCP + catalog feeds on stores) lives in (M18).
speculativedirectionalseo-ai-crawlersseo-ecommerce发现文件会告诉 Agent 和编程助手应从哪里查找信息;这些文件均未被记录为答案引擎(answer-engine)的排名或引用信号,因此 M21 的所有发现均为 或 ,该模块的权重为 0。Robots/UA 策略归 (M14)负责;商店的 Agent 商务就绪状态(UCP + catalog feeds)归 (M18)负责。
speculativedirectionalseo-ai-crawlersseo-ecommerceInputs
Inputs
Work from the PageSnapshot named in your dispatch envelope: holds the probe results (status, content-type, bytes, raw bodies ≤256 KB) for , , , , , , ; holds the per-bot verdicts for the robots cross-check; in the envelope decides UCP ownership. Deterministic findings already emitted by are listed in — do not re-emit those ids; add model-judged findings only. If invoked directly with a URL/path and no snapshot exists, first run and use the printed snapshot path.
<run_dir>/site/discovery.json/llms.txt/llms-full.txt/agents.md/.well-known/ucp/.well-known/ai-catalog.json/sitemap_agentic_discovery.xml/api/ucp/mcp<run_dir>/site/robots.jsonverticalaudit.mjs<run_dir>/findings.deterministic.jsonnode "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs"使用调度信封(dispatch envelope)中指定的 PageSnapshot: 保存针对 、、、、、、 的探测结果(状态、content-type、字节数、≤256 KB 的原始响应体); 保存用于 robots 交叉核查的按 bot 判定结果;信封中的 决定 UCP 的归属。 已输出的确定性发现列于 ——不要重复输出这些 id;只添加模型判定发现。如果直接使用 URL/路径调用且不存在快照,请先运行 ,并使用输出的快照路径。
<run_dir>/site/discovery.json/llms.txt/llms-full.txt/agents.md/.well-known/ucp/.well-known/ai-catalog.json/sitemap_agentic_discovery.xml/api/ucp/mcp<run_dir>/site/robots.jsonverticalaudit.mjs<run_dir>/findings.deterministic.jsonnode "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs"Audits
Audits
- llms.txt — present (200, text); llmstxt.org structure: one H1 title, optional summary blockquote, H2 sections of links; linked URLs resolve (
- [title](url): note, ≤25 checked); the file is not disallowed in robots to the AI bots that would read it.--deepis reported present/absent only./llms-full.txt - agents.md — present/absent; note when it is a platform default (Shopify ships one) — informational.
- UCP profile () — only when
/.well-known/ucpis not active (M18 owns it otherwise): public (200, no auth), JSON,ecommerceasucp.version,YYYY-MM-DD/servicesobjects keyed by reverse-DNS names → arrays ofcapabilities. Note a declared{version, spec, transport?, endpoint?, schema}entry — it says the platform exposes a catalog service, which is a platform default, not a merchant decision.dev.shopify.catalog - ARD catalog () — present and parseable JSON. Report-only: v0.9 draft (2026-05-28), near-zero adoption.
/.well-known/ai-catalog.json - Agentic sitemap () — present, well-formed XML, sampled
/sitemap_agentic_discovery.xmlentries resolve.<loc>
- llms.txt — 存在(200,text);符合 llmstxt.org 结构:包含一个 H1 标题、可选的摘要引用块,以及由 链接组成的 H2 分节;链接 URL 均可正常解析(
- [title](url): note,最多检查 25 个);robots 未禁止会读取该文件的 AI bots。--deep仅报告存在或不存在。/llms-full.txt - agents.md — 存在或不存在;注明是否为平台默认文件(Shopify 会自带一份)——仅供参考。
- UCP 配置()— 仅当
/.well-known/ucp未启用时检查(否则由 M18 负责):可公开访问(200,无 auth)、JSON 格式,ecommerce为ucp.version,YYYY-MM-DD/services是以反向 DNS 名称为键的对象 → 值为capabilities的数组。注明声明的{version, spec, transport?, endpoint?, schema}条目——它表示平台公开了 catalog 服务,这属于平台默认行为,而非商户的决策。dev.shopify.catalog - ARD catalog()— 存在且是可解析的 JSON。仅作报告:v0.9 草案(2026-05-28),采用率接近于零。
/.well-known/ai-catalog.json - Agentic sitemap()— 存在、XML 格式正确,抽样检查的
/sitemap_agentic_discovery.xml条目均可正常解析。<loc>
Fixes
Fixes
- AUTO (), disclosure-gated and scored 0: generate or repair
fixable: auto/llms.txtfrom the site's own structure (sitemap URLs + parsed titles) only on explicit request (llms-full.txt, aliasfix --category ai-discovery), shown as a diff before writing, always with the disclosure that impact is low/uncertain.llms - ADVISORY (): UCP/ARD/agentic-sitemap adoption, and unblocking a disallowed discovery file (the robots write belongs to M14). The tool never authors a merchant profile — platforms generate those.
fixable: advisory - Never fabricate link targets, descriptions, endpoints, or versions — ask the user or leave a clearly-marked placeholder.
TODO
- AUTO(),需披露确认且计分为 0:仅在明确请求时(
fixable: auto,别名fix --category ai-discovery),根据站点自身结构(sitemap URL + 解析出的标题)生成或修复llms/llms.txt,写入前以 diff 形式展示,并始终附带影响较低或不确定的披露说明。llms-full.txt - ADVISORY():关于 UCP/ARD/agentic-sitemap 的采用,以及解除对被 robots 禁止的发现文件的封锁(robots 写入归 M14)。该工具绝不编写商户配置——此类文件由平台生成。
fixable: advisory - 绝不捏造链接目标、描述、端点或版本——应询问用户,或保留明确标记的 占位符。
TODO
Verification
Verification
- — re-reads
node "${CLAUDE_PLUGIN_ROOT}/scripts/ai-discovery.mjs" --snapshot <pages/<slug>.json> [--deep], validates llms.txt structure (site/discovery.json), UCP/ARD JSON shape (dom_assert), agentic-sitemap XML (schema_validator), and the robots cross-check (xml_parse).robots_parse - When the discovery probes did not run (no network, local path), status is — never a false
needs_api.pass
- — 重新读取
node "${CLAUDE_PLUGIN_ROOT}/scripts/ai-discovery.mjs" --snapshot <pages/<slug>.json> [--deep],验证 llms.txt 结构(site/discovery.json)、UCP/ARD JSON 形态(dom_assert)、agentic-sitemap XML(schema_validator)以及 robots 交叉核查(xml_parse)。robots_parse - 当发现探测未运行时(无网络、本地路径),状态为 ——绝不能误报为
needs_api。pass
Findings
Findings
Conform to ; axis ; severity ≤2; confidence unless noted. Severity policy: 5 is reserved for catastrophic, eligibility-killing facts at site/template scope; 4 major · 3 moderate · 2 minor · 1 cosmetic · 0 informational — and only an severity-5 in an active category can cap a score (). M21's category weight is 0, so nothing here can move or cap either score whatever its severity. quotes the file/probe line verbatim; is the command above; is banded (no naked %). Ids:
schema/finding.schema.jsonaispeculativeestablishedfailreferences/scoring-model.mdevidence.observedverification.reproduceexpected_impact- (warn 1,
M21.llmstxt.missing) ·fixable: auto(warn 1,M21.llmstxt.malformed) ·fixable: auto(warn 2,M21.llmstxt.broken_links,fixable: proposed) ·directional(warn 2,M21.llmstxt.blocked_for_ai_bots,fixable: advisory— file exists but robots disallows it to the bots meant to read it).directional - (pass 1) ·
M21.agents_md.present(warn 1,M21.agents_md.missing).fixable: advisory - (pass 2) ·
M21.ucp.present_valid(warn 2,M21.ucp.invalid) ·fixable: advisory(warn 2,M21.ucp.not_public) — only when ecommerce is inactive; otherwisefixable: advisorynaming M18 as owner.not_applicable - (pass 1) ·
M21.ai_catalog.present(warn 1,M21.ai_catalog.invalid_json).fixable: advisory - (pass 1) ·
M21.agentic_sitemap.present(warn 2,M21.agentic_sitemap.broken_locs,fixable: proposed).directional
遵循 ; 为 ; ≤2;除非另有说明, 为 。Severity 策略:5 仅保留给站点或模板范围内具有灾难性后果、可能使资格归零的事实;4 为重大 · 3 为中等 · 2 为轻微 · 1 为表面性问题 · 0 为信息性——且只有活跃分类中一个 、severity-5 的 才能给分数封顶()。M21 的分类权重为 0,因此无论 severity 如何,此处的内容都无法提高或封顶任一分数。 逐字引用文件或探测行; 为上述命令; 使用分级区间(不得出现裸百分比)。Ids:
schema/finding.schema.jsonaxisaiseverityconfidencespeculativeestablishedfailreferences/scoring-model.mdevidence.observedverification.reproduceexpected_impact- (warn 1,
M21.llmstxt.missing) ·fixable: auto(warn 1,M21.llmstxt.malformed) ·fixable: auto(warn 2,M21.llmstxt.broken_links,fixable: proposed) ·directional(warn 2,M21.llmstxt.blocked_for_ai_bots,fixable: advisory——文件存在,但 robots 禁止了应读取它的 bots)。directional - (pass 1) ·
M21.agents_md.present(warn 1,M21.agents_md.missing)。fixable: advisory - (pass 2) ·
M21.ucp.present_valid(warn 2,M21.ucp.invalid) ·fixable: advisory(warn 2,M21.ucp.not_public)——仅当 ecommerce 未启用时适用;否则使用fixable: advisory,并注明 M18 为负责模块。not_applicable - (pass 1) ·
M21.ai_catalog.present(warn 1,M21.ai_catalog.invalid_json)。fixable: advisory - (pass 1) ·
M21.agentic_sitemap.present(warn 2,M21.agentic_sitemap.broken_locs,fixable: proposed)。directional
Honesty
Honesty
- Google Search ignores llms.txt — Google's statement (2026-06-15 — TO-VERIFY the exact date; it appears in Optimizing your website for generative AI features, updated 2026-07-10, and AI features and your website says "no … AI text files"). Never present llms.txt as an AI Overviews / AI Mode lever.
- Vendor support is partial (Anthropic and Perplexity read it in retrieval; OpenAI uncommitted); adoption is ~10% and, per Ahrefs (May 2026), 97% of llms.txt files received zero bot requests. Quote that figure only in with the citation — never in
rationale.expected_impact - UCP, ARD, and the agentic sitemap concern agent commerce and resource discovery, not answer-engine citation. Report them; nothing here moves the AI Visibility score.
- Shopify stores ship all of these by default (May 2026) — their presence on a Shopify store is a platform default, not a merchant merit signal.
- Google Search 会忽略 llms.txt——Google 的声明(2026-06-15——待核实(TO-VERIFY)确切日期;它出现在 Optimizing your website for generative AI features(优化网站以提升生成式 AI 功能)中,该文档更新于 2026-07-10;AI features and your website(AI 功能与你的网站)也称“没有……AI 文本文件”(“no … AI text files”))。绝不能将 llms.txt 描述为提升 AI Overviews / AI Mode 表现的杠杆。
- 厂商仅提供部分支持(Anthropic 和 Perplexity 会在检索时读取它;OpenAI 尚未明确承诺支持);采用率约为 10%,且据 Ahrefs(2026 年 5 月)的数据,97% 的 llms.txt 文件没有收到任何 bot 请求。只能在 中引用该数据并附上引用来源——绝不能放在
rationale中。expected_impact - UCP、ARD 和 agentic sitemap 关注的是 Agent 商务和资源发现,而非答案引擎引用。报告这些项目;这里没有任何内容会影响 AI Visibility 分数。
- Shopify 商店默认会提供上述所有文件与端点(2026 年 5 月)——它们出现在 Shopify 商店中属于平台默认行为,而不是商户自身能力或优势的信号。