Files
cms-website/SiteForge_项目实施计划_V1.0.md
T
浅念 d60123ba41 docs: SiteForge 规划文档基线 + 纵向切片设计规格 V1
- V3.0 总体方案、主题与板块设计、实施计划
- cms 现状差距分析 V2.0(V1.0 已标注作废)与复用评估 V1.0
- 纵向切片设计规格(路线 C:全新架构 + 白名单资产移植)
- .gitignore 先行(storage/artifacts/env 永不入库)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-20 16:10:34 +08:00

1158 lines
30 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SiteForge 项目实施计划
> 版本:V1.0
> 编制日期:2026-10-20
> 方案基线:`SiteForge_完整项目计划方案_V3.0.md`
> 计划周期:目标20周,预留4周风险缓冲
> 适用团队:约5人核心团队,设计师阶段性参与
---
## 1. 实施目标
在20周目标周期内,完成一套可投入生产使用的多站点迁移与静态发布平台,并通过两个真实网站验证:
1. 一个资料完整的 WordPress 网站。
2. 一个非 WordPress、HTML/PHP、自研 CMS 或其他不同来源的网站。
最终必须跑通:
```text
多来源盘点
→ 全量导入
→ 标准化与字段映射
→ URL/SEO基线
→ 独立主题与组件化实现
→ 差量同步
→ 静态构建
→ 自动验收
→ 发布确认
→ 原子部署
→ 生产验证
→ 回滚演练
```
项目实施遵循以下原则:
- 优先完成真实站点纵向闭环,不先堆积后台页面。
- V1 只设置 `super_admin` 一个系统角色。
- 管理后台使用 Art Design Pro(Vue 3 + TypeScript + Element Plus)。
- 第一版只做全量构建,不提前开发复杂增量构建。
- 先完成 WordPress 与通用网页适配,不同时扩展多个 CMS。
- URL、SEO、内容和回滚能力优先于高级视觉编辑。
- 每个 Sprint 必须交付可演示、可测试的结果。
---
## 2. 计划假设
### 2.1 团队配置
| 代号 | 角色 | 建议投入 | 主要责任 |
|---|---|---:|---|
| PM | 项目/产品负责人 | 50%–100% | 范围、决策、试点协调、验收 |
| BE | 后端/架构工程师 | 100% | API、数据库、任务、构建、发布、安全 |
| FE | 前端/主题工程师 | 100% | Art Design Pro、编辑器、主题、组件化 |
| DE | 迁移/数据工程师 | 100% | 扫描、WordPress、映射、URL/SEO基线 |
| QA | 测试/运维工程师 | 80%–100% | 自动测试、部署、监控、备份、回滚 |
| UI | UI/UX设计师 | 阶段性 | 两站设计、组件规范、响应式验收 |
项目角色仅用于实施分工,不对应系统权限;系统内仍由超级管理员完成所有操作。
### 2.2 必要输入
项目第1周必须能够获得:
- 两个试点站及其负责人。
- WordPress SQL、WXR、uploads 和插件/主题清单。
- Sitemap、旧服务器规则和可用访问权限。
- 生产域名、DNS、CDN、证书和部署环境信息。
- 重要页面、产品、文章和动态功能清单。
- 至少一部分访问日志或 GSC/GA4 落地页数据。
- 品牌资料及第一批页面设计方向。
如果关键数据无法取得,项目可以继续完成平台功能,但试点完整迁移和最终上线日期需要重新评估。
### 2.3 周期说明
- 目标实施周期:20周。
- 风险缓冲:第21–24周,按需启用。
- Sprint长度:2周。
- 共10个正式Sprint。
- 复杂 Elementor、WooCommerce、多语言、特殊URL规则可能消耗缓冲时间。
---
## 3. 总体里程碑
| 里程碑 | 时间 | 结果 | 发布门槛 |
|---|---:|---|---|
| M0 范围冻结 | 第2周 | 试点、技术和V1范围确定 | 样本数据可访问,风险已分级 |
| M1 平台底座 | 第4周 | 超管、站点、任务和基础设施可用 | CI通过,核心环境可启动 |
| M2 数据闭环 | 第8周 | WordPress可重复导入并建立URL/SEO基线 | 幂等、快照、差量测试通过 |
| M3 静态预览 | 第12周 | 首站可从后台生成独立主题预览 | 内容、路由、SEO进入静态产物 |
| M4 发布闭环 | 第16周 | 构建、验收、部署和回滚可用 | 生产等价环境演练通过 |
| M5 双站验证 | 第18周 | 第二来源和第二主题闭环 | 公共组件复用验证通过 |
| M6 试点上线 | 第20周 | 首站上线、第二站可交付 | 最终差量、门禁、回滚均通过 |
---
## 4. 工作流划分
### 4.1 平台与后台工作流
- Art Design Pro 工程底座。
- 超管登录、MFA、会话和恢复。
- 站点、环境、域名和配置。
- 任务进度、日志和系统设置。
- 内容、页面板块、URL、SEO、构建和发布界面。
### 4.2 数据迁移工作流
- 网站探测和扫描。
- URL多来源合并。
- WordPress REST/WXR/SQL/uploads。
- 原始快照和差量同步。
- 字段映射、冲突和异常处理。
### 4.3 主题与组件工作流
- Theme Manifest、Template和Block Schema。
- 公共数据契约、基础组件和Headless逻辑。
- 第一套WordPress试点主题。
- 第二套视觉差异明显的主题。
- 静态预览和视觉回归。
### 4.4 构建与发布工作流
- 构建输入快照。
- 隔离、可复现的Astro构建。
- 路由编译和部署能力预检。
- 自动验收、Release、发布锁和回滚。
- Nginx/SSH或对象存储/CDN部署。
### 4.5 质量与运维工作流
- 单元、契约、集成和E2E。
- URL/SEO/内容/媒体/视觉门禁。
- 监控、告警、任务死信。
- 备份、恢复和故障Runbook。
- 切站彩排和稳定期监测。
---
## 5. Sprint 0:试点盘点与范围冻结(第1–2周)
### 5.1 Sprint目标
确认项目能做什么、首版不做什么,并用真实数据验证关键技术路径。
### 5.2 工作任务
#### 产品与业务
- 确定两个试点网站。
- 确定生产部署方式。
- 收集产品、新闻、页面和动态功能清单。
- 建立V1/V1.1/暂缓范围矩阵。
- 确定超级管理员和试点验收负责人。
#### 迁移盘点
- 收集SQL、WXR、uploads、Sitemap和服务器规则。
- 识别WordPress插件、ACF/CPT、页面构建器和SEO插件。
- 从数据库、Sitemap、日志、GSC/GA4合并首批URL。
- 抽取至少20个代表性页面。
- 识别中文URL、查询参数、`.html`、`.php`、分页和媒体路径。
- 输出动态功能处置表。
#### 技术预研
- 验证Art Design Pro工程结构。
- 验证NestJS、PostgreSQL、Redis/BullMQ和对象存储。
- 验证Astro动态路由和目标服务器URL行为。
- 验证构建隔离方案。
- 确定ORM、存储和部署适配器ADR。
#### 设计
- 明确两个试点的品牌方向。
- 列出首页、产品、文章、列表和普通页面类型。
- 建立第一版设计令牌和组件清单。
### 5.3 交付物
- 《两个试点站评估报告》
- 《V1范围矩阵》
- 《URL/SEO初始基线》
- 《动态功能处置表》
- 《字段映射样本》
- 《技术ADR清单》
- 《风险登记表》
- 20个真实页面PoC结果
### 5.4 验收门槛 M0
- 两个试点及数据可用范围明确。
- WordPress数据至少能读取SQL/WXR中的一种。
- 目标部署环境能够执行URL行为验证。
- V1范围和不做事项书面冻结。
- P0风险都有负责人和处置方案。
---
## 6. Sprint 1:工程底座与超级管理员(第3–4周)
### 6.1 Sprint目标
建立可持续开发的工程、环境和安全基础。
### 6.2 工作任务
#### 工程
- 建立pnpm Monorepo和统一TypeScript配置。
- 建立admin、api、worker、builder应用。
- 配置代码检查、类型检查、单元测试和CI。
- 建立开发、测试和预览环境配置。
- 锁定Node、依赖和容器镜像版本。
#### 管理后台
- 初始化Art Design Pro。
- 删除多角色、按钮权限和成员管理功能。
- 建立固定菜单和基础页面框架。
- 完成登录、MFA、恢复码和会话管理页面。
- 完成统一API错误和任务状态展示。
#### 后端与基础设施
- 建立NestJS模块骨架。
- 建立PostgreSQL迁移机制。
- 建立Redis/BullMQ。
- 建立S3兼容对象存储。
- 建立结构化日志、请求ID和审计日志。
- 建立密钥引用模型。
#### 数据模型
- admin_user、admin_session。
- site、domain、environment、site_setting。
- job、job_lease、audit_log。
- source_connection基础表。
### 6.3 交付物
- 可启动的本地开发环境。
- 可登录的管理后台。
- 可创建站点和环境。
- 可提交示例异步任务并查看日志。
- CI流水线和数据库迁移。
### 6.4 验收门槛 M1
- 全新环境可按文档一键启动。
- 超管登录和MFA通过。
- 同一任务重复请求不会重复创建。
- 日志可关联用户、请求和任务。
- CI在合并前执行类型和基础测试。
---
## 7. Sprint 2:扫描、快照与URL注册表(第5–6周)
### 7.1 Sprint目标
建立从旧站发现URL、保存证据、分类和形成基线的完整链路。
### 7.2 工作任务
#### 扫描引擎
- 实现域名和协议白名单。
- 实现DNS/IP/跳转后的SSRF检查。
- 实现Sitemap和Sitemap Index解析。
- 实现HTTP抓取、HTML解析和链接发现。
- 接入Playwright处理JS页面和截图。
- 支持速率、并发、深度、超时和文件大小限制。
- 实现断点、重试、取消和任务心跳。
#### 快照
- 保存状态码、跳转、响应头、HTML和checksum。
- 保存必要的渲染DOM和截图。
- 建立source_snapshot和source_record。
- 对原始数据写入对象存储。
#### URL注册表
- 建立原始路径和规范化辅助键。
- 处理大小写、尾斜杠、Unicode和查询参数。
- 实现URL来源合并和冲突展示。
- 实现路由种类与验证状态。
#### 后台
- 扫描创建与进度页面。
- URL清单、来源、状态和失败原因页面。
- 页面类型初步分类和手工修正。
### 7.3 交付物
- 通用网页扫描器。
- URL注册表V1。
- URL来源合并报告。
- 扫描任务后台界面。
- 安全抓取配置和测试夹具。
### 7.4 验收条件
- 对测试站重复扫描不会产生重复URL。
- 中断后可从检查点继续。
- 内网和非法重定向请求被拒绝。
- 中文、大小写、尾斜杠和查询参数测试通过。
- 至少20个真实页面保存完整快照。
---
## 8. Sprint 3:WordPress导入与差量同步(第7–8周)
### 8.1 Sprint目标
完成WordPress核心数据导入、标准化和可重复差量同步。
### 8.2 工作任务
#### WordPress适配器
- REST API探测和导入。
- WXR解析。
- SQL表前缀识别。
- posts、postmeta、terms和relationships导入。
- 页面、文章、公开CPT、分类和标签。
- 菜单、媒体、特色图片和uploads。
- Yoast/Rank Math常用字段。
- Gutenberg基础块。
- ACF未知字段保留。
#### 标准化
- content_entry和content_revision。
- taxonomy和term。
- media_asset和media_usage。
- source_key、checksum和映射状态。
- 源字段、标准字段和人工覆盖规则。
#### 差量同步
- 新增、更新、删除、未变化和冲突检测。
- 使用modified时间和checksum。
- 人工修改字段保护。
- 导入批次报告。
#### 后台
- 导入任务页面。
- 字段映射和未识别字段页面。
- 冲突比较和人工选择。
- 页面、文章、产品的基础查看。
### 8.3 交付物
- WordPress适配器V1。
- 统一内容模型V1。
- 字段映射工作台基础版。
- 差量同步和冲突报告。
- 首站内容数量对比报告。
### 8.4 验收门槛 M2
- 同一数据导入两次不产生重复内容。
- 修改源内容后只产生预期更新。
- 人工覆盖字段不会被静默覆盖。
- 产品/文章/页面/分类/媒体数量有来源对照。
- URL和SEO能够关联到标准内容。
---
## 9. Sprint 4:内容后台、媒体、URL与SEO(第9–10周)
### 9.1 Sprint目标
让超级管理员能够维护核心内容,并形成可用于构建的URL/SEO/媒体快照。
### 9.2 工作任务
#### 内容后台
- 产品、新闻、普通页面编辑。
- 分类、品牌和菜单管理。
- 草稿、ready_to_publish、published和archived状态。
- 内容修订、差异和恢复。
- ETag/版本号乐观锁。
#### 媒体
- 上传、选择、预览和基础信息编辑。
- SHA-256去重辅助。
- 图片尺寸、MIME和安全验证。
- 旧路径、衍生资源和使用关系。
- PDF、SVG、字体等非图片资源。
#### URL/SEO
- route_registry编辑和冲突检查。
- redirect、gone、asset和dynamic规则。
- SEO三套数据对比。
- Title、Description、Canonical、Robots、OG和JSON-LD。
- Sitemap与内部链接基础检查。
#### 内容引用
- content_reference表。
- 板块、媒体、内容和路由引用。
- 删除前影响报告。
- 悬空引用检测。
### 9.3 交付物
- 内容中心V1。
- 媒体中心V1。
- URL和SEO中心V1。
- 内容引用和删除影响分析。
- 可冻结的内容/路由/SEO快照。
### 9.4 验收条件
- 管理员能新增一条产品和新闻并保存修订。
- 多标签页冲突不会覆盖新版本。
- 删除已引用内容会被阻止并显示影响页面。
- URL冲突和重定向循环能够被发现。
- SEO差异可以按P0–P3分类。
---
## 10. Sprint 5:主题、板块和第一套主题(第11–12周)
### 10.1 Sprint目标
建立可复用主题体系,并将首个WordPress站生成完整静态预览。
### 10.2 工作任务
#### 主题契约
- theme manifest。
- template definition。
- block schema和UI schema。
- slotKey、position、variant和schemaVersion。
- 主题与公共运行时兼容规则。
#### 公共组件包
- content-contracts。
- block-contracts。
- theme-runtime。
- ui-primitives。
- content-resolvers。
- media-components。
- seo-components。
#### 首批板块
- Hero。
- Rich Text。
- Image Text。
- Gallery。
- Feature List。
- Product Grid。
- Article List。
- Specification Table。
- Download List。
- FAQ。
- CTA。
- Statistics。
#### 后台板块编辑
- 根据schema生成表单。
- 新增、复制、排序、隐藏和删除。
- 媒体、产品、文章和路由选择。
- 模板允许范围和数量限制。
- 预览构建入口。
#### 第一套主题
- Base Layout、Header和Footer。
- 首页。
- 产品列表和详情。
- 文章列表和详情。
- 普通页面和404。
- 桌面与移动端。
### 10.3 交付物
- Theme SDK V1。
- 组件公共包V1。
- 页面板块编辑器V1。
- 第一套试点主题。
- 首站完整静态预览。
### 10.4 验收门槛 M3
- 首站核心页面从数据库生成静态HTML。
- 核心内容在禁用JavaScript时仍可读取。
- 不支持板块会阻止生产构建。
- 页面URL来自route_registry而非主题slug。
- 主题不直接访问数据库。
- PC/移动端典型页面通过初次视觉验收。
---
## 11. Sprint 6:可复现构建、路由编译与预览(第13–14周)
### 11.1 Sprint目标
将静态预览升级为可追溯、可隔离和可重复执行的构建系统。
### 11.2 工作任务
#### 构建快照
- 锁定内容、路由、SEO、媒体和站点配置。
- 记录Git commit、依赖哈希、运行时和镜像digest。
- 固定locale、timezone和构建时间。
#### 构建沙箱
- 只读输入和代码。
- 临时写目录。
- CPU、内存、磁盘和超时限制。
- 网络白名单。
- 不挂载主数据库与控制面密钥。
#### 构建并发
- Job幂等键。
- 站点/环境构建租约。
- 心跳和失联回收。
- 旧构建禁止自动发布。
- 取消安全点。
#### 路由编译
- 统一route-manifest。
- Nginx规则生成。
- 目标部署能力声明。
- `.php`、查询参数、尾斜杠和状态码预检。
#### 预览
- 不可变预览release。
- 访问控制和noindex。
- 真实HTTP路径检查。
### 11.3 交付物
- builder V1。
- build-input、manifest和checksums。
- 构建隔离环境。
- Nginx路由编译器。
- 预览Release和HTTP测试。
### 11.4 验收条件
- 相同输入在固定环境中输出一致哈希。
- 构建期间修改内容不影响当前任务。
- 两个并发构建不会互相覆盖。
- 目标服务器真实返回预期状态码和Location。
- 预览站无法被搜索引擎正常索引。
---
## 12. Sprint 7:自动验收、发布与回滚(第15–16周)
### 12.1 Sprint目标
完成从静态预览到安全生产发布的完整链路。
### 12.2 工作任务
#### 自动验收
- URL覆盖、状态和跳转。
- SEO差异。
- 内容摘要和核心字段。
- 媒体与内部链接。
- 主题契约和板块schema。
- 桌面/移动截图。
- 性能和可访问性基线。
- 敏感文件和安全头。
#### Release
- 不可变release目录。
- 发布状态机。
- active_release_id。
- environment_publish_lock。
- 比较并交换切换。
- 发布前版本过期检查。
#### 部署
- Nginx/SSH部署适配器。
- 如试点需要,实现S3/OSS + CDN适配器。
- 文件数量和哈希校验。
- 临时入口冒烟。
- CDN刷新状态。
#### 回滚
- 静态文件、路由、Header和配置同步回滚。
- 回滚后二次冒烟。
- partially_deployed补偿流程。
### 12.3 交付物
- 验收引擎和报告。
- Release/Deployment模型。
- 生产发布确认页面。
- 部署适配器。
- 回滚Runbook。
### 12.4 验收门槛 M4
- P0问题能够阻止发布。
- 较旧构建不能覆盖较新生产版本。
- 发布中断后状态可识别和恢复。
- 在生产等价环境中完成发布和回滚演练。
- 路由规则与静态文件始终属于同一release。
---
## 13. Sprint 8:第二主题、第二来源和动态能力(第17–18周)
### 13.1 Sprint目标
证明平台不是单站、单主题和WordPress专用工具。
### 13.2 工作任务
#### 第二来源
- 为第二试点配置通用网页或专属轻量适配器。
- 使用CSS选择器、JSON-LD或API提取结构化数据。
- 建立字段映射和Legacy HTML兜底。
- 输出来源能力与未知范围报告。
#### 第二主题
- 采用不同布局、导航、产品卡片和视觉语言。
- 复用相同数据契约、SEO、媒体和Headless逻辑。
- 只将真正通用的逻辑提取到公共包。
- 建立两个主题的截图回归。
#### 动态能力
- 实现试点需要的Form API。
- 来源校验、验证码、限流和幂等。
- 邮件/CRM转发、重试和死信。
- 隐私同意、脱敏和保留策略。
### 13.3 交付物
- 第二来源适配方案。
- 第二套独立主题。
- 公共组件复用报告。
- Form API或试点必需动态服务。
- 双站静态预览。
### 13.4 验收门槛 M5
- 两个站点数据、域名、主题和release互不影响。
- 两套主题视觉明显不同。
- 公共契约升级不会破坏两套主题测试。
- 第二来源未支持内容进入明确异常清单。
- 表单能够处理成功、失败、重试和重复提交。
---
## 14. Sprint 9:上线准备、切换与稳定期(第19–20周)
### 14.1 Sprint目标
完成首站正式切换,并使第二站达到可交付状态。
### 14.2 工作任务
#### 运维完善
- 生产监控、关键URL探测和告警。
- 队列、Worker、存储和数据库监控。
- PostgreSQL和对象存储备份。
- 密钥和配置恢复材料。
- 完整恢复演练。
#### 上线彩排
- 模拟内容冻结。
- 最终差量导入。
- URL/SEO最终重扫。
- 构建、验收和发布。
- DNS/CDN切换。
- 回滚演练。
#### 正式上线
- 执行T-7天至T时刻Runbook。
- 超级管理员确认发布。
- 关键URL、SEO、表单和日志检查。
- 保留旧站环境。
- 建立问题响应和回滚窗口。
#### 项目收尾
- 完成操作、开发和运维文档。
- 完成试点迁移报告。
- 整理V1.1待办。
- 复盘估算后续每站成本。
### 14.3 交付物
- 生产监控和告警。
- 备份恢复报告。
- 上线与回滚Runbook。
- 首站生产发布。
- 第二站可交付release。
- 项目验收报告。
### 14.4 验收门槛 M6
- 最终差量同步完成,无未解释内容丢失。
- URL和SEO P0为0,P1已处理或记录例外。
- 关键页面、媒体和动态功能通过。
- 首站可安全回滚到上一个release。
- 生产站不依赖SiteForge实时在线。
- 旧站保留期、监测负责人和后续计划明确。
---
## 15. 第21–24周风险缓冲
缓冲期不是默认增加功能,只处理以下事项:
- Elementor/WPBakery复杂页面结构化。
- WooCommerce变体和特殊字段。
- 多语言历史URL。
- 大量异常媒体或编码路径。
- CDN/对象存储路由能力限制。
- 试点业务验收返工。
- 正式上线后的高优先级问题。
缓冲期不得用于临时加入低代码、更多CMS、复杂权限或非试点功能,除非项目范围正式变更。
---
## 16. Epic与任务分解
| Epic | 名称 | 主要Sprint | 负责人 | 完成定义 |
|---|---|---:|---|---|
| E01 | 工程与环境 | 1 | BE/QA | 开发、测试、CI可重复启动 |
| E02 | 超管认证 | 1 | BE/FE | MFA、恢复、会话、审计通过 |
| E03 | 站点与环境 | 1–2 | BE/FE | 两站隔离,环境配置可管理 |
| E04 | 任务平台 | 1–9 | BE/QA | 租约、重试、死信、监控完整 |
| E05 | 扫描与URL | 2 | DE/BE | 多来源URL与快照可审计 |
| E06 | WordPress适配 | 3 | DE | REST/WXR/SQL/uploads闭环 |
| E07 | 内容与映射 | 3–4 | BE/FE/DE | 内容修订、映射、冲突可用 |
| E08 | 媒体 | 3–4 | BE/FE | 原件、旧路径、引用可管理 |
| E09 | URL/SEO | 2–7 | DE/BE | 差异、冲突、门禁完整 |
| E10 | 主题与板块 | 5 | FE/UI | 第一主题与板块编辑可用 |
| E11 | 公共组件 | 5–8 | FE | 两主题复用并通过回归 |
| E12 | 构建 | 6 | BE/FE | 快照、隔离、可复现 |
| E13 | 验收 | 6–7 | QA/DE | 报告和P0门禁可用 |
| E14 | 发布与回滚 | 7 | BE/QA | 原子切换和回滚演练通过 |
| E15 | 第二来源/主题 | 8 | DE/FE/UI | 双站双主题闭环 |
| E16 | 动态服务 | 8 | BE/QA | 试点动态功能验收通过 |
| E17 | 运维与备份 | 1–9 | QA/BE | 监控、告警、恢复演练通过 |
| E18 | 切站与稳定期 | 9 | 全员 | 首站上线和试点验收 |
---
## 17. 关键依赖与关键路径
### 17.1 关键路径
```text
试点数据到位
→ 数据模型与快照
→ WordPress导入
→ URL/SEO注册表
→ 主题/板块
→ 静态构建
→ 自动验收
→ 发布/回滚
→ 最终差量
→ 生产切换
```
任何关键路径任务延迟会直接影响上线日期。
### 17.2 可并行任务
- 设计师可在扫描期间完成首站设计系统。
- FE可在后端模型稳定后使用fixture开发页面板块。
- QA可从Sprint 1开始建设测试夹具和CI。
- 第二主题可在首套主题SDK稳定后并行开发。
- 运维可在构建功能开发时并行准备部署环境。
### 17.3 决策截止时间
| 决策 | 最晚时间 | 未决影响 |
|---|---:|---|
| 两个试点站 | 第1周 | 无法建立真实模型 |
| ORM与对象存储 | 第2周 | 数据层和环境延迟 |
| 生产部署目标 | 第2周 | 路由编译和发布延迟 |
| 第一主题设计方向 | 第4周 | Sprint 5无法开始 |
| 动态功能方案 | 第6周 | Form API范围不确定 |
| 第二试点来源 | 第8周 | Sprint 8延迟 |
| DNS/CDN切站权限 | 第14周 | 上线彩排无法完成 |
---
## 18. 测试实施计划
### 18.1 每个Sprint持续执行
- 代码检查和类型检查。
- 单元测试。
- 数据库迁移测试。
- API集成测试。
- 安全静态检查。
### 18.2 从Sprint 2开始
- URL编码和路径fixture。
- 爬虫限流、断点和SSRF测试。
- 快照和幂等测试。
### 18.3 从Sprint 3开始
- WordPress适配器契约测试。
- 导入计数、差量和冲突测试。
- SEO字段交叉验证。
### 18.4 从Sprint 5开始
- 主题manifest和block schema契约测试。
- 页面静态HTML测试。
- 桌面与移动截图。
- 可访问性基础测试。
### 18.5 从Sprint 6开始
- 构建可复现测试。
- 真实HTTP路由测试。
- 目标部署能力测试。
- 敏感文件和依赖扫描。
### 18.6 从Sprint 7开始
- 发布并发和失败注入。
- CDN刷新失败。
- Worker失联和任务恢复。
- 部分部署补偿。
- 完整回滚。
---
## 19. Definition of Ready
任务进入Sprint前必须满足:
- 业务目标和范围明确。
- 输入数据或fixture可用。
- API/Schema依赖已确定。
- 验收条件可以测试。
- 不存在未解决的P0设计问题。
- 负责人和评审人明确。
不满足Ready条件的任务不能为了填满Sprint而强行开始。
---
## 20. Definition of Done
功能完成必须同时满足:
- 代码实现完成并通过Review。
- 类型检查、单元和相关集成测试通过。
- 数据库迁移可执行且有回退说明。
- 错误、日志和任务状态可观察。
- 安全和站点隔离检查通过。
- 管理后台包含加载、空、失败和重试状态。
- 用户文档或开发文档已更新。
- 使用真实试点数据演示通过。
- 不产生新的P0/P1未登记问题。
仅完成页面外观或接口代码不算Done。
---
## 21. 变更控制
### 21.1 变更分类
- P0:不处理会导致数据丢失、安全风险、无法发布或无法回滚。
- P1:V1承诺范围或试点关键需求。
- P2:可进入V1.1的增强。
- P3:长期优化建议。
### 21.2 变更规则
Sprint开始后新增需求必须回答:
1. 是否阻塞两个试点闭环。
2. 是否可以进入V1.1。
3. 增加多少开发和测试成本。
4. 替换掉当前Sprint的哪项工作。
5. 是否改变上线日期。
不允许只增加需求而不调整范围或工期。
### 21.3 明确禁止临时加入
- 通用低代码。
- 复杂多角色权限。
- 第三个CMS深度适配。
- 复杂电商交易。
- Kubernetes和多区域架构。
- 未经试点证明需要的真正增量构建。
---
## 22. 项目沟通与跟踪
### 22.1 会议节奏
- 每日:15分钟开发同步。
- 每周:风险、范围和关键数据检查。
- Sprint中期:技术和设计走查。
- Sprint结束:真实环境演示、验收和下Sprint计划。
- 里程碑:Go/No-Go评审。
### 22.2 每周报告
固定报告:
- 本周完成。
- 下周目标。
- 里程碑状态。
- P0/P1问题。
- 外部依赖和待决策。
- 实际投入与计划偏差。
- 试点数据覆盖率。
- 测试和缺陷趋势。
### 22.3 看板状态
```text
Backlog
→ Ready
→ In Progress
→ Review
→ QA
→ Accepted
→ Released
```
阻塞任务必须标记阻塞原因、负责人和下一检查时间。
---
## 23. 风险登记与触发条件
| 风险 | 触发条件 | 责任人 | 处理 |
|---|---|---|---|
| 试点数据迟到 | 第1周末仍无SQL/WXR | PM | 调整试点或延期M0 |
| URL总量异常 | 日志URL显著高于Sitemap | DE | 扩展基线和扫描预算 |
| 页面构建器复杂 | 代表页面无法结构化 | FE/DE | Legacy兜底并单独排期 |
| 主题设计迟到 | 第4周无核心页面设计 | PM/UI | 使用线框先完成数据闭环 |
| 构建性能差 | 全量构建超目标窗口 | BE | 分析瓶颈,暂不直接上复杂增量 |
| 部署不兼容 | 关键URL无法由目标平台实现 | BE/QA | Edge规则或更换目标 |
| SEO差异过大 | P0/P1持续无法收敛 | DE/PM | 暂停上线并逐类修复 |
| 范围膨胀 | 新功能影响关键路径 | PM | 执行变更控制 |
| 生产故障 | 关键URL或表单失败 | QA/BE | 按Runbook回滚 |
---
## 24. 质量指标
| 指标 | 目标 |
|---|---|
| 已确认URL处置率 | 100%或有明确例外 |
| SEO P0 | 发布前为0 |
| SEO P1 | 发布前修复或有记录例外 |
| 核心内部死链 | 0 |
| 关键媒体缺失 | 0 |
| 生产发布可回滚 | 100% |
| 构建版本可追溯 | 100% |
| 未知板块静默丢失 | 0 |
| 任务副作用重复执行 | 0个已知问题 |
| 备份恢复演练 | 上线前通过 |
| 关键URL上线冒烟 | 全部通过 |
性能指标不使用所有站点统一分数,由两个试点分别设定基线和目标。
---
## 25. 上线执行清单
### T-7天
- 完成一次全流程彩排。
- 验证回滚。
- 冻结非必要平台变更。
- 确认生产凭据和权限。
### T-3天
- 缩短DNS TTL。
- 完成旧站完整备份。
- 确认最新URL、SEO和动态功能报告。
- 通知内容更新冻结时间。
### T-1天
- 执行倒数第二次差量同步。
- 修复剩余P0/P1。
- 确认最终release候选。
### T-2小时
- 冻结旧站写入。
- 执行最终差量同步。
- 重扫URL和SEO。
### T-90分钟
- 锁定内容、路由、SEO和主题快照。
- 执行最终构建和自动验收。
### T-30分钟
- 超级管理员确认发布。
- 临时入口执行关键URL和表单冒烟。
- 确认回滚release。
### T时刻
- 原子切换。
- 刷新必要缓存。
- 验证首页、核心产品、文章、Sitemap、Robots和表单。
### T+2小时
- 高频监控4xx/5xx、跳转、SEO头和表单。
- 达到回滚条件时立即回滚。
### T+1至7天
- 监控抓取、索引、自然流量和错误日志。
- 处理非阻塞问题。
- 保留旧站环境。
---
## 26. 最终项目验收
### 26.1 平台验收
- 超管安全登录和全部后台功能可用。
- 两站数据和环境隔离。
- 扫描、导入、差量和冲突可执行。
- 内容、媒体、URL、SEO和板块可维护。
- 构建可追溯、可隔离、可重复。
- 发布有锁、有门禁、有回滚。
- 监控、告警、备份和恢复通过。
### 26.2 试点验收
- 一个WordPress站完整迁移并上线。
- 第二来源完成可交付静态release。
- 两套主题视觉明显不同。
- 相同公共组件和数据契约得到复用。
- 所有未支持内容有明确异常记录。
- 切站和回滚Runbook经过实际验证。
### 26.3 文档验收
- 架构和ADR。
- 数据库与API。
- 适配器SDK。
- 主题/板块/组件规范。
- URL/SEO验收规范。
- 部署、监控、备份和恢复手册。
- 上线和回滚Runbook。
- 两站迁移报告。
---
## 27. 立即开始的第一周任务
### PM
- 确定两个试点。
- 发出资料收集清单。
- 建立范围、风险和决策台账。
- 确定每个试点的业务确认人。
### BE
- 评估当前基础设施和部署目标。
- 创建Monorepo技术PoC。
- 验证PostgreSQL、Redis、对象存储和构建容器。
### FE
- 验证Art Design Pro版本和工程结构。
- 清点需要保留与删除的底座功能。
- 建立管理后台页面地图。
### DE
- 获取WordPress样本。
- 导出数据库内容数量和URL样本。
- 合并Sitemap、数据库和日志URL。
- 识别SEO插件与页面构建器。
### QA
- 建立测试环境清单。
- 建立URL、SEO和WordPress fixture计划。
- 定义缺陷等级和验收报告格式。
### UI
- 收集两个站点品牌资料。
- 输出第一版页面类型和组件清单。
第一周结束时必须能够回答:两个站点是什么、数据能否取得、URL有多复杂、动态功能有哪些、部署到哪里、首版明确不做什么。
---
## 28. 结论
本实施计划把V3架构方案拆成10个双周Sprint。真正的关键路径不是后台页面数量,而是:
```text
真实数据
→ 可重复导入
→ URL/SEO可信基线
→ 独立主题静态生成
→ 目标环境真实验收
→ 最终差量同步
→ 安全发布与回滚
```
按此顺序推进,可以在第12周形成首站完整静态预览,在第16周完成发布闭环,在第18周完成双站验证,并以第20周作为首站上线目标。第21–24周只作为复杂旧站数据和上线问题的风险缓冲,不作为扩展功能窗口。