如果你仍在坚持使用 Drupal 7,那么你正处于借用时间的阶段。官方支持在 2023 年 11 月就已结束。虽然 Tag1 Consulting 和其他一些公司一直在慷慨地提供扩展商业支持,但即使那样也会在 2026 年 1 月消失。之后呢?什么都没有。没有更新,没有安全补丁——你的网站成为黑客的猎物。更不用说合规噩梦了,特别是如果你在处理 GDPR 或处理付款的话。

在过去的几年里,我已经失去了帮助迁移了多少个 Drupal 7 网站的记录。有些是简单的宣传册网站;其他的则是自定义模块和混乱内容类型的迷宫。相信我,试图整理看起来像盘子上意大利面爆炸的 Views 不是任何人的乐趣。这是我希望在早期拥有的指南——对你实际上可以做什么的诚实分解。

目录

Drupal 7 End of Life 2026: Migration Options, Costs & Decision Guide

Drupal 7 EOL 时间表:实际发生的情况

这些日期看起来可能有些模糊,所以让我们澄清一下:

  • 2023 年 11 月 1 日:Drupal 7 的社区支持关闭。来自 Drupal 安全团队的安全通告不再有。
  • 2024-2025 年期间:像 Tag1 Consulting 这样的第三方供应商提供扩展支持,但需付费。
  • 2026 年 1 月 5 日:Tag1 商业支持的终止。这是你的截止日期。

2026 年 1 月之后,你正在进入未知领域。你的网站不会自发死亡,但威胁包括:

  1. 没有安全更新用于 Drupal 7 漏洞
  2. PHP 兼容性噩梦,因为主机迁移到 PHP 8.3+(再见 PHP 5.x/7.x 舒适区)
  3. 托管障碍,因为 PHP 7.4 支持的下降
  4. 合规混乱,标准要求最新软件——想想 GDPR
  5. 保险障碍,因为补丁和受支持的平台成为保险必须品

理解你当前的 Drupal 7 网站

在你选择路径之前,你需要对你网站的当前状态有清晰的了解。跳过这个,你可能会面临预算爆炸。

内容审计

使用以下命令开始内容审计:

SELECT type, COUNT(*) as count 
FROM node 
GROUP BY type 
ORDER BY count DESC;

你需要知道:

  • 实体引用及其相互连接
  • 媒体附件及其存储位置
  • 分类词汇和任何层级结构
  • 自定义字段来自那些可爱的贡献模块

模块清单

列出你启用的模块:

drush pm-list --status=enabled --type=module

按以下方式排序:

  • 核心功能
  • 自定义创建——这些可能困扰你
  • 集成部分(支付网关、CRM、SSO)
  • 遗忘的模块你没想起存在的

自定义模块是真正的野牌。如果没有原始开发人员或文档,迁移时间可能轻易膨胀 30-50%。

流量和性能基准

获取你的分析数据以对标准迁移后网站:

  • 每月会话和独立访客
  • Core Web Vitals(LCP、FID/INP、CLS)
  • 服务器响应时间 (TTFB)
  • 缓存命中率(特别是如果涉及 Varnish 或 CDN)

选项 1:升级到 Drupal 10/11

让我们不加糖衣炮弹地说:从 Drupal 7 迁移到 10 就像在拆除旧房子后从零开始建造房子一样。D7 和 D8(D10/11 的基础)之间的变化是巨大的。以下是你将面临的情况:

涉及什么

  1. 新 Drupal 10/11 设置——忘掉重用主题
  2. 内容类型复兴和字段匹配
  3. 内容迁移通过 Migrate 模块或自定义 ETL
  4. Views 重建——有趣的时光
  5. 自定义模块重建用于 Symfony 架构
  6. 贡献模块替代品寻找

何时有意义

  • 你的编辑人员嵌入在 Drupal 宇宙中
  • 你依赖特定的 Drupal 功能(例如细粒度权限)
  • 处理多种语言是不可协商的
  • 你在政府或教育等部门

何时没有意义

  • 你的网站拥有精简的内容模型
  • 前端性能改进至关重要
  • 项目预算紧张(想想 40k 以下)
  • 你不使用 Drupal 大部分的技巧

Drupal 7 End of Life 2026: Migration Options, Costs & Decision Guide - architecture

选项 2:使用 Next.js + Supabase 实现无头

对于大多数中型到大型网站,这是我们在 Social Animal 推荐的路径。想法是使用无头 CMS 提供内容、光滑的前端框架和用于服务器端需求的后端即服务。

堆栈

  • 无头 CMS:考虑 Sanity、Contentful 或 Storyblok
  • 前端:Next.js 用于网站——享受服务器端渲染和静态生成
  • 后端/数据库:Supabase 用于身份验证、数据库、文件存储和逻辑
  • 托管:Vercel 或 Netlify 用于前端,Supabase 用于后端

为什么选择 Supabase?

Supabase 给你一大堆好处:带有 REST/GraphQL API 的 Postgres、身份验证、文件存储和边缘函数。它选中了:

  • 用户注册/登录,无需繁琐的 Drupal 模块
  • 整齐存储在 Postgres 中的网络表单提交
  • 文件处理
  • 搜索选项(使用 Postgres 或添加 Typesense)
  • 常见 CRUD 任务

Supabase 也是经济的——免费层适合小网站,Pro 计划为 £25/月是金色的。

// 示例:将 D7 网络表单迁移到 Supabase
import { createClient } from '@supabase/supabase-js'

const supabase = createClient(
  process.env.NEXT_PUBLIC_SUPABASE_URL!,
  process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
)

export async function submitContactForm(formData: ContactFormData) {
  const { data, error } = await supabase
    .from('contact_submissions')
    .insert({
      name: formData.name,
      email: formData.email,
      message: formData.message,
      submitted_at: new Date().toISOString(),
    })
    .select()

  if (error) throw new Error(`Submission failed: ${error.message}`)
  return data
}

内容迁移策略

以下是内容迁移的粗略概述:

  1. 导出来自 D7 的内容,使用自定义 Drush 或数据库查询
  2. 转换它以适应你的新 CMS 设置(真正的工作在这里)
  3. 导入到你的无头 CMS 通过他们的 API
  4. 验证一切——没有什么比分裂的参考或丢失的媒体更糟的了

一个有 5,000 个节点的典型网站可能意味着大约 2-4 周专门用于迁移。

选项 3:迁移到另一个 CMS 平台

并非每个解决方案都需要无头设置。WordPress、Craft CMS,甚至像 Astro 这样的静态网站生成器都是合法的替代品。

平台对比

| 因素 | Drupal 10/11 | Next.js + 无头 CMS | WordPress | Craft CMS | Astro (静态) | |--------|-------------|----------------------|-----------|-----------|----------------|| | 内容复杂性 | 优秀 | 好(取决于 CMS) | 中等 | 优秀 | 简单 | | 编辑 UX | 陡峭 | 差异 | 简单 | 好 | 需要 CMS | | 性能 | 中等 | 优秀 | 中等 | 好 | 优秀 | | 开发人员库 | 收缩 | 增长 | 丰富 | 小 | 增长 | | 托管成本/月 | $50-$300 | $0-$50 | $10-$100 | $20-$100 | $0-$20 | | 维护 | 高 | 低-中等 | 中等 | 中等 | 低 | | 多语言 | 优秀 | 好 | 插件相关 | 好 | 差异 | | 迁移复杂性 | 高 | 高 | 中等 | 中等-高 | 低-中等 |

成本对比:真实项目的真实数字

以下是项目一直以来的费用样子:

小型网站

| 成本类别 | Drupal 10 升级 | Next.js + 无头 | WordPress 迁移 | |--------------|-------------------|-------------------|--------------------|| | 开发 | £15k-£25k / $20k-$35k | £12k-£20k / $15k-$28k | £8k-£15k / $10k-$20k | | 内容迁移 | £3k-£5k | £3k-£5k | £2k-£4k | | 设计/UX | £5k-£10k | £5k-£10k | £3k-£8k | | 托管(年) | £600-£3,600 | £0-£600 | £120-£1,200 | | 维护(年) | £3k-£8k | £1k-£3k | £2k-£5k | | 3 年 TCO | £34k-£75k | £23k-£44k | £19k-£43k |

中型网站

| 成本类别 | Drupal 10 升级 | Next.js + Supabase | WordPress 迁移 | |--------------|-------------------|-------------------|--------------------|| | 开发 | £40k-£80k / $55k-$110k | £35k-£65k / $45k-$90k | £25k-£50k / $35k-$70k | | 内容迁移 | £8k-£15k | £8k-£15k | £6k-£12k | | 设计/UX | £10k-£20k | £10k-£20k | £8k-£15k | | 托管(年) | £1,200-£6,000 | £300-£1,800 | £600-£3,600 | | 维护(年) | £6k-£15k | £3k-£8k | £4k-£10k | | 3 年 TCO | £79k-£178k | £63k-£129k | £53k-£117k |

大型/企业网站

| 成本类别 | Drupal 10 升级 | Next.js + 无头 CMS | |--------------|-------------------|------------------------|| | 开发 | £100k-£250k / $130k-$350k | £80k-£200k / $100k-$275k | | 内容迁移 | £20k-£50k | £20k-£50k | | 设计/UX | £20k-£40k | £20k-£40k | | CMS 许可(年) | £0 | £3k-£30k | | 托管(年) | £3,600-£24,000 | £1,200-£6,000 | | 维护(年) | £15k-£40k | £8k-£25k | | 3 年 TCO | £196k-£532k | £147k-£413k |

CMS 许可说明:Drupal 是开源的,没有许可费。但要小心——Contentful 这样的平台会变得非常昂贵。对于自托管选项,零 CMS 费用,考虑 Payload CMS。

托管和基础设施考虑

人们在迁移平台时经常对托管判断错误。它比你想象的要复杂。

Drupal 10 托管

Drupal 需要真正的托管设置:

  • Pantheon:$41-$200/月
  • Platform.sh:$52-$208/月
  • Acquia:从 £134/月
  • VPS:£20-£100/月(DIY 方法,所有更新都在你身上)

Next.js + Supabase 托管

  • Vercel:免费层,Pro 为 £20/月每人
  • Supabase:从免费开始,Pro 为 £25/月
  • 无头 CMS:差异很大

总计?通常远少于 Drupal 托管。

SSL、CDN、电子邮件——哦,天哪!

Drupal 有时需要额外的手,如 Cloudflare、通过 SendGrid 的电子邮件交易以及使用 Let's Encrypt 的 SSL。相比之下,无头设置从一开始就包括许多功能——但不要忘记你的电子邮件设置。

决策框架

这是一个框架,可以保持你的决策稳定:

坚持 Drupal(升级到 D10/11),如果:

  • 你的编辑团队喜欢 Drupal 方式
  • 你需要 Drupal 的细粒度权限
  • 多语言内容不是奢侈品
  • 行业标准将你锁定在其中

实现无头(Next.js + Supabase/无头 CMS),如果:

  • 性能是你的成败关键
  • 从长远来看降低成本至关重要
  • 你的团队偏好 JavaScript/TypeScript
  • 光滑的网络应用感觉是最终目标
  • 解耦对你的内容策略起了作用

选择 WordPress,如果:

  • 简单的内容网站适合你
  • 你在计数铜板(就这些项目而言)
  • 你想要最简单的编辑工具包

选择静态(Astro),如果:

  • 信息传递优于一切
  • 最大性能最重要
  • 页面和更新有限
  • 不需要复杂的用户参与

寻找合适的代理机构

以下是嗅出好的方法:

询问他们的迁移协议。 如果他们的计划听起来像是"我们随便一下"的事情,逃跑。

测评他们的 Drupal 专业知识。 即使你正在离开它,Drupal 见解可以防止混乱的迁移。

检查他们的前端库。 无头需要对你的目标框架的专业知识。

获得固定价格报价。 考虑在签署条款前先进行发现阶段以概述范围。

澄清支持安排。 当某些东西出问题时,谁会在深夜恐慌攻击中出现?

如果你正在深入思考这一举动,我们很乐意聊天——随时联系

常见问题

Drupal 7 支持何时确切结束?
社区支持在 2023 年 11 月 1 日停止。Tag1 的扩展支持在 2026 年 1 月 5 日结束。期限后,你面临无更新的漏洞。

我能否只是在生命周期结束后保持 Drupal 7?
从技术上讲,可以。但期待未修补的漏洞和合规问题。生命周期终结软件是 GDPR 和网络保险的硬销售。

从 Drupal 7 迁移到 Drupal 10 真的是完全重建吗?
是的。从 D7 到 D8(D10/11 的基础)的变化是地震级的。为完全重建项目做准备,而不是温和的"升级"。

典型的 Drupal 7 迁移需要多长时间?
更小的网站:6-10 周。中等:12-20 周。大型/企业:6-12 个月。内容和 QA 往往比预期延长。

最便宜的迁移选项是什么?
WordPress 对于直接网站通常最经济(从 £8k/$10k)。然而,三年来,实现无头可能会在维护和托管上节省。

我应该迁移到 Drupal 10 还是使用 Next.js 实现无头?
Drupal 适合深度嵌入的编辑设置。对于现代性能和成本效率,Next.js 可能是你最好的选择。上面的框架应该为你澄清。

我应该使用什么无头 CMS 来替代 Drupal 7?
Sanity、Payload CMS 或 Storyblok 是很好的选择,Payload 提供自托管路径。根据组织适应度选择——团队规模和复杂性。

在迁移期间我需要重新设计网站吗?
重新设计和迁移通常配对良好的财务。如果预算紧张,复制设计并计划稍后进行增强。