直接答案:这是一个只在浏览器本地运行的表单。你填 12 项验收判定与证据位置,它生成一份带 URL、采集时间、User-Agent、HTML SHA-256 的 Markdown 证据包,以及一份可进表格的 CSV。P1 项必须全过、P2 项按比例达门槛才算“通过”;任何判为“通过”的项没写证据位置,就不允许导出。它不抓站、不验证你的结论,也不上传任何内容。
第 9 条验收条款写的是“证据包含 URL、时间、UA、工具版本与原始 HTML”。我们自己在做前面的扫描时,确实是按这个口径留证的——原始 HTML 存站外、记录时间与 UA、公开匿名 CSV。但项目上更常见的是另一种状态:验收群里发几张截图,过两周谁也说不清那是哪个版本。工具要解决的就是这一步。
URL、时间(带时区)、UA 缺一不可。
每个“通过”必须有证据位置。
没有 HTML 哈希会警告:能导出,但无法证明版本。
工具:填写 → 校验 → 导出
12 项判定
| 编号 | 检查项 | 优先级 | 判定 | 证据位置 |
|---|
点“填入示例判定”会得到一份全部通过、可以导出的记录;把任意一项改成“通过”并清空证据位置,导出按钮会立刻禁用,错误提示写的是哪一项、缺什么。这个行为是刻意的:验收表最贵的不是打分,而是打完之后还能不能复现。
12 项判定与优先级
| 优先级 | 检查项 | 证据形式 |
|---|---|---|
| P1 | 范围与页面清单(含改版重验) | 页面清单 CSV + 版本 |
| P1 | robots.txt 按 bot 与路径判定 | robots 原文 + 判定行 |
| P1 | 禁用 JS 后正文仍可见 | HTML 片段 + 截图 |
| P1 | 每页恰好一个 H1 | HTML 行号 |
| P1 | JSON-LD 可解析且与可见内容一致 | 校验结果 + 原文 |
| P2 | hreflang 仅用于真实对应页并含 x-default | hreflang 清单 |
| P1 | 询盘路径 ≤2 次点击且有静态表单或 mailto/tel | 截图 + HTML |
| P2 | 性能代理指标已记录 | TTFB / 体积记录 |
| P1 | 证据含 URL、时间、UA 与 HTML 哈希 | 本证据包头部 |
| P1 | 通过标准已写明 | 门槛与 P1/P2 口径 |
| P2 | 修复窗口与复验范围已约定 | 合同条款或会议记录 |
| P1 | 边界声明:不承诺排名、引用或流量 | 签署页 |
P1 共 9 项、P2 共 3 项;不适用项从分母剔除,未测项让结论停在“未完成”。
哈希是怎么算的
工具内置纯 JavaScript 的 SHA-256,对粘贴文本的 UTF-8 字节计算 64 位十六进制摘要。它不依赖网络,也不依赖浏览器扩展;同一段文本在任何设备上得到同一个值。测试里放了 4 组已知向量(空串、abc、中文、1000 个 a),与 Python hashlib 的输出一致。
要提醒的是哈希能证明什么、不能证明什么:它能证明“你保存的这段 HTML”与记录一致,从而判断两次证据是不是同一版本;它不能证明这段 HTML 来自线上站点。后者仍然要靠抓取日志、URL、时间和 UA 一起说话。
通过标准与复验
默认口径沿用验收条款:P1 全过,P2 达到 80%。门槛可以改,但改了会写进证据包头部,复验时能看到当初用的是哪一档。判定为“不适用”的项不计入分母,避免用无关项拉低比例;判定为“未测”的项会让结论停在“未完成”,不能导出为通过。
复验范围固定写为“仅未通过项与受影响页面”,并注明“同一 URL、同一 UA、同一工具版本”。这三条如果变了,就不是复验,是新一轮测量——这一点在验收争议里经常被忽略。
五个常见证据问题
- 只有截图,没有时间与 UA。 无法判断版本,也无法复现;截图本身不带这些元数据。
- 只测首页。 产品页、联系页的 robots、H1、结构化数据往往不同;范围清单要把 URL 写全。
- 通过项没有证据位置。 “已经优化了”不是证据;工具会阻止这种记录导出。
- 用哈希替代抓取日志。 哈希只对应粘贴的文本,证明不了来源。
- 复验重跑全站。 复验只测未通过项与受影响页面,否则成本失控、结论也无法对比。
边界
- 不验证:工具不抓取、不解析你的站点,也不判断判定是否正确;它只检查记录是否完整、自洽。
- 不是法律意见:条款措辞、违约责任、数据保护与付款以合同和律师意见为准。
- 不上传:所有计算在浏览器内完成,关闭页面即丢弃;需要留存请自行下载。
- 不承诺结果:通过验收不等于被收录、被引用、有流量或有询盘。
测试与复算
逻辑在 js/evidence-pack.js(无依赖、无网络);scripts/test_evidence_pack.js 覆盖 62 条断言:4 组 SHA-256 已知向量、字段归一化、校验错误与警告、P1/P2 计数、门槛比较、不适用项剔除、未测阻断、Markdown 转义与 CSV 引号,以及英文输出。运行:
node scripts/test_evidence_pack.js
配套:12 条验收条款模板(本工具的 12 项即其条款映射)、robots.txt 分 bot 匹配器、询盘路径 pilot。
数据来源与口径
- RFC 9309《Robots Exclusion Protocol》:rfc-editor.org。
- FIPS 180-4《Secure Hash Standard (SHS)》,SHA-256 定义:csrc.nist.gov。
- 本工具映射的条款:官网 AI 可读性验收条款模板(12 条)。