# 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周只作为复杂旧站数据和上线问题的风险缓冲,不作为扩展功能窗口。