Headless CMS到该入手的时候了吗?
数字营销圈时不时就会蹦出来一些新名词。在今年早些时候极诣介绍DXP时引入一个概念叫做Headless CMS(无头内容管理系统)。Headless CMS显然是面向未来的下一代内容管理系统。那么现阶段品牌需要考虑采购部署Headless CMS吗?
什么是Headless CMS?
Headless CMS无头内容管理系统或无头CMS是一个仅后端的内容管理系统,主要用作内容存储库。 无头CMS 可以通过API 访问内容,以便在没有内置前端或表示层的任何设备上显示。
什么头不头的,听上去很玄妙?Headless CMS的Headless和Headless Browser的Headless是一样的。它们都表示没有前端可以展现出来的那层展示层。你可以理解为不需要接显示器就可以在后端默默地工作,对Headless CMS来说,它的工作就是存储、管理、分发内容。
Headless CMS和传统CMS的区别
下图比较了传统CMS和Headless CMS。
传统的CMS已经包含了数据库,后端代码和插件,前端模板和CSS样式。它完成了一条龙服务,最后输出一个网站,这个网站可以被多个设备的浏览器访问。
在Web上,这样的CMS已经非常完美。但是问题来了,互联网除了Web形态还有别的形态。比如那些可穿戴设备、IoT设备、甚至一些原生或者非原生的APP和小程序。这时候要把一个连展现样式都定义得完完全全清清楚楚真真切切的网页硬塞到这些设备上就非常没有必要了。
HTML5和CSS3的分离本来就是把内容本身和样式进行分离,顺着这样的思路我们可以把内容本身剥离出来,让终端设备环境自己去定义需要如何呈现这些内容。于是Headless CMS就把传统的CMS从展示层解放出来,它只需要做好内容管理即可。
在你身边的Headless CMS
如果你去研究Headless CMS,很多媒体会告诉你WordPress这样的经典CMS是在Headless CMS对立面的传统CMS。实际上,WordPress发展至今早就适应了多种CMS应用环境。现版本的WordPress已经是一个具有不错实用性和拓展性的Headless CMS。
举个例子,你可以在浏览器中敲入下面这个链接:
https://maxket.com/wp-json/wp/v2/posts?_fields=author,id,excerpt.rendered,title,link&search=headless
你将能够看到下面这个结果:
马老师用了JSON Viewer的Chrome拓展。因此可能会比你看到的干净一些。我们看到经过调用,WP返回了几篇带有关键字headless的文章,并返回了文章的id,作者,标题,摘要和链接。
你可以验证一下,返回的结果与https://maxket.com/?s=headless是一致的。不同的是,REST API并没有返回多余的表示层内容去决定这些结果该如何展示。
顺便提一句,这些API的调用都可以在WordPress的开发者官网找到参考。https://developer.wordpress.org/rest-api/
REST API和Headless CMS
我们再补一下概念。API是一种应用程序编程接口。而REST,代表“REpresentational State Transfer”,是一组概念,用于将应用程序的数据建模和访问为相互关联的对象和集合。WordPress REST API提供代表文章、页面、分类和其他内置WordPress数据类型的 REST 端点,也叫Endpoint (URL)。你的应用程序可以向这些端点发送和接收JSON数据,以在你的站点上查询、修改和创建内容。
JSON是一种开放的标准数据格式,它是轻量级和人类可读的,看起来就像 JavaScript 中的对象。 当你从API请求内容或向API发送内容时,响应也将以JSON格式返回。由于JSON在许多编程语言中得到广泛支持,因此开发人员可以在客户端 JavaScript(如块编辑器)、移动应用程序、桌面或命令行工具中构建 WordPress 应用程序。
有了返回的JSON我们就可以通过小程序、APP这些非标准浏览器来获取内容了。具体怎么呈现?Headless CMS无需关心。通常来说APP视图的样式都是提前确定的,这样只需要把通过REST API抓到内容填入“空格”中去即可。
该上Headless CMS了吗?
如果你原本用的就是一些主流的CMS,那么有很大可能你只需要添加一些插件即可将CMS同时用作一个Headless CMS为其他终端分发内容。就好像马老师上面演示的WordPress平台一样。这种混合模式有一定优势。
对于营销者来说,无头CMS的一大好处便是将内容集中管理。这里的内容还包括了电商的管理。例如,如果你同时经营了几个网店,小程序店,官网商城,APP等。你只要维护一个Headless CMS就可以更新所有商店的上架商品、图片素材、仓储库存。这会为你提供许多便利。
无头CMS的应用的另一优点是提升用户体验。因为无头CMS真正将内容本身和表现形式分离,这样内容的表现形式就可以最大程度地被缓存或者预先读取,需要完成的工作仅仅是轻量级的将内容填入。这样的浏览体验便能够得到大幅提升。不过对于网站来说这种分布获取的客户端渲染模式并不对搜索引擎友好,就如一些流行的JS框架。要知道,即便是Google也不能保证耗费资源来渲染你的每个网页。因此马老师仅仅推荐在Web端以外使用。
综上所述,如果你致力于多渠道的内容分发,给每个终端的用户最佳的浏览体验,那么一个Headless CMS必定是你要投资的下一个MarTech项目。
但如果你只是想了解Headless CMS能够为你做些什么,或者还未对Web以外的内容分发渠道开始投资,那么Headless CMS的确可以再等等。
关于WordPress的REST API以及Headless CMS,你也可以参考这篇教程进一步探索。