用 AI 做出来的网站,发布前怎么检查
用七个发布检查项走一遍:范围、主流程、错误状态、表单、无障碍、安全、性能与回滚。

简短回答
一个用 AI 做出来的网站,只有在目标已确定、主流程和重要故障路径都能走通、服务端同样校验输入、键盘操作和目标设备可用、安全与性能有证据,并且有人能批准、观察并回滚到确切版本时,才算可以发布。请用七个明确的检查项,而不是把一个漂亮的预览当作证据。
四个发布阶段,七个检查项
把七项检查归入四个决定:目的、行为、风险和运维。
确定范围
在测试之前写下目标、主流程和不应改动的区域。
证明行为
在真实浏览器里检查正确路径、故障、表单和交互。
排查风险
为权限、输入、密钥、依赖、设备和性能分别收集证据。
受控发布
在切换线上版本之前安排好批准、观察和回滚。
AI 可以在几分钟里做出一个看起来已经完成的落地页或表单。这种速度正是 vibe coding 的优势,但它也让人容易把一个漂亮的预览当成一个可发布的产品。一个网站可以看上去无可挑剔,同时却有错误的链接、会消失的数据、没有解释的报错,或者一个信任可被篡改取值的服务端动作。
这份发布检查以工作坊报名为例。用户选择一个场次,填写姓名和邮箱,并收到一条确认。七个检查项把生成出来的草稿,与一个你能负责任地发布的版本区分开。每一项都要求一个可观察的证据,而不是一句「应该没问题」。
1. 在测试之前先确定结果和范围
写一句话说明必须达成的结果:「在手机和桌面端,感兴趣的人都能选择一个可报名的工作坊、提交有效的联系方式,并收到一条明确的确认」。再写下这一版不包含什么,例如支付、用户账号或日历同步。
这条边界能避免 AI 在复核过程中顺手加功能、并破坏原本已经可用的部分。一个范围清楚的提示词还会说明受影响的区域、必须保持不变的部分和验收标准。把初始状态存进版本控制,或保存为一个有名字的预览,这样你才能准确指出测过的是什么。
2. 在真实浏览器里走一遍主路径
以访客身份打开网站,而不只是以读代码的人身份。 从公开入口出发,走到报名页,选一个场次,填完表单并查看结果。刷新之后再走一遍,并在窄屏上重复。链接、焦点、等待和确认都属于这个流程。
Playwright 建议测试对用户可见的行为。用角色和可访问名称定位按钮,并检查可见的成功提示。内部 CSS 类名并不能证明有人能找到或理解这个操作。
只测正确路径是不够的。 至少要测一个空状态、一个无效输入和一次技术故障:
- 没有可报名场次:页面说明情况,并给出一个有用的下一步。
- 邮箱格式错误:字段旁出现可理解的说明,并保留焦点。
- 双击或网络缓慢:报名不会被保存两次。
- 服务端无响应:数据不会悄悄消失,也不会伪装成功。
3. 表单的两端都要保护
HTML 的字段类型、required、合理的上限和即时反馈,有助于用户改正错误。MDN 提醒:客户端校验不是完整的安全措施,因为一个请求可以绕过界面。服务端必须单独强制同样的业务上限。
在报名场景里,服务端只接受真实存在的场次标识、限制字段长度、有意识地规范邮箱,并拒绝意料之外的数据。它还会确认名额仍然充足。表单里的一个隐藏值不是授权。
画出数据流向:什么离开了浏览器、保存在哪里、谁能读取、什么时候被删除。如果 AI 无法从代码和配置中给出清晰答案,就说明仍有未解的风险。
4. 检查键盘、语义和提示
WCAG 提供了让网页内容更可访问的共同标准。为一次小型发布,你不需要背下全部条款,但主流程必须在没有鼠标时依然可理解、可使用。用 Tab、Shift+Tab、回车和空格走一遍。焦点不应消失,也不应被对话框挡住。
检查可见标签、标题层级、对比度、图片替代文本和状态提示。放大到 200% 并使用窄屏。自动审计能找到很多基础问题,但它替代不了键盘验证,也替代不了一次简短的屏幕阅读器或真人复核。
5. 排查安全边界
OWASP 归纳了反复出现的网页风险,比如失效的访问控制、错误配置、供应链缺陷和注入。把这些类别变成具体问题。 一个人能读到别人的报名记录吗?浏览器产物里有密钥吗?服务端是否信任表单里传来的角色?外部依赖和环境变量是否受控?
先让 AI 指出证据和位置,再谈改动。登录、支付、健康信息或其他敏感数据都值得一次有经验的复核。生成的代码并不天然不安全,但它令人信服的外观可能掩盖未经验证的假设。
6. 在目标设备上测性能
web.dev 把 LCP、INP 和 CLS 作为衡量加载、响应和视觉稳定性的稳定 Core Web Vitals。它们是有用的信号,而不是一个通用的合格按钮。要测真实页面,包含生产环境的图片、字体、脚本和外部服务。
至少测一台有代表性的手机、一条受限网络和一款你的受众常用的桌面浏览器。观察主图、阻塞脚本、迟缓的控件和加载时的跳动。定一个小预算,比如图片的最大尺寸,以及没有正当理由就不引入阻塞式外部依赖。
7. 准备好批准、观察与回滚
发布前回答三个问题:谁批准?哪些信号会暴露故障?如何恢复上一个版本? 一个受控的预览——就像关于 ChatGPT Sites 的文章里那样——可以用于最后一次复核,前提是它的受众和表单数据都是被有意识选定的。
发布一个具体的、测过的版本,而不是含糊的「当前状态」。之后检查线上网址、主流程、服务端报错和真实提交事件。只有当目标版本、负责人和操作步骤都明确时,回滚才可靠。
发布用的精简清单
- 目标、排除项和被测版本都已记录。
- 正确路径、空状态、无效输入和服务端故障都在浏览器里测过。
- 客户端与服务端都做校验;权限和数据流向清楚可述。
- 流程在键盘、放大和一台相关手机上都能走通。
- 密钥、环境变量、依赖和公开入口都已复核。
- 用真实资源测过性能,并修复了关键回退。
- 批准、观察和回滚都有明确的负责人。
这些检查不是为了抹掉 AI 辅助带来的速度。它们保护的正是这份速度的真正价值:快速地把一个想法变成一个你能解释、也愿意负责的有用产品。当某个证据缺失时,就把这个缺口变成下一个有边界的任务。 迭代仍然会很快,而发布不必变成一场赌博。
小测验
这个网站真的准备好了吗?
选出那个让每个发布决定更可靠的证据。
1 / 3
显示答案
1. 第一个发布检查项是什么?
正确答案: 确定目标与范围
没有确定的结果,你就无法区分「行为正确」和「只是看着好看」。
2. 表单数据应该在哪里被校验?
正确答案: 浏览器和服务端都要
浏览器校验改善的是反馈,但可以被绕过。服务端必须守住自己的规则。
3. 什么证据能支撑一个发布决定?
正确答案: 一条验证过的用户流程和一次可行的回滚
可用的主流程和清晰的回滚路径,降低了对人和运维的风险。
来源
- WCAG 2 OverviewW3C Web Accessibility Initiative · 访问于 2026-07-24
- Client-side form validationMDN Web Docs · 访问于 2026-07-24
- Best PracticesPlaywright · 访问于 2026-07-24
- Web Vitalsweb.dev · 访问于 2026-07-24
- OWASP Top 10:2025OWASP Foundation · 访问于 2026-07-24
常见问题
新手需要独自完成这七项检查吗?
不需要。AI 可以准备测试和清单,但你必须理解目标、可见行为、数据流向和审批。登录、支付或敏感数据同样值得一次专业的安全复核。
有 Lighthouse 或无障碍评分就够了吗?
不够。自动审计能发现重要的问题模式,但发现不了所有交互、内容或业务错误。还要加上真实流程、键盘操作、故障状态和目标设备。
为什么只在浏览器里做表单校验不够?
请求可以被修改,也可以直接发给服务端。客户端检查提升的是使用体验;服务端必须自行强制可接受的取值和权限。
应该先自动化哪一个测试?
先自动化最重要的流程和最危险的故障,例如提交一份无效报名。检查角色、标签、提示和可见结果,而不是内部 CSS 类名。
什么时候可以带着已知问题发布?
只有当它们被记录、被有意识地接受,并且对人和数据都不关键时。一处小间距可以等;缺失的授权、数据丢失或无法使用的表单不行。

