Headless CMS 清单

Headless CMS(无头内容管理系统)是一种将内容管理与前端展示分离的 CMS 架构。它只负责内容的创建、编辑、存储、管理和分发,不负责页面渲染,也不限定前端技术栈。前端应用通过 REST API 或 GraphQL 获取内容,自行完成展示。

其核心优势是内容与展示解耦,同一份内容可以同时分发到网站、移动应用、小程序、桌面应用等多个终端。典型功能包括内容模型管理、富文本编辑、媒体资源管理、用户权限控制、工作流管理、多语言支持、版本管理和 API 分发。

Headless CMS 适合多端内容分发、企业官网、内容平台以及需要灵活定制前端的项目。常见开源项目包括 Directus、Strapi、Payload CMS 和 Sanity。

与 Directus 定位相近的 Headless CMS 知名开源项目:

项目 开发语言 GitHub Stars
Strapi TypeScript 73.4k
Payload CMS TypeScript 45.5k
Ghost JavaScript 55.6k
Wagtail Python 21k
KeystoneJS TypeScript 10k
Squidex C# 2.5k
Filament PHP 32k

项目简介(每个约 100 字):

  1. Strapi — GitHub。知名 Headless CMS,基于 Node.js,提供可视化内容模型、REST/GraphQL API、角色权限和插件扩展。适合企业官网、内容平台、移动应用后端。

  2. Payload CMS — GitHub。基于 TypeScript 和 Next.js 的全栈 CMS,采用代码优先模式定义数据模型,自动生成管理后台和 API。适合 Next.js 项目及需要深度定制业务逻辑的应用。

  3. Ghost — GitHub。专注于博客和专业内容出版的平台,内置文章管理、会员订阅、Newsletter 邮件发送及 Headless API。适合媒体网站、独立博客和付费内容业务。

  4. Wagtail — GitHub。基于 Django 的 Python CMS,提供丰富的内容编辑体验、权限管理、版本控制和 API。适合 Python 技术栈下的企业内容管理和大型网站。

  5. KeystoneJS — GitHub。TypeScript 开发的可编程 CMS 和后端框架,通过代码定义数据模型,自动生成 GraphQL API 和管理界面。适合开发者主导、需要灵活数据结构的业务系统。

  6. Squidex — GitHub。基于 ASP.NET Core 的 Headless CMS,提供结构化内容管理、REST API、GraphQL、版本控制和多语言支持。适合 .NET 技术栈及企业级内容管理。

  7. Filament — GitHub。基于 Laravel、Livewire 的后台管理 UI 框架,提供 CRUD、表单、数据表格、仪表盘等组件。适合快速开发企业内部管理系统,但它不是完整的 Headless CMS。

选型建议:

需求 优先考虑
已有 SQL 数据库,快速生成 API 和后台 Directus
内容管理、Headless CMS Strapi
Next.js 全栈应用 Payload
Laravel 管理后台 Filament
Python/Django 内容平台 Wagtail

我的判断:如果目标是寻找 Directus 的直接替代品,优先比较 Strapi、Payload、KeystoneJS;如果目标是寻找通用业务后台和 API 平台,则应该把 PocketBase、Supabase、Appwrite 纳入比较。两类产品的架构定位并不完全相同。

如果你有魔法,你可以看到一个评论框~