# SiteForge Enterprise V8.20 — WordPress 复杂迁移增强 版本:`8.20.0-dev.1`。此版本属于**开发集成版**,在 V8.19 完整源码上增加离线兼容预检、简单 ACF Repeater 结构保留、CSS 背景图本地化、批次暂存路径阻断。**不代表复杂 Elementor/ACF/WooCommerce 功能或设计已实现无损迁移。** ## 1. 新增实际功能 - 新增 `app/wp_complex_v820.py`,使用 `defusedxml` 安全解析最多 16 MB、20,000 条记录的 WXR,按已发布内容发现 URL 冲突、动态参数 URL、复杂 Elementor、ACF 字段、PHP 序列化、自定义文章类型、WooCommerce 和动态短代码。 - 新增后台 `POST /api/migrations/sites/{site_id}/wordpress/wxr-preflight`:`multipart/form-data` 的 `file` 字段,登录、CSRF 和站点 Editor 权限均必需。只读返回 JSON,不写站点数据,不访问外网。 - 现有 `/production-v8` WordPress 面板新增“兼容性预检”按钮和结果区。 - `app/importers.py` 直接 WXR 导入:带参数的动态 URL 或缺失原始路径现在拒绝导入,不再凭 slug 猜测路径;ACF 简单 Repeater 结构保留在 `meta.fields` 和 `meta.acf_repeaters` 中,原始字段仍保留供核对。 - `app/v8_workflows.py` WXR 暂存:复用预检阻断危险旧 URL;不再将自定义文章类型错当成分类;复杂组件形成发布审核项。 - `app/wp_migration_v82.py` 媒体本地化扩展至行内 CSS `url(https://...)`、`data-background`、`data-background-image` 与已有 `srcset`。只允许已授权主机的资源进入自动下载,其他 URL 需要单独审核。 - 新增 `scripts/wp_v820_preflight.py`:离线生成 JSON/HTML 风险报告;可选 `--dist` 对比静态 HTML 路径覆盖。 ## 2. 直接运行 在项目根目录: ```bash python scripts/wp_v820_preflight.py fixtures/v820/wordPress-complex-sample.xml --output reports/v820-demo.json # 可选,待已经执行静态构建后: python scripts/wp_v820_preflight.py export.xml --dist /absolute/path/to/build/dist --output reports/my-site.json ``` 脚本返回码:`0` 表示没有识别到阻断问题且(如指定 `--dist`)没有发现缺失的 HTML 路径;`1` 表示出现阻断或缺失路径;`2` 表示输入、读取或 XML 解析失败。**退出码 0 不意味着布局或业务功能无损,人工审核仍是发布条件。** 在统一后台选择网站 → 网站生产控制台 → WordPress 迁移 → 选择 WXR 文件 → 点击“检查旧 URL / Elementor / ACF / 动态功能”。 ## 3. 风险与未完成项目 | 方向 | 当前实现 | 未完成的生产验收 | |---|---|---| | Elementor | 识别已支持/未知组件,有限静态 HTML 转换,保留原始 JSON | 容器布局、动态标签、全局样式、响应式精确还原、交互插件 | | ACF | 单值字段、简单 Repeater 的有界结构提取;PHP 序列化只标记,不执行 | 字段组 schema、Flexible Content、嵌套 Repeater、关系字段、文件字段 | | WooCommerce | 识别产品相关数据并列入审核 | 变体、价格策略、库存、购物车、结算、订单等动态服务 | | 媒体 | 同源 HTTPS/HTTP 图片与 CSS 背景图引用分析及本地化 | 跨域 CDN 授权、尺寸变体资源、未引用附件、CSS 外链文件及版权许可 | | URL/SEO | WXR 旧路径预检,静态构建路径核查,原有 SEO 差异工具 | 真正旧站的完整 Sitemap + robots + 分页 + 301 + Canonical 实测核对 | | 插件功能 | 表单、动态短代码、iframe 标为风险 | CRM/表单业务重建与实际浏览器 E2E | WXR XML **不包含附件原文件,也不包含完整站点设置和全部插件配置**;需另行取得对应 WordPress 资源以及已获授权的插件数据。 ## 4. 迁移作业建议 先备份 WordPress 原站、数据库与媒体文件;离线预检 WXR 和 Sitemap;修复阻断问题后按站点逐步暂存/提交数据;迁移 CSS/响应式图片及全部媒体;新旧站逐 URL 对账,再在独立预生产环境实测 PC/移动端布局、交互、SEO、动态表单及发布回滚。上线前必须完成每一个已识别风险的人工复核。 ## 5. 测试证据边界 自动化使用本地固定 WXR、TestClient 和模拟媒体,禁止把这些结果描述为真实客户网站的迁移通过。V8.18 生产 PostgreSQL/Redis/Docker 多 Worker 与 Art Design Pro 官方工程编译仍未完成真实现场验收。本包不会自行连接或更改用户的生产网站。