Webflow 上线:签核构建 → 线上站点 → 首30天
从 webflow-build 技能的构建交接结束处开始:所有页面在暂存环境完成,并依据设计签核。webflow-build 的固定规则仍然适用(未经明确批准,不得 commit、push、发布到自定义域名、release 或更改 DNS;聊天中不暴露凭据)。
标签:[Claude] Claude 执行 · [Claude 检查] Claude 验证并报告 · [人员] 人员执行;Claude 可追踪,但从不声称执行。命令为 webflow-build 的检查脚本(pnpm wf:*,来自仓库;添加 --live 以检查访问者实际看到的内容)。当列表中提及其他技能(webflow-performance-optimizer、asset-audit、safe-publish)时,如果会话中包含该技能则使用,否则手动执行检查并说明。
运行方法:
- 每完成一项,使用
pnpm progress tick "<checklist>" "<项目开始内容>"记录(当pnpm wf:*脚本决定时使用--by check),如webflow-build› checklists.md › 如何记录进度。Bench 的 Tasks 面板显示相同的列表;pnpm progress show打印列表,包含人员自己的待办事项。 - 从上到下依次进行;在进入下一部分之前报告当前部分的结果。
- 任何失败项都需列入已知问题列表,标记为“上线前修复”或“上线后修复”,并指定负责人。
webflow-build的检查脚本仍可针对线上域名使用:传递--live,并在检查时将stagingUrl指向该域名。
SEO 计划(评审期间,上线前 QA 之前)
SEO 需要事先规划和构建,而非仅在最后检查。计划位于仓库的 docs/handoff/SEO-PLAN.md(模板已包含存根):当前暂存环境的输出、步骤、每个页面的 Schema 及客户需提供的内容。
- [Claude] 盘点每个页面和模板:标题和描述(包含长度)、Open Graph 字段和图片、noindex、JSON-LD。读取已发布的 HTML(
pnpm wf:seo),而非页面设置。 - [Claude] 草拟缺失或较弱的标题和描述;[人员] 批准;[Claude] 在页面设置中写入(模板会绑定 Meta Title 和 Meta Description 字段)。
- [Claude] Open Graph 在所有页面“与 SEO 相同”;[人员] 批准默认 1200×630 的分享图片;模板绑定图片字段。
- [Claude] Webflow 不写入的全站标签(
og:site_name、og:locale)放入loader.html的 head 代码段中:重新粘贴并发布,然后执行pnpm wf:install。 - [Claude] Schema 作为 JSON-LD 文件存放在仓库中,每个页面一个文件(
docs/seo/schema/<page>.jsonld和docs/seo/schema/templates.md用于包含{Field}绑定的 CMS 模板)。每个项目通过@id引用生产域名上的一个 Organization。文件是唯一数据源;页面的 head 代码(或通过 pages 工具的jsonLdSchema,若连接器支持)是副本。仅绑定单行字段:引号或换行符会破坏 JSON,且撇号会变成'。 - [Claude] 标题计划:在每个页面和模板上运行
pnpm wf:outline,对照 headings.md 检查。标签修复纳入构建;[人员] 批准任何 H1 或 H2 措辞的更改(这是文案)。 - [Claude] 重定向映射,当站点替换旧站点时:
pnpm wf:redirects map(liveUrl指向旧站点,或使用--from)将docs/seo/redirects.csv以 Webflow 导入格式写入;每个打印在“需要检查”下的行在文件中核对并编辑。[人员] 批准映射,并导出站点现有的 301 重定向(若有)(导入会替换所有现有重定向;使用--existing重新运行)。 - [Claude 检查] 站点地图中的每个页面在暂存环境中都有标题、描述、canonical 和一个 H1(
pnpm wf:seo)。 - [Claude 检查] 无重复标题或描述,有真实的 404 页面;过长的标题和过短的描述已修复或接受;无 Schema 的页面在
seo.noSchemaOk中列出。然后对每种类型的一个页面运行 Google 富结果测试。 - [人员] 提供官方名称、地址、电话、工作时间、社交媒体资料和生产域名(www 或 apex)。
上线前 QA
内容
- [Claude 检查] 无占位符文本或
#链接(pnpm wf:links,同时标记 lorem ipsum);占位图片对照已知问题检查。 - [人员] 逐页校对。
- [Claude 检查] 已发布的 HTML 中未遗留
data-manual-todo标记(所有手动步骤已完成);docs/handoff/REVIEW.md› “上线前”所有项已勾选。 - [Claude 检查] 联系方式:电话作为
tel:链接、地址、邮箱、工作时间;[人员] 确认其正确。 - [Claude 检查] 法律页面存在并在页脚中链接;版权年份和社交媒体链接。
功能
- [人员] 每个表单提交一次:信息到达正确的收件箱或 CRM,显示确认信息,自动回复发送。Claude 无法通过垃圾保护;无头浏览器会被其拦截。
- [Claude 检查] 所有链接和按钮正常工作(
pnpm wf:links --external;手动确认外部失败,部分站点会屏蔽机器人)。 - [Claude 检查] 404 页面、加载状态、空状态、成功状态和错误状态。
- [Claude 检查] 搜索、筛选、排序和分页(如有)。
- [人员] 支付:进行测试购买和退款(如有)。
设备、无障碍、速度
- [人员] 真实设备:iPhone Safari、Android Chrome;桌面 Chrome、Safari、Firefox、Edge。
- [Claude 检查] 在每个页面模板上运行
pnpm wf:overflow:从 2560 到 360 像素的每个宽度(包含断点之间的笔记本宽度),无内容溢出右边缘,无横向滚动。 - [Claude 检查] 在任何页面的任何宽度下无严重或严重无障碍失败(
pnpm wf:a11y --all-widths)。目标:WCAG 2.2 AA。 - [Claude] 仅键盘遍历每个页面:焦点可见、顺序、菜单、对话框、Escape。
- [人员] 屏幕阅读器抽查。
- [Claude 检查] 手机配置文件下的性能:CLS < 0.1、INP < 200 ms、LCP < 2.5 s 作为目标(
webflow-performance-optimizer);记录设计所做的取舍。
SEO 和跟踪
- [Claude 检查] 站点地图中的每个页面都有标题、描述、canonical 和一个 H1(
pnpm wf:seo)。 - [Claude 检查] OG 标签和 JSON-LD 在每个页面上解析无 HTML 实体,且 noindex 仅在
seo.noindexOk中的页面上:其余 SEO 报告。Alt 文本(asset-audit)、favicon、SEO-PLAN.md规划的 Schema。 - [Claude 检查] Canonical 指向线上域名(域名绑定后:配置中的
liveUrl,然后执行pnpm wf:seo --live --canonical)。 - [Claude 检查] 标签绑定到域名后执行
pnpm wf:tracking --live(如果标签在暂存环境加载,则先在暂存环境执行):哪些标签在哪些页面加载、无重复页面浏览量统计、在 Cookie 选择前或拒绝后不进行跟踪、gclid 和 UTM 在主机重定向后保留。发送数据的每个请求都会被阻止,因此检查不会为客户的报告增加数据量。但无法判断账户是否收到了任何数据。 - [人员] GA4 和转化到达(在线上站点接受 Cookie 后查看实时报告)。
上线日
- [人员] 内容冻结已同意;获得客户的上线批准和日期。
- [人员] DNS:提前一天降低 TTL;保留邮件记录(MX、SPF、DKIM)。Claude 不更改 DNS 或注册商设置。
- [Claude] 获得明确批准后:发布到线上域名(如果
safe-publish可用:显示变更内容、确认、发布);创建仓库 release 并在 head 代码段中设置RELEASE(README › Release)。 - [Claude 检查]
pnpm wf:domain:证书可信且未临近过期,http 和另一个 www 主机永久重定向到liveUrl主机,域名不在 45 天内到期。 - [Claude 检查]
pnpm wf:install --live:已发布的代码段与loader.html匹配(包含新的RELEASE)、一个 viewport meta、无对 localhost 的请求。 - [Claude 检查]
pnpm wf:seo --live --canonical:seo.noindexOk之外无 noindex 残留,所有 canonical 指向线上域名。 - [Claude] 移除 noindex 和暂存密码;robots.txt 允许索引。
- [Claude] 保存线上站点的视觉基线(
pnpm wf:baseline save --live,针对pages中的每个页面)并提交。 - [Claude] 应用 301 重定向:[人员] 导入
docs/seo/redirects.csv(站点设置 › 发布 › 301 重定向 › 导入)并发布;[Claude 检查]pnpm wf:redirects test --live:每个行通过一次永久跳转到达目标页面。 - [Claude 检查]
sitemap.xml存在(站点设置 › SEO › 自动生成站点地图)并且不列出/design/style-guide或/design/media:通过站点地图工具排除两者(站点计划启用后,它们会返回 403)。 - [人员] 在 Search Console 中提交 sitemap.xml。
- [人员] 在线上站点提交表单,并在分析工具中看到访问。
向客户交接(上线批准后)
全部由 [人员] 执行,Claude 可准备文档:
- 线上站点;所有权转移(Webflow 站点、托管计费、域名、设计文件、字体和图片许可证)。[Claude] 列出需转移的内容:注册商、DNS 主机和续费日期(
pnpm wf:domain)、标签及其 ID、页面加载的第三方服务(pnpm wf:tracking --live)。 - CMS 培训(录制)和培训笔记([Claude] 根据 CMS 笔记草拟)。
- 分析工具、Tag Manager 和 Search Console 访问权限。
- 凭据归还;代理机构访问权限移除或在支持协议下保留。
- 支持条款和首次改进路线图。
上线后(首30天)
- [Claude 检查] 第1至3天:爬取 404 和重定向链(
pnpm wf:links --live --external);[人员] 检查 Search Console 覆盖范围并导出“未找到 (404)”URL;[Claude 检查]pnpm wf:redirects test --live --file <export>并向映射中添加失败的条目。 - [人员] 第1周:潜在客户到达,分析数据看起来正常。
- [人员] 第2至4周:索引和流量与基线对比。
- [Claude] 修复已知问题列表中上线后的项目。
- [人员] 30天检查会议、回顾、推荐或案例研究。
- [Claude 检查] 在检查会议时执行
pnpm wf:domain(以及后续任何支持访问时):即将到来的续费信息告知负责支付的人员。 - [Claude] 在每次后续发布前:发布到暂存环境后执行
pnpm wf:baseline compare --live;所有变更要么在预期内,要么已修复。 - [Claude] 向模板提供项目新的
template-candidateGOTCHAS(webflow-build › rules.md › 贡献);模板通过pnpm harvest收集它们。