学区网站仍在使用WordPress Multisite:3万美元的解决方案
我们审计了50个学区网站。以下是我们的发现:
| 指标 | 结果 |
|---|---|
| 运行 WordPress Multisite | 38 (76%) |
| 平均 Lighthouse 移动端分数 | 41 |
| 每个网站平均插件数 | 23 |
| 工作正常的搜索功能 | 12 (24%) |
| 移动优化 | 18 (36%) |
| ADA 合规 | 7 (14%) |
| 过去 6 个月内更新 | 22 (44%) |
这些网站被 500 万个家庭用来查找公交车时间表、学校停课通知、午餐菜单和教师联系信息。它们理应做得更好。
我花了过去十年时间构建网络平台,我从未见过一个行业的用户需求与实际服务之间存在如此之大的鸿沟。学区网站不是电子商务商店或 SaaS 营销页面。它们是关键公共基础设施。当家长在早上 6 点无法在手机上找到暴雪放学通知时,这是一次真实的失败,会带来真实的后果。当讲西班牙语的家庭无法找到免费午餐申请表时,孩子们会挨饿。
本文详细分析了为什么 K-12 网站陷入困境、现代替代架构是什么样的,以及使该转换成为显而易见选择的实际成本计算。
目录
- 杀死 K-12 网站的四大问题
- 为什么 WordPress Multisite 是错误的赌注
- 供应商陷阱:Finalsite、Blackboard 和 SchoolPointe
- 解决方案:Multi-Tenant Next.js 架构
- 让这一切显而易见的成本计算
- 迁移实际是什么样的
- 常见问题

杀死 K-12 网站的四大问题
学区网站失败不是因为一个原因。它们失败是因为四个问题相互叠加,而没有人有带宽去理解它们。
IT 员工危机
这是一个应该让你震惊但不会让任何在教育工作的人感到惊讶的数字:平均学区 IT 团队是 2-3 人。这 2-3 个人正在管理 20-50 个学校网站加上电子邮件、学生信息系统 (SIS)、学习管理系统 (LMS)、网络基础设施以及大约 10,000 台设备(Chromebook、教师笔记本电脑、交互式白板、打印机)。
网站管理的带宽为零。零。
我去年与得州一个中等规模学区的 IT 主任交谈过。他告诉我他的团队已经八个月没有接触 WordPress Multisite 安装了。不是因为他们不在乎——而是因为他们被 Chromebook 维修、Google Workspace 迁移和一场耗时三周的勒索软件惊吓所淹没。
结果?网站多月无人更新。破损的链接积累。过时的信息保持在线。两年前退休的助理校长仍然被列为主要联系人。午餐菜单显示 2023 年 9 月。注册表单链接到 404。
这不是懒惰。这是资源分配危机。当你强迫 IT 员工在保持网络运行和更新网站之间做出选择时,网站每次都会输。
教师内容更新破裂
教师想更新他们的课程页面。他们确实想。他们想发布教学大纲、分享作业并发布有关科学博览会的公告。
但 WordPress 对非技术人员来说太复杂了。我不是在贬低——我是说 WordPress 管理界面是为构建网站的人设计的,而不是为教第三年级数学的人设计的。Gutenberg 编辑器、插件冲突、媒体库、分类系统、修订历史记录……这是很多东西。
所以这里实际发生的是:
- 教师尝试更新他们的页面
- 出现问题(错误的模板、格式问题、意外删除小部件)
- 教师给 IT 发邮件
- IT 有 3 周的积压工作
- 教师放弃
- 教师将所有内容都发布到 Google Classroom
现在官方学校网站与日常学校通信无关。家长最终不得不同时使用 3-5 个不同的应用:学校网站(用于仍在那里的东西)、Google Classroom(用于实际作业)、ParentSquare(用于公告)、Remind(用于快速消息)以及可能的 Facebook 群组。
他们仍然找不到公交车时间表。
这种碎片化对家庭来说令人沮丧。对于不懂技术或在学区有孩子在多所学校就读的父母来说尤其如此。学校网站应该是单一信息来源。相反,它是没有人查看的地方。
ADA 合规作为潜在诉讼
这个问题让许多教育总监夜不能寐——或者应该如此。
学区越来越成为针对网站无障碍的 ADA 诉讼的目标。而和解的成本并不便宜。单一 ADA 诉讼可能使学区承担 $30,000 到 $100,000 以上的法律费用和补救成本。2024 年,美国司法部制定了明确要求州和地方政府网站(包括学区)符合 WCAG 2.1 Level AA 合规的规则,较大实体的截止日期从 2026 年 4 月开始。
现在考虑一下拥有 50 个学校网站的 WordPress Multisite。那是 50 个可能不合规的网站。每个由不同的人维护(或无人维护)。每一个都有不同的插件集合、不同的模板配置、不同的图像替代文本习惯(或缺乏),以及不同的标题层级方法。
审计 50 个网站?补救 50 个网站?那是数百小时的工作。而且每次有人添加内容时都必须再做一次,因为一个教师上传没有适当标记的 PDF 或没有替代文本的图像就会使该学校的页面回到不合规状态。
以下是多租户架构提供的:一个合规的代码库意味着所有 50 所学校自动合规。组件强制无障碍。标题结构默认正确。图像上传需要替代文本。PDF 如果没有被标记就会被标记。你修复一个无障碍问题,它就在所有地方修复。
翻译失败是平等危机
在多样化的学区,30-50% 的家庭在家说英语以外的语言。西班牙语、越南语、阿拉伯语、汉语、海地克里奥尔语——这取决于社区,但数字很重要。
而他们的学校网站呢?仅英文。
这些家庭找不到注册信息。他们无法浏览免费和减价午餐申请流程。他们无法理解运输路线。他们错过事件、截止日期和机会。
这不是锦上添花。《民权法》第六编要求接收联邦资金的学区与英语有限的 (LEP) 家长进行有效沟通。仅英文网站既是合规风险,也是平等失败。
让我们看看修复这个问题的成本:
| 解决方案 | 年度成本 |
|---|---|
| WPML on WordPress (50 sites × $199/yr) | $9,950/year + 持续翻译成本 |
| Finalsite | 没有真正的多语言支持 |
| Google Translate 小部件 | 不准确、破坏布局、ADA 噩梦 |
| Next.js + next-intl + 批量翻译 | ~$110 一次性用于 5 种语言 |
$110 这个数字不是打字错误。使用正确国际化的 Next.js 应用程序使用 next-intl,你提取所有内容字符串,通过翻译 API 运行它们,每种语言大约 $22,与母语使用者一起审核,就完成了。根据你的社区需要添加一种语言。路由自动处理 /es/schools/lincoln-elementary。
一半学区在使用的 Google Translate 小部件?它产生语法破碎的翻译、破坏页面布局、创建无障碍问题,最关键的是——它不翻译图像或 PDF 中的内容。这是一个创可贴,向家庭发出信号:「我们不够在乎去正确地做这件事。」
为什么 WordPress Multisite 是错误的赌注
公平地说,WordPress Multisite 在 2014-2016 年不是一个不合理的选择。它是免费的(基本上)。它技术上可以运行多个网站。有一个庞大的插件生态系统。学区可以找到 WordPress 开发人员。
但在接下来的十年里发生了什么:
- 插件蔓延:每个网站都积累了核心无法做的东西的插件。SEO、表单、日历、无障碍覆盖层(实际上不起作用)、翻译、缓存、安全。我们的审计发现每个网站平均有 23 个插件。那是 23 个潜在的安全漏洞、23 个可能冲突的东西、23 个需要更新的东西。
- PHP 版本债务:许多这些安装运行在已停止支持的 PHP 版本上。更新 PHP 风险会破坏插件。不更新 PHP 是一个安全漏洞。
- Gutenberg 混乱:WordPress 转向块编辑器破坏了刚刚勉强学会了经典编辑器的教师的工作流程。许多学区仍在运行经典编辑器插件,它本身也在老化。
- 性能死亡螺旋:WordPress 为每个请求从 MySQL 数据库提供服务器渲染的 HTML。添加 WooCommerce(是的,一些学校运行商品商店)、BuddyPress 或任何繁重的插件,你面对的是 3-5 秒的加载时间。在学校停车场的移动连接上?忘掉它。
- 安全表面区域:WordPress 占网络的 43%,这使其成为自动化攻击的首要目标。在你的多网站中被入侵的单个插件?每个学校网站都会暴露。
WordPress Multisite 十年前是个务实的选择。现在是技术债务。
供应商陷阱:Finalsite、Blackboard 和 SchoolPointe
大多数学区考虑的替代方案是一个 K-12 网站供应商。Finalsite 是大名鼎鼎的。还有 Blackboard(现在是 Anthology)、SchoolPointe、Apptegy(Thrillshare)和其他几个。
这些平台解决了一些问题。它们处理托管。它们提供模板。它们有一些无障碍功能。但它们带有严重的权衡:
成本:拥有 45 所学校的学区的 Finalsite 每年运行 $135,000 到 $360,000。那不是一次性成本。那是持续的。每年。永远。如果你想离开,你就从零开始——没有简单的内容和结构导出。
不灵活:你得到他们给你的东西。需要与 SIS 的自定义集成?那将是一个专业服务项目。想改变日历的工作方式?提交功能请求并等待。你的学区有需要自定义路由的独特双语计划?抱歉,模板中没有。
性能:我对几个 Finalsite 托管的学区网站运行了 Lighthouse 审计。移动端的分数范围从 35 到 62。这些本质上是营销网站——具有重 JavaScript 包、第三方跟踪脚本和未优化图像的服务器渲染页面。它们不快。
锁定:这是重要的。你的内容存在于他们的 CMS 中。你的 URL 按他们的方式结构化。你的数据模型遵循他们的架构。三年后,转换成本很高。他们知道这一点。这就是商业模式。
我不是说这些供应商是邪恶的。他们为零技术能力的学区提供了真实的服务。但如果你有选择投资你拥有的基础设施,成本计算明确指向该方向。

解决方案:Multi-Tenant Next.js 架构
这是我们实际构建的东西。一个应用程序。部署一次。为学区的每所学校服务。
/ → 学区主页
/schools/[slug] → 学校主页(45 所学校)
/schools/[slug]/calendar → 学校特定事件
/schools/[slug]/staff → 员工目录
/schools/[slug]/staff/[id] → 教师课程页面
/[lang]/schools/[slug] → 翻译版本(es、vi、ar、zh、ht)
/portal → 家长门户网站(需要身份验证)
/admin → 教师/员工内容门户网站
45 所学校 = 来自一个代码库的 45 个程序化路由。一次部署。一个修复错误的地方。一个强制无障碍的地方。一个添加功能的地方。
技术栈
框架: Next.js 15 (App Router)
CMS: 无头 (Sanity 或 Payload CMS)
身份验证: Supabase Auth + Row-Level Security
国际化: next-intl
托管: Vercel(或 Cloudflare Pages)
搜索: Algolia 或 Typesense
无障碍: axe-core in CI/CD pipeline
教师门户网站
这是日常运营中改变一切的部分。教师使用他们的学区 Google 帐户(通过 Supabase Auth 的 SSO)登录。他们看到他们的课程页面。他们可以:
- 更新他们的教学大纲(富文本编辑器,不是 WordPress Gutenberg)
- 发布带有文件附件的作业
- 添加公告
- 更新办公时间和联系信息
就这样。没有侧边栏、没有小部件、没有插件设置、没有「你确定想要更新吗?」确认。一个专注于做四件事做得很好的界面。
Supabase 中的行级安全性 (RLS) 意味着教师只能编辑他们自己的内容。不需要管理员监督。没有 IT 票证。
-- Supabase RLS 政策:教师只能更新自己的内容
CREATE POLICY "Teachers can update own content"
ON class_pages
FOR UPDATE
USING (auth.uid() = teacher_id);
家长门户网站
家长进行身份验证并根据他们的注册孩子看到个性化视图。他们孩子的公交路线。他们学校的午餐菜单。相关学校的即将举行的活动。他们孩子的当前教师的教师联系信息。
不再需要在 45 所学校网站中挖掘以找到关于你在三所不同学校的三个孩子的信息。
默认无障碍
组件库强制 WCAG AA。每个 <Image> 组件都需要替代文本。标题层级由页面模板强制执行。颜色对比在构建时验证。焦点管理在导航组件中处理。
我们在 CI/CD 管道中运行 axe-core。每个拉取请求都会得到无障碍审计。如果它失败了,它就不会部署。句号。
当你有 200 名教师添加内容时,这很重要。你无法培训 200 个人关于无障碍的知识。你可以构建一个使不合规在结构上不可能的系统。
性能
具有静态生成的 Next.js 意味着学校页面在构建时被预先渲染并从 CDN 提供。在学校停车场使用 3G 连接的家长在一秒内获得页面。Lighthouse 分数始终达到 90+。
我们在讨论 41 Lighthouse 分数(我们审计的 WordPress Multisite 平均)和 95 之间的差异。这不是一个增量改进。这是一个不同的体验。
让这一切显而易见的成本计算
让我们为一个拥有 45 所学校的学区做三年总拥有成本:
| 解决方案 | 第 1 年 | 第 2 年 | 第 3 年 | 3 年总计 |
|---|---|---|---|---|
| Finalsite | $135-360K | $135-360K | $135-360K | $405K-$1,080K |
| WordPress Multisite(维护现有) | $30-50K | $30-50K | $30-50K | $90-150K |
| Next.js Multi-Tenant(构建 + 托管) | $60-100K + $540 | $540 | $540 | $61-101K |
Next.js 托管成本在 Vercel Pro 上是 $45/月,或在 Cloudflare Pages 上更低。这是为 45 所学校提供服务的平台每年 $540。单独的 WordPress 托管通常是对于托管多网站安装而言 $500-1,500/月。
相对于 Finalsite 的损益平衡:3-6 个月。相对于持续的 WordPress 维护的损益平衡:第一年。
而 WordPress 成本列不包括的是 IT 员工时间。那 2-3 个 IT 人员每周花 10-15 小时进行网站灭火?那是可以用于任何其他地方的 $30-50K 的薪资分配。Chromebook 管理。网络安全。实际上睡上一个整晚。
$60-100K 的 Next.js 平台构建成本是一次性投资。你拥有它。没有年度许可证。没有学校费用。没有供应商锁定。添加第 46 所学校?这是 CMS 中的一个新条目,不是销售电话。
迁移实际是什么样的
我们不会假装这是微不足道的。迁移 45 个学校网站是一个项目。以下是它如何分解:
第 1-3 周:发现和内容审计
- 盘点 45 个网站上的所有现有内容
- 识别实际当前的与已放弃的内容
- 映射信息架构
- 采访 IT 员工、教师和家长以了解痛点
第 4-8 周:平台构建
- Multi-tenant Next.js 应用程序,具有无头 CMS 集成
- 具有 Supabase Auth 的教师门户网站
- 带有内置无障碍的组件库
- next-intl 国际化设置
- 具有自动化无障碍测试的 CI/CD 管道
第 9-12 周:内容迁移和培训
- 自动化内容迁移脚本(WordPress REST API → 无头 CMS)
- 手动内容审查和清理
- 教师培训(30 分钟的会话——如果花费更长时间,UX 需要工作)
- 家长门户网站软启动
第 13-14 周:启动
- DNS 转接
- 重定向映射(每个旧 URL 得到一个 301)
- 监控和支持
总时间表:14 周。这是一个学期。你可以在冬季休息期间启动,当时流量最少。
关键见解:你不是在重建 45 个网站。你是在构建一个为 45 所学校服务的网站。这是复杂性上数量级的减少。
如果你的学区正在探索这种迁移,我们之前做过这项工作。联系我们,我们可以走过你的学区规模和需求的具体情况。你也可以查看我们的定价页面以了解此类项目的大致范围。
常见问题
学区网站重新设计的成本是多少? 这取决于方法。Finalsite 等供应商平台对 45 所学校的学区每年收费 $135,000-$360,000。维护现有 WordPress Multisite 的成本为每年 $30,000-$50,000 的 IT 时间、托管和开发支持。自定义 multi-tenant Next.js 构建作为一次性投资运行 $60,000-$100,000,每年托管费用约为 $540。在三年内,自定义构建是迄今为止最便宜的选项——而且你拥有该平台。
WordPress Multisite 对学区来说好吗? 它在 2014-2016 年是合理的选择,但它已成为一项责任。插件蔓延、安全表面区域、糟糕的移动性能以及无法在 50 个网站上强制执行无障碍使其不适合现代 K-12 要求。网络中的每个网站都可以朝不同的方向发展,由于 2-3 名 IT 员工管理学区的其他所有内容,没有人有时间保持其维护。从 2016 年运行 WordPress Multisite 的学区正在承担重大技术债务。
学区网站的 ADA 合规要求是什么? 美国司法部在 2024 年制定了规则,要求州和地方政府网站(包括公立学区)符合 WCAG 2.1 Level AA 标准。较大实体面临从 2026 年 4 月开始的截止日期。不合规可能导致法律诉讼,和解范围从 $30,000 到 $100,000+ 的法律费用和补救。关键挑战是合规性不是一次性修复——添加的每一条内容都必须保持合规,这就是为什么在平台本身中内置无障碍强制是唯一可持续的方法。
你如何处理学区网站上的多种语言?
使用使用 next-intl 的 Next.js 应用程序,国际化被内置到路由结构中。每种语言都有其自己的 URL 前缀(/es/、/vi/、/ar/),这比 Google Translate 小部件更好用于 SEO 和无障碍。使用翻译 API 进行 5 种语言的内容翻译加上母语使用者审核成本大约 $110。与 WordPress 上的 WPML 相比,每个网站每年 $199(50 个网站每年 $9,950),节省很可观。更重要的是,翻译准确、格式正确,不会破坏页面布局。
教师可以在没有 IT 支持的情况下更新自己的页面吗? 可以——这整个的重点。教师使用他们的学区 Google 帐户进行身份验证,看到他们课程页面的简化编辑器,可以更新他们的教学大纲、发布作业、添加公告和更新联系信息。行级安全性确保他们只能编辑自己的内容。没有 IT 票证、没有 3 周的积压工作、没有放弃并将所有内容发布到 Google Classroom。如果编辑界面需要超过 30 分钟的培训会话,我们将其视为 UX 失败并重新设计。
迁移学区网站需要多长时间? 对于 45 所学校的学区,预计 14 周的时间表:3 周进行发现和内容审计、5 周进行平台构建、4 周进行内容迁移和培训以及 2 周进行启动。启动的最佳时间是在冬季或夏季休息期间,此时网站流量最少。内容迁移部分使用 WordPress REST API 自动化以将内容提取到新的无头 CMS,但需要手动审查和清理,因为许多旧内容已过期。
对于学区网站来说,Finalsite 还是自定义构建更好? Finalsite 对于完全零技术能力和持续许可预算的学区很有意义。对于可以投资一次性构建的学区,自定义 multi-tenant Next.js 平台在三年内成本更低($61-101K vs. $405K-$1.08M)、性能更好(Lighthouse 95+ vs. 35-62)、提供完整的内容和基础设施所有权,并为与 SIS、LMS 和其他学区系统的自定义集成提供灵活性。权衡是你需要一个开发合作伙伴来进行初始构建和持续的功能开发。
为什么学区网站在移动设备上如此缓慢? 大多数学区网站运行带有 20+ 个插件的 WordPress,每个插件都向每个页面加载添加 JavaScript 和 CSS。服务器渲染的页面需要为每个请求进行数据库查询。图像通常是未优化的。没有 CDN,或 CDN 配置错误。添加共享托管环境,你看向 3-5 秒的加载时间。在学校停车场的移动连接上,更糟糕。一个静态生成的 Next.js 网站从世界各地的边缘服务器提供预构建的 HTML,通常在不到一秒内加载。当家长在早上 6 点检查暴雪通知时,这很重要。
如果学区使用 Finalsite 等供应商,他们是否拥有他们的网站? 不。你的内容存在于他们的 CMS 中,按照他们的数据模型结构化,托管在他们的基础设施上。如果你决定离开,你基本上是在重新开始。没有干净的内容、模板或配置导出。这种锁定是有意设计的——这是使经常性收入模式工作的原因。使用无头 CMS(如 Sanity 或 Payload)的自定义构建,你拥有每一条内容、每一行代码和每一个部署配置。你可以切换托管提供商、更改前端框架或在不丢失任何东西的情况下将开发引入内部。
你的学区网站是 10,000 个家庭的前门。如果那扇门在手机上打不开、不说他们的语言、不让教师更新自己的页面——它在为它应该服务的每个人都失败。