d60123ba41
- V3.0 总体方案、主题与板块设计、实施计划 - cms 现状差距分析 V2.0(V1.0 已标注作废)与复用评估 V1.0 - 纵向切片设计规格(路线 C:全新架构 + 白名单资产移植) - .gitignore 先行(storage/artifacts/env 永不入库) Co-Authored-By: Claude Code <noreply@anthropic.com>
1158 lines
30 KiB
Markdown
1158 lines
30 KiB
Markdown
# 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周只作为复杂旧站数据和上线问题的风险缓冲,不作为扩展功能窗口。
|