Drupal 7 已于 2025 年 1 月 5 日停止官方支持。自此之后,社区不再为它提供安全补丁,废弃模块逐月增多,与新版 PHP 的兼容问题持续显现,网站风险不断攀升。如果你的网站仍在使用 Drupal 7,要考虑的已经不是要不要迁移,而是如何在迁移过程中不丢失内容、不影响谷歌搜索排名、不损失原有功能。
下面介绍我们 Omitsis 团队处理 Drupal 7 迁移至 Drupal 10 或 11 项目的整套思路:迁移工作的真实内容、实施步骤、风险点,以及影响项目成本高低的各项因素。
一、为什么这叫迁移,而不是升级
Drupal 7 和新版 Drupal 的架构发生了根本性变化。Drupal 8 基于 Symfony 组件重新开发,采用面向对象代码、Twig 模板引擎以及全新的配置管理体系。从 Drupal 8 升级到 9、9 到 10、10 到 11,都属于版本升级:只需要更新代码、处理废弃接口,网站本身的整体架构不变。
但 Drupal 7 无法走这种升级路线。需要在 Drupal 10 或 11 上搭建一套新站点,再把旧站的数据迁移过来。由此带来三点影响:
- 主题必须重新开发:Drupal 7 的 PHPTemplate 模板无法在 Twig 环境运行。
- 自定义模块需要重写:业务逻辑可以复用,但原有代码不能直接沿用。
- 第三方贡献模块变动很大:不少模块推出了适配新版的版本;一部分功能已经并入内核(例如视图 Views、富文本编辑器 CKEditor、媒体管理 Media);还有一些模块已经停止维护,需要寻找替代方案。
不过这也带来一个利好:你可以借此机会做一轮梳理清理,比如删掉闲置的内容类型、冗余字段、不再使用的模块,以及过时的页面设计。
二、选 Drupal 10 还是 Drupal 11?
如果现在启动迁移,建议直接迁移到 Drupal 11。Drupal 10 和 Drupal 11 的代码差异很小,但 Drupal 11 的支持周期更长;如果迁到 Drupal 10,没过多久又要做一次升级。只有当某个核心必备模块暂时还不兼容 Drupal 11 时,留在 Drupal 10 才有意义。即便出现这种情况,后续从 Drupal 10 升级到 11 也只是简单升级,不需要重新做完整迁移。
三、Drupal 7 迁移流程
1. 现有站点审计:梳理内容类型、字段、分类、视图、用户与角色、多语言配置、第三方模块与自研模块、外部系统对接项,以及内容和文件总量。
2. 模块映射:逐个确认 Drupal 7 模块在 Drupal 11 中的替代方案:是新版同名模块、内核原生功能、其他替代模块,还是需要二次开发。
3. 重新设计内容模型:可借此机会做精简优化,将图片、文档迁移至内核自带的媒体管理组件 Media。
4. 搭建新站点:完成安装、基础配置、主题开发以及自定义模块开发。
5. 基于 Drupal 迁移 API(Migrate)搭配 Migrate Plus、Migrate Tools 模块编写迁移脚本:迁移内容、用户、分类、文件、译文、URL 别名。脚本可反复执行,直至迁移结果符合预期。
6. 核查与测试:新旧站点内容比对、功能测试、性能与无障碍访问测试。
7. 变更链接的重定向方案:为所有改动的 URL 设置重定向规则。
8. 正式上线:上线前执行最后一次增量迁移,同步最新内容,上线后提供一段保障支持期。
如果你想了解这类迁移脚本的实际写法,我们准备了两份实操指南:如何从 CSV 文件向新版 Drupal 迁移内容,以及如何把文件和图片迁移到 Media 媒体字段。
四、需要重点管控的风险
- 谷歌排名下滑:这是代价最高的风险,同时也最容易规避:保留可用的原有 URL;所有变更的地址都通过 301 重定向指向对应新页面(切勿全部重定向到首页);上线前检查页面标题与元描述。
- 内容迁移异常:包含带老旧 HTML 代码的字段、服务器上已丢失的文件、不完整的翻译内容,或是内容之间引用关系失效等问题。
- 无文档记录的功能:自定义模块内的计算逻辑、推送到 CRM 系统的数据、每月固定导出的报表等。这类功能必须在站点审计阶段排查出来。
- 内容冻结时间过长:借助可重复执行的迁移脚本,编辑团队可以在旧站点持续更新内容,一直到上线前最后一刻。
五、影响迁移成本高低的因素
迁移项目没有统一定价,但核心影响因素是固定的:
| 影响因素 | 简单场景 | 复杂场景 |
|---|---|---|
| 内容模型 | 内容类型、字段数量少 | 数十种内容类型、共用字段与交叉引用 |
| 自定义模块 | 无自定义模块或仅简单逻辑 | 包含大量业务逻辑、外部系统对接 |
| 语言版本 | 单语言 | 多语言,包含内容翻译与界面翻译 |
| 页面设计 | 沿用现有设计 | 全新改版设计 |
| 系统对接 | 无对接 | CRM、ERP、单点登录、支付网关、自研API |
| 数据体量 | 数百条内容 | 数万条内容及附件文件 |
简单的企业官网,几周即可完成迁移;带有多套系统对接、多语言的平台类站点,则是耗时数月的项目。
六、暂不迁移会有什么后果?
也存在一些临时替代方案:向第三方服务商购买 Drupal 7 的付费延长支持服务,或是使用 Backdrop CMS 这类分支版本。这些方案可以争取缓冲时间,但无法解决根本问题:Drupal 7 生态中可维护的模块越来越少,愿意维护该版本的开发人员也在不断流失。如果该网站对您的业务至关重要,明智的做法是从容规划迁移,避免等到出现安全漏洞时被迫仓促实施。
七、成都长风云的 Drupal 迁移服务
成都长风云拥有超过十八年 Drupal 开发经验,服务过政府机构、科研中心与各类企业,代表项目包括 上海第一财经、中科院植物所等。将网站从 Drupal 7 迁移至新版 Drupal 是我们的常规业务。我们会完成站点分析、开发工作、编写迁移脚本以及制定重定向方案,保障您的网站流量不受损失。如果您已有开发团队,我们也可提供 Drupal 开发外包服务。倘若您的网站仍在运行 Drupal 7,欢迎联系我们,也可以前往我们的 Drupal 技术介绍页面了解更多服务模式。

