如果你仍在坚守 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 生命终结时间表:实际发生什么

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

  • 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 特性(例如,细粒度权限)
  • 处理多种语言是不可协商的
  • 你在政府或教育等部门

何时不是

  • 你的网站拥有精简的内容模型
  • 前端性能改进至关重要
  • 项目预算紧张(想象低于 4 万英镑)
  • 你不使用 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) 中等 优秀 简单
编辑用户体验 陡峭 差异 简单 需要 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
设计/用户体验 £5k-£10k £5k-£10k £3k-£8k
托管(年度) £600-£3,600 £0-£600 £120-£1,200
维护(年度) £3k-£8k £1k-£3k £2k-£5k
3 年总成本 £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
设计/用户体验 £10k-£20k £10k-£20k £8k-£15k
托管(年度) £1,200-£6,000 £300-£1,800 £600-£3,600
维护(年度) £6k-£15k £3k-£8k £4k-£10k
3 年总成本 £79k-£178k £63k-£129k £53k-£117k

大型/企业网站

成本类别 Drupal 10 升级 Next.js + 无头 CMS
开发 £100k-£250k / $130k-$350k £80k-£200k / $100k-$275k
内容迁移 £20k-£50k £20k-£50k
设计/用户体验 £20k-£40k £20k-£40k
CMS 许可(年度) £0 £3k-£30k
托管(年度) £3,600-£24,000 £1,200-£6,000
维护(年度) £15k-£40k £8k-£25k
3 年总成本 £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 日结束。截止日期后,你会面临没有更新的风险。

2026 年生命终结后我能坚守 Drupal 7 吗?
从技术上讲,可以。但预期未修补的漏洞和合规问题。生命终结的软件对于 GDPR 和网络保险来说很难销售。

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

典型的 Drupal 7 迁移需要多长时间?
较小的网站:6-10 周。中型:12-20 周。大型/企业:6-12 个月。内容和质量保证通常比预期拉长。

最便宜的迁移选项是什么?
WordPress 通常对直接网站最经济(从 £8k/$10k)。但在三年内,使用无头架构可能在维护和托管上节省。

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

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

在迁移过程中我需要重新设计我的网站吗?
重新设计和迁移经常配对得很好,经济上说。如果预算紧张,复制设计并计划后期增强。