最佳开源无头 CMS 软件
传统的内容管理系统 (CMS) 是围绕服务内容而构建的,其面向 Web 的框架结合了前端和后端。但是,这种单一的方法不支持现代 Web 环境。无头 CMS 通过提供一种分离的内容管理方法来解决这个问题。
无头 CMS提供了一个后端来管理您的内容,同时提供一个 API 来提供内容。此 API 允许开发人员使用任何表示层来有效地跨多个渠道显示内容。它还为他们提供了无限的选择来构建和交付内容。
如果您正在考虑使用无头 CMS 跨渠道扩展内容管理,您可以从软件即服务 (SaaS) 提供商处选择开源无头 CMS 或无头 CMS。在本文中,我们将介绍每种方法的优缺点。然后,我们将展示最好的开源无头 CMS 选项。
开源对比SaaS 无头 CMS
让我们看看在比较和对比无头 CMS 的开源和 SaaS 选项时要考虑的核心因素。
易于实施
首先要考虑的是服务启动和运行的难易程度。对于大多数开源选项,您必须先设置基础架构,然后再配置功能。尽管这可以对您的部署提供高水平的控制,但它非常耗时并且需要技术专长。
另一方面,SaaS 解决方案提供了更加用户友好的配置。您可以轻松启动无头 CMS。 SaaS 选项还减轻了基础设施管理要求,使开发人员能够更多地关注 CMS 定制。
平台维护
SaaS 平台不需要太多维护。唯一的要求是在无头 CMS 中维护内容。平台提供商负责底层基础设施和性能。此外,您将有一个专门的支持选项来联系以缓解平台内的任何问题。
在开源平台中,您负责基础设施的维护,唯一的支持选择是询问为项目做出贡献的开源社区。这种方法风险更大,但可以更好地控制平台性能,并允许您根据自己的独特需求微调平台。
安全
SaaS 提供商管理无头 CMS 的安全和合规性。在开源实现中,大多数项目都依赖贡献者来遵守合规性和安全标准。因此,安全隐患完全由开发人员承担。与平台维护一样,这种方法风险更大,也更耗时。
定制
开源平台仅受开发人员的想象力和技能组合的限制,可以自定义应用程序以满足任何要求。您可以完全访问源代码,甚至可以添加功能或扩展现有功能。相比之下,SaaS 平台仅限于提供商提供的功能集和自定义选项。但是,某些 Saas 平台(例如 Fabric)从一开始就提供了独特的功能,例如“体验管理”。
集成
这就是开源和 SaaS 平台都提供同等灵活性的地方。这两个选项都提供了与第三方平台(如支付网关、ERP 平台、消息代理、社交媒体等)集成的能力。唯一的区别是,在开源平台中,您可以选择创建新的连接器以在社区的帮助下促进新的集成。
以上所有要点的总结如下表所示。
开源
SaaS
基础设施配置
是的
不
基础设施维护
是的
不
设置难度
中等偏上
低的
技术专长
高的
低/中
安全与合规
非托管(用户责任)
托管(供应商责任)
特征
社区依赖
平台相关
定制
是(高)
是(粒度取决于提供者)
集成
是的
是的
开源无头 CMS 选项
在这里,我们将探索一些可用的最佳开源无头 CMS 选项。我们将主要关注每个选项提供的功能以及它们之间的差异。以下选项将用于此比较。
注意: GraphCMS 不是开源的,但我们将其包含在内,因为它是一种流行的工具,并且有一个免费的社区版本。
-
鬼
-
悬垂
-
图形CMS
-
驾驶舱
-
撇号
-
直拨
下表说明了一些最佳开源无头 CMS 选项的主要功能比较。
鬼
悬垂
座舱
撇号
直接的
图形CMS
丰富的内容编辑
✅
✅
✅
✅
✅
✅
安全认证
✅
✅
✅
✅
✅
✅
电子邮件和消息
✅
✅
✅ 3
✅
✅
✅
用户分析
✅
❌
❌
✅4
✅ 3
✅
多语言支持
✅
✅
✅
✅
✅
✅
RESTful API
✅
✅
✅
✅
✅
❌
GraphQL
❌
✅
❌
❌
✅
✅
SQL 支持
✅
✅
✅2
❌
✅
❌ 1
NoSQL 支持
❌
✅
✅2
✅
❌
❌ 1
网络挂钩
✅
✅
✅
✅4
✅
✅
Docker/K8 支持
✅
✅
✅
❌
✅
❌
命令行
✅
✅
✅
✅4
✅
❌
高级产品
✅
✅
❌
✅
✅
✅
-
提供自己的数据库解决方案
-
仅限于 SQLite 和 MongoDB
-
有限的支持
4.通过插件或扩展
鬼
Ghost 基金会旗下的 Ghost 平台(GitHub)是一个无头 CMS,专注于提供从个人到企业的发布平台。该平台使用 Javascript (Node.js) 开发,并在 MIT 许可下分发。 Ghost 提供了一套现代出版工具、功能齐全的内容编辑器、多作者、多语言内容创建和按时间顺序排列的内容。
Ghost 主要专注于发布,为订阅和会员管理提供内置支持。此外,Ghost 通过 Stripe 提供对全球支付的支持,并提供用户分析功能。
Ghost 还可以与 Zapier、Slack 和 Mailchimp 等现有工具集成,以扩展工作流程并提供统一的体验。它被 Mozilla、DigitalOcean、Airtable 和 Tinder 等知名服务机构用来为其发布平台提供动力。
此外,Ghost 提供了一个 JavaScript 库来与 Content API 交互,从而更容易与内容交互,而无需创建手动 API 调用。
示例查询
const api = new GhostContentAPI({
// Ghost DEMO site
host: 'https://demo.ghost.io',
// Authentication via API Keys
key: '22444f78447824223cefc48062',
version: "v3"
});
// fetch 5 posts, including related tags and authors
api.posts.browse({
filter: 'tag:fiction+tag:fiction'
})
.then((posts) => {
posts.forEach((post) => {
console.log(post.title);
});
})
.catch((err) => {
console.error(err);
});
进入全屏模式 退出全屏模式
** 菌株**
Strapi (GitHub) 是一个开源无头 CMS,旨在与所有Jamstack 站点一起使用。这个以开发人员为中心的平台为开发人员提供了一个灵活且可扩展的平台,以使用他们最喜欢的工具和平台来管理和分发内容。 Strapi 支持关系和非关系数据库,并且与前端无关,允许开发人员将其与任何前端框架(React、Angular、Vue)一起使用。
Strapi 可用于构建简单的网站、移动应用程序,以及功能齐全的电子商务平台。它还支持 RESTful 和 GraphQL 与 API 交互。其强大的 CLI 模块可让您在几秒钟内轻松创建和管理项目。
可以使用 Redism、Sentrym 和 Mailgun 等第三方集成进一步扩展该平台。 Strapi 的另一个主要特点是它默认是安全的,提供各种开箱即用的配置选项,如 CROS、CSP 和 XSS。以下代码示例向您展示了如何使用 Axios 库查询 Strapi API。
示例查询
import axios from 'axios';
const token = '';
// Request API.
axios
.get('http://localhost:1337/posts', {
headers: {
Authorization: `Bearer ${token}`,
},
})
.then(response => {
// Handle success.
console.log('Data: ', response.data);
})
.catch(error => {
// Handle error.
console.log('An error occurred:', error.response);
});
进入全屏模式 退出全屏模式
驾驶舱
Cockpit (GitHub) 是最简单的无头 CMS 平台之一。凭借其 API 优先的方法,Cockpit 旨在提供一个简单而强大的后端来管理可以通过多个渠道交付的内容。
Cockpit 项目开发于 2013 年,其目标是提供一个全面的平台来管理结构化和可重用的内容,同时保持通过 JSON 格式的 API 提供数据所需的功能的简单性。 Cockpit CMS 的主要特点是能够管理灵活的内容模式、简单整洁的后端用户界面和高可扩展性。
Cockpit CMS 可以轻松集成到任何项目中,而无需构建脚本或包含任何高级 PHP 库。它还在 Apache 和 Nginx 服务器上进行了测试,以确保流畅运行。
与 API 的交互使用 API 令牌进行身份验证。以下示例演示了使用 fetch 方法从 Cockpit CMS 检索帖子的简单 GET 请求。
示例查询
fetch('/api/collections/get/posts?token=', {
method: 'post',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
filter: {published:true},
fields: {fieldA: 1, fieldB: 1},
limit: 10,
skip: 5,
sort: {_created:-1},
})
})
.then(res=>res.json())
.then(res => console.log(res));
进入全屏模式 退出全屏模式
撇号CMS
与所有其他开源 CMS 软件不同,Apostrophe (GitHub) 是使用 Node.js 和MongoDB构建的功能齐全的开源 CMS。 Apostrophe 通过 apostrophe-headless 提供无头选项,使开发人员能够将其与任何 jamstack 集成并通过 RESTful API 提供内容。这种组合方法允许开发人员混合和匹配传统 CMS 和无头 CMS 的功能,以满足他们的确切要求。
Apostrophe 旨在实现快速、敏捷的开发周期,从而缩短“软件上市时间”。此外,Apostrophe 将其功能分解为不同的组件,使开发人员能够自定义 CMS 平台并构建适合其需求的解决方案。
您可以使用 Salesforce Personas、Redis 缓存、Stagecoach、Webhook 通知等扩展和集成来扩展 Apostrophe。
由于 apostrophe-headless 是 Apostrophe 的扩展,因此您需要通过安装 npm 包并使用 REST API 激活和公开所需内容来激活该包。身份验证可以通过 API 密钥或承载令牌完成。
示例配置
modules: {
'apostrophe-headless': {
apiKeys: [ '' ],
},
'products': {
//Other configurations
// Expose via API
restApi: true
}
}
进入全屏模式 退出全屏模式
下面的代码使您能够使用 REST API 在 Apostrophe 中查询数据。
// Get all products
const { results } = await $axios.$get('/api/v1/products')
进入全屏模式 退出全屏模式
直接
作为最受数据驱动的无头 CMS 平台,Directus (GitHub) 是关于数据的。这个开源的无头 CMS 平台是使用 Node.js 构建的,并利用 Vue.js 提供管理界面。它是在 GPLv3 许可下分发的。
Directus 可以连接到预先存在的数据库或创建新数据库来补充您的项目并使用 RESTful 或 GraphQL API 提供必要的内容。该 CMS 平台为关系数据库软件提供最广泛的支持,包括 MariaDB 和 SQLite 等免费解决方案以及 MS-SQL 和 Oracle DB 等商业解决方案。这使开发人员能够选择理想的数据库来满足他们的要求。
Directus 提供了一个功能齐全的管理界面来管理上述数据库。这种无头 CMS 的另一个主要因素是其完全可定制的全文搜索、翻译、工作流和事件挂钩。
此外,Directus 支持创建自定义 API 端点并提供命令行界面来创建和管理项目。它还提供了一个 JavaScript SDK,它充当 Axios 库的包装器,专门用于与 API 交互。
您可以在以下代码块中了解如何利用 Directus SDK 对用户进行身份验证并返回所需项目。在 SDK 的帮助下,Directus 通过为 API 交互提供预构建功能来简化开发生命周期。
示例查询
import DirectusSDK from '@directus/sdk-js';
const directus = new DirectusSDK('https://api.example.com/');
async function getData() {
// Authentication using email and password.
await directus.auth.login({ email: 'admin@example.com', password: 'password' });
// Obtain all the articles.
return await directus.items('articles').read();
}
getData();
进入全屏模式 退出全屏模式
GraphCMS
GraphCMS是一个原生 GraphQL 无头内容管理系统。这个无头 cms 平台的目标是为用户提供卓越的数字体验,同时简化内容管理。 GraphCMS 与前端无关,由 GraphCMS GmbH 开发。
GraphCMS 的最佳功能之一是其数字资产处理,它允许开发人员将其数字资产转换为不同的格式和结构。例如,GraphCMS 原生支持调整图像资产的大小并将文件转换为不同的类型。
GraphCMS 的另一个强大功能是其内容个性化和灵活的内容建模方法。它使开发人员能够为目标受众创建动态内容,并通过对内容进行建模来定制内容以满足用户需求。
最重要的是,GraphCMS 使用身份验证令牌来授权 API 请求。以下代码块说明了一个简单的查询,用于获取有关狗的已发布帖子,按创建的时间戳排序。
示例查询
{
posts(
where: { title_contains: "Dog" }
orderBy: createdAt_DESC
stage: PUBLISHED
) {
id
}
}
进入全屏模式 退出全屏模式
-
无头 CMS:最佳 SaaS 选项
只有当您有足够的时间来配置和设置无头 CMS 解决方案以满足您的确切需求时,才可以选择开源。如果不是这种情况,最好的选择是选择 SaaS 平台。它为您提供了一个开箱即用的解决方案,只需进行一些修改或配置更改,即可适应您的要求。
面料XM
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--xP9iYc2W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://f.hubspotusercontent00 .net/hubfs/6994951/xm-editor.png)
在众多可用的 SaaS 解决方案中,Fabric是最好的 SaaS 无头 CMS 选项之一。它提供量身定制的功能,如Storefront以快速跟踪界面开发,以及Experience Manager以创建用户和渠道特定的体验。此外,完全可定制的 API 使开发人员能够扩展功能以满足他们的要求。
除了提供支持外,Fabric 还提供服务让您的应用程序在开发过程的每个阶段都启动并运行,并使您的应用程序保持最佳状态,从而为全球任何用户提供统一的体验。通过选择像 Fabric 这样的 SaaS 平台,您可以享受所有这些好处,而无需担心基础设施或复杂的技术考虑。
更多推荐


所有评论(0)