Gutenberg 是 WordPress 的一部分
Gutenberg 深度集成于 WordPress 的内容创作和发布体验中。它是帖子和页面的编辑界面,并通过网站编辑器编辑模板和整个网站布局。其块由 WordPress 插件和主题注册,媒体来自 WordPress 库,内容保存为 WordPress 数据,访客最终看到的内容由 WordPress 和活跃主题生成。
PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验
比较Gutenberg和GrapesJS在架构、定制、视觉编辑、HTML/CSS控制、可扩展性、存储和WordPress集成方面的表现。学习什么时候Gutenberg更合适,什么时候GrapesJS更合适,以及如何将GrapesJS作为WordPress的自定义视觉编辑图层。
想做一个自定义的WordPress编辑器?看看它是怎么运作的→
WordPress 的编辑面。
WordPress 决定内容的存放位置及其渲染方式。
一个你放在自己产品里的编辑器。
你决定内容的存放地点以及如何呈现。
两者都是真正的视觉编辑,且都被积极维护。它们是为不同工作设计的,所以有用的问题是你现在做的是哪种工作。
WordPress是产品,编辑是在产品内部进行的。
这描述了你
你需要的所有东西都已经安装好了。扩展它,而不是替换它。
读一下Block Editor Handbook编辑器是你产品的一部分,你需要去塑造它。
这描述了你
你从编辑器引擎出发,围绕它构建产品。
规划你的编辑器选择更多取决于哪个编辑器功能更多,而是你的产品需要如何运行。
本页后面几乎所有的差异都源于一个原因:每个项目的目标是什么。
Gutenberg 深度集成于 WordPress 的内容创作和发布体验中。它是帖子和页面的编辑界面,并通过网站编辑器编辑模板和整个网站布局。其块由 WordPress 插件和主题注册,媒体来自 WordPress 库,内容保存为 WordPress 数据,访客最终看到的内容由 WordPress 和活跃主题生成。
GrapesJS 是一个编辑器框架,可以嵌入到更大的应用程序中,并根据产品需求进行定制。它渲染成你控制页面上的元素。它没有内容模型、用户、权限和发布步骤,因为这些都属于托管它的应用程序。它提供的是编辑器:画布、组件树、块、样式和资产管理、命令,以及用于扩展的插件系统。
这两者都不是对彼此的批评。一个拥有你出版流程的CMS正是你想要的,因为网站就是产品。一个不拥有任何东西的框架正是你想要的,因为编辑必须生活在你已有的东西里。
Gutenberg 是 WordPress 原生的编辑体验。GrapesJS 是一个构建你自己视觉编辑体验的框架。
从上到下阅读每一列。两者的层概念是一样的——某个东西托管编辑器,编辑器生成内容,内容被存储并渲染——但这两个项目从相反的两端进入这条链。
编辑是 WordPress 发布流程的一个阶段。你注册的块插入 WordPress 从头到尾拥有的链条中。
你会获得一个完整且熟悉的发布系统,并接受其惯例:WordPress拥有存储、渲染和编辑界面的形状。
编辑器是起点。围绕它的一切——存储、用户、发布、前端——都由你选择,因为框架不提供任何这些。
纳入框架
你完全掌控编辑体验,并承担了WordPress本应提供的图层。
Gutenberg 从 WordPress 发布模型开始。GrapesJS 从可视化编辑器本身开始。
注意每个链条的起点。Gutenberg 的第一个框是 WordPress:编辑器存在是因为它周围有发布系统。GrapesJS 链条从你的应用程序开始,框架占据恰好一个链接。这个差异解释了下表中的存储行、插件行和白标行。
能力,而非分数。当能力在双方都存在时,行会说明;如果一方通过工作而非环境达到,则行会说出能力。
| 能力 | Gutenberg | GrapesJS |
|---|---|---|
| WordPress 集成 | 原生 | 自定义集成 |
| 原生 WordPress 编辑 | 内置 | 自定义 |
| 用块编辑 | 内置 | 内置 |
| 视觉画布 | 内置 | 内置 |
| 自定义区块和组件 | 内置 | 内置 |
| 样式管理 | WordPress 控制 | Style Manager |
| 资产管理 | WordPress 媒体库 | Asset Manager |
| 存储 | WordPress | 可配置 |
| HTML 和 CSS 工作流程 | 这取决于时段和主题 | 强 |
| 自定义编辑器界面 | 可扩展性 | 高度可定制 |
| 编辑器的扩展方式 | WordPress 插件和区块 | GrapesJS 插件 |
| 框架独立性 | WordPress 生态系统 | 内置 |
| 页面构建器作为服务出售 | 自定义实现 | 非常适合 |
| 可嵌入编辑器 | 这不是主要的使用场景 | 非常适合 |
| 以你自己的品牌编辑 | 有可能 | 非常适合 |
| 一个编辑器管理无头后端 | 有可能 | 非常适合 |
| 电子邮件编辑器 | 这不是主要的使用场景 | 通过扩展实现 |
每一行都是从两个项目自己的文档中朗读的 2026-09-03. 没有行标记了两个项目实际具备的功能:Gutenberg 注册自定义区块,支持区块模式和模板,暴露过滤器和 slot fills 作为接口,并将编辑器发布到 npm——这些行读取的是“可扩展”和“可能”,而非“否”。资料来源: Block Editor Handbook · Block 注册 · Block 编辑器包 · 网站编辑器 · GrapesJS 文档 · Components · 存储
请在标签旁标注日期。星数尤其不是决定性因素:Gutenberg 仓库是功能插件的开发平台,而它生成的区块编辑器会随每份 WordPress 版本安装。
| 软件包 | 版本 | 许可 | 发布 | 星标数 |
|---|---|---|---|---|
| grapesjs | 0.23.6 | BSD-3-Clause | 2026-08-26 | 26,188 |
| gutenberg | 23.9.0 | GPL-2.0-or-later | 2026-09-02 | 11,747 |
| @wordpress/block-editor | 17.0.0 | GPL-2.0-or-later | — | — |
| @grapesjs/react | 2.0.0 | MIT | — | — |
Gutenberg 功能插件发布时间早于 WordPress 核心捆绑的区块编辑器,因此其版本号无法与 WordPress 版本进行比较。 该功能插件需要 WordPress 6.9 (23.9.0). 撰写本文时的WordPress核心: 7.1. 许可证信息从每个项目自己的仓库和注册表条目中读取,可能会有所变化;在依赖之前请检查链接的来源。 @wordpress/block-editor · 2026-09-03.
看看独立的可视化编辑器与原生 WordPress 编辑体验有何不同。这是本页中运行的真实 GrapesJS 实例——把区块拖进来,选中任意元素重新设置样式,切换画布宽度,并打开资源管理器。
你看到的是框架的默认界面。里面的每个面板、按钮和控件都是可替换的——这就是表格中“自定义编辑器界面”行描述的区别。
Gutenberg 可以用来通过 WordPress 区块构建页面和布局,但它的主要作用是 WordPress 区块编辑器和内容编辑系统。
这个问题通常隐藏着四个不同的东西。将它们分开后,答案就变得简单明了。
用于写入帖子或页面的界面。这是Gutenberg的核心工作:基于区块的写作界面取代了传统的单文本字段。
使用区块主题时,同一个区块界面会编辑模板、页眉、页脚和模板部分。这就是为什么“页面构建”更能公平地描述人们在其中所做的事情。
从区块、图案和可复用模板组装布局。Gutenberg 可以做到这一点,之前的商业 WordPress 页面构建器也是如此。
一个你嵌入在自己拥有的应用程序中,没有附加CMS的库。这就是GrapesJS,也是这份列表中Gutenberg本来就没设计成的。
所以:是的,前三个,这也是大多数人指的。如果你在寻找Gutenberg页面构建器的替代品,是因为你想要第四个——一个可以放进自己产品里的编辑器——那是另一类工具,这也是这个页面的主题。
这些都是真实且常见的情况,每一次增加第二个编辑器都会让项目变得更糟而非更好。
传统WordPress网站,WordPress是完整的应用:内容、用户、媒体、插件、主题和托管,全部集中在一个地方。
博客、出版物和内容密集的网站,这些地方的写作表面比版面更重要,修改、排班和角色都是免费的。
Teams 已经完全在 WordPress 内部工作。一个熟悉的编辑界面比一个没人用过的更可配置的界面更有价值。
项目高度依赖Gutenberg 区块、模式、模板和WordPress插件,而块库已经编码了多年的决策。
如果你的产品是WordPress本身,且需要原生编辑流程,Gutenberg可能是合适的选择。
这些编辑器都是你发布的功能,而不是团队登录的屏幕。
打造属于你自己的编辑体验,而不是采用WordPress的编辑界面——你的面板、你的术语、你的限制。
着陆页构建器直接在你的应用中嵌入可视化编辑,让客户在不使用管理区的情况下构建页面。
页面构建器即服务从头到尾控制品牌、界面和用户体验,包括以自己名义转售的客户。
白标构建器使用包含WordPress的CMS作为内容后端,而GrapesJS则提供其上的视觉编辑体验。
无头 CMS 编辑器让用户直接直观控制布局和样式,并从编辑器中获得干净的HTML和CSS,而不是依赖专有负载。
HTML 拖放构建器把可视化编辑器做成另一个产品的一部分,挂载在你应用已经拥有的屏幕里。
可嵌入页面构建器比较意味着选择,而当没有选择时,就是这种情况。你不一定非得替换WordPress。
WordPress 可以继续处理内容、用户、权限和后端工作流,而 GrapesJS 则提供可视化编辑层。在这种安排中,两者是对等的:一方拥有数据及其相关规则,另一方拥有作者所看到的内容。
你的产品
一个应用,里面有两个系统
GrapesJS
可视化编辑器
WordPress
内容管理
集成层
你写这篇文章。两者之间没有一键式的桥梁,任何需要这种架构的项目都应该为此做预算。
API
数据库
你的应用程序托管编辑器,并通过WordPress自身的REST端点读写内容。WordPress保持不动;认证和能力检查才是需要关注的部分。
编辑器会被列在管理员界面,通过你自己注册的路由保存,使用nonce和能力检查。内容会留在WordPress,你的用户也是如此。
服务位于编辑器和WordPress之间,拥有双向的映射。工作量最大,也是唯一能存活的路径,拥有多个内容源。
同样的拆分,但更进一步:WordPress停止渲染网站,成为纯粹的内容后端,而编辑器和前端都是你的。
编辑与分发
WordPress
保持内容后端
GrapesJS
变成了编辑体验
你的前端
渲染结果
值得明确的是成本:一旦WordPress停止渲染网站,依赖主题的插件就不再影响网站,预览需要在前端重新构建,任何用来在PHP渲染的区块现在都得在别处渲染。
这就是大多数迁移计划背后的问题:我们已有的区块能跟随我们一起走吗?比较这两种形状比任何段落都更快给出答案。
Gutenberg
一个块声明它所存储的数据和两个函数:一个渲染编辑界面,一个生成保存内容。
GrapesJS
组件类型声明其行为、作者可编辑的字段、样式以及包含的子组件——这些子组件也是组件。
这是一个关于“重建”真正含义的小示例。这两个片段都不是从另一个生成的。
// A Gutenberg block, as authored in a
// WordPress plugin.
registerBlockType( 'acme/hero', {
attributes: {
title: { type: 'string' },
description: { type: 'string' },
},
supports: { align: [ 'wide', 'full' ] },
edit: ( props ) => <HeroEdit { ...props } />,
save: ( props ) => <HeroSave { ...props } />,
} );// The same idea in GrapesJS: a component
// type, plus a block that inserts it.
editor.Components.addType('hero', {
model: {
defaults: {
traits: ['title', 'description'],
attributes: { class: 'hero' },
components: [
{ type: 'text', tagName: 'h1' },
{ type: 'text', tagName: 'p' },
],
},
},
});
editor.BlockManager.add('hero', {
label: 'Hero',
category: 'Sections',
content: { type: 'hero' },
});两者对作者做的事情都是一样的——在带有两个可编辑字段的页面上放置一个标题为hero的部分。代码几乎没有共同点,这正是关键:这是一个架构转换,而将其估算为数据迁移正是这些项目出错的原因。
是的,但迁移通常是架构转换,而不是简单的导出或导入操作。
没有转换器,也不太可能出现——原因请参见上面两个代码示例。实际上存在的是相当可预测的工作序列。
从 Gutenberg 区块到 GrapesJS 编辑器
在迁移生产 WordPress 安装前,先审查当前的区块架构和渲染流水线。审查不是形式——所有区块都在 PHP 里渲染的站点,和区块只是静态标记的站点,是两个完全不同的项目;不去看一眼,你无法判断自己属于哪一种。
三个形状,按工作顺序递增排列。我们故意不给出持续时间:相同的区块数量,可能是两周,也可能是一个季度,取决于这些区块到底做什么。
内容主要由核心区块构建,布局也很传统。
拥有属于自己的区块库,以及已经定制过一次的编辑体验。
这些区块实际上是PHP,而WordPress的安装是业务的运行材料。
如果你的项目在第三栏,值得先问的问题不是“我们如何迁移?”而是“这部分到底需要换个编辑器?”——答案往往是一个屏幕,而不是整个网站。
你不必自己构建每一个编辑器功能。用插件扩展 GrapesJS 以实现通用功能和集成——就像 WordPress 项目选择插件而不是写插件一样。
表单和上传、媒体与部署集成,以及组件库预设——直接链接,而不是单独设置一个架子。
目录中有两个商品是真正由AI驱动的。它们背后还没有AI分类页面,因此它们被直接链接在这里,而不是被送到空货架上。 grapesjs-gpt-plugin · grapesjs-image-ai-thumbai
本目录中没有WordPress或Gutenberg插件,本页面也不假装有此例外。这里展示的是编辑部分,用于组装自定义编辑器。
目录端对端走行 2026-09-03.
七个具体产品,每个都是负责不同职责的编辑。
在客户订阅的产品内进行视觉编辑,包含您自己的计划、限制和入门流程。
页面构建器即服务为WordPress提供定制编辑体验,WordPress作为其内容后台。
查看架构一个可视化层覆盖在无头后端的内容上,通过API传输。
无头 CMS 编辑器同一个编辑用别人的名字发货——无论是你的,还是你的客户。
白标构建器一个安装在另一个应用程序已有屏幕中的编辑器。
可嵌入页面构建器专注于营销页面的编辑,可用区块受限,发布速度快。
着陆页构建器同一个引擎也指向了电子邮件标记,并附带了相应的约束。
邮件构建器核心与框架无关:它渲染成 DOM 元素,因此集成主要取决于哪个生命周期钩子调用初始化器。
一个编辑器引擎
有一点需要明确说明:GrapesJS 不是原生的 React、Vue 或 Angular 组件编辑器。它在自己的画布中编辑 HTML 和 CSS,框架包装器是你挂载和控制它的方式,而不是画布的渲染方式。如果你需要框架自己的组件在画布内实时渲染,那是不同的需求和工具。
找到与你正在构建的产品相匹配的行。其中五个指向Gutenberg,这不是礼貌——而这正是这些项目应该从这里开始的。
| 你的需求 | 推荐的起点 |
|---|---|
| 原生 WordPress 编辑 | Gutenberg |
| 博客与内容编辑 | Gutenberg |
| WordPress首创的网站 | Gutenberg |
| 一个现有的Gutenberg重度项目 | Gutenberg — 评估迁移 |
| 自定义可视化编辑器 | GrapesJS |
| 一款专注于HTML和CSS的页面构建器 | GrapesJS |
| 一个以服务形式出售的页面构建器 | GrapesJS |
| 可嵌入编辑器 | GrapesJS |
| 以你自己的品牌编辑 | GrapesJS |
| 一个无头后端的可视化编辑器 | GrapesJS |
| 定制编辑体验 | GrapesJS |
你到底在构建什么?
一个WordPress网站,WordPress就是整个应用
Gutenberg
编辑界面已经安装好、集成且熟悉。添加第二个会增加维护的额外内容。
一份每天都有写作者在WordPress工作的出版物
Gutenberg
修订、调度、角色和媒体库是这里最关键的功能,而且都集中在WordPress端。
WordPress作为内容后端,但你自己有编辑体验
WordPress + GrapesJS
这就是上面的混合架构。保留CMS,只替换编辑层,预算用于中间的集成。
这是你自己的应用,编辑器是你发布的功能
GrapesJS
这张图中没有WordPress可供构建,编辑器框架正是你想要的依赖形态。
客户使用的编辑器,无论是在你的品牌还是他们的品牌下
GrapesJS
品牌建设、租赁和受限编辑都是你在框架中控制并继承于CMS的。
没有万能的赢家。选择与你产品相匹配的编辑器架构。
大多数团队会做出这种比较,介于“Gutenberg还行”和“我们正在打造产品”之间。这里有三个立场,而不是两个。
选择这个原生的WordPress编辑已经足够了,你感受到的摩擦其实是主题或插件的问题,而不是编辑器本身的问题。
这是最便宜的选择,远远超过类似页面的正确选择。本网站没有任何理由将一个正常运行的WordPress网站从其独立编辑器中移除。
选择这个你需要额外的区块、额外的控制,或者更紧凑的编辑界面——但WordPress的编辑模型本身非常适合你。
Gutenberg 确实是可扩展的。自定义区块、区块模式、block supports、过滤器和 slot fills 覆盖了人们说编辑器不按他们想要的功能所说的很大一部分。
选择这个你需要一个独立或更可定制的视觉编辑体验——通常是因为编辑器是你销售产品的一部分。
添加而非替换:WordPress 可以保持原位,拥有内容和用户,而第二个编辑面则满足它本不该设计的用途。
GJS.Market 在 GrapesJS 上构建编辑器,包括那些与 WordPress 安装并排的编辑器。如果你看到这里,认为混合架构正是你需要的,这部分我们可以帮忙。
在告诉我们有多少个区块之前,先告诉我们你的区块是做什么的。任何范围分析讨论的第一个问题是它们是否能在PHP中渲染。
当原生的WordPress编辑体验正是你的项目所需时,选择Gutenberg。当你需要围绕自己的产品、工作流程和架构构建可视化编辑器时,选择GrapesJS。
先运行编辑器,然后告诉我们你在做什么。简报需要几分钟。
试用 GrapesJS现成区块、内联编辑器、存储后端和CSS框架包,全部用在同一个引擎。
探索插件架构、WordPress集成和Gutenberg迁移,还有做过这些的。
咨询专家Gutenberg 是 WordPress 原生的编辑体验。GrapesJS 是一个构建你自己视觉编辑体验的框架。选择形状与你产品相符的,另一个则继续留在它本来就好用的地方。