Headless CMS 将会是未来的内容管理方式

在上回写完了关于 GraphQL 的文章之后,我逐渐深入到了一个之前听过名字,但是一直没有怎么去了解和深入的领域

就是 Headless CMS

Headless CMS 也是一种内容管理系统,它就跟 WordPress, Drupal 等等的内容管理系统差不多

那既然是差不多,那到底差在哪

它是 Headless,即 无头,什么意思?

没有前台,只有后端,可能也有后端和后台

Headless CMS 的好处还是挺多的,对于开发者来说,后端和前端的开发工作可以完全分来

而对于编辑者来说,可以使用独立于 Headless CMS 的管理后台,因为大多数 Headless CMS 都暴露有 Create / Update 和 Delete 功能的 API

就拿 WordPress 来稍微对比一下 Headless CMS 好了

WordPress 基于 PHP 开发,因此如果内部没有懂 PHP 的人,公司可能需要另外招揽人力,或者开发小组自行研究

但是 Headless CMS 可以自行选择前端的开发技术,无论是 Web 还是 App

而且 Headless CMS 通常也有很好用的 SaaS 服务提供,例如 GraphCMS, Contentful…

一般来说,如果采用 WordPress 提供的托管服务,除了付费以外,你无法修改自定义的主题和安装插件

但是 Headless CMS 即使用的是 SaaS 的免费服务,它也只能管理后端部分,前端还是由你自由控制的

缺点就在于 Headless CMS 通常需要一些比较懂的人参与开发,而 WordPress 就是写完就直接可以上线

哦等等!WordPress 是动态网站程序,那 Headless CMS 到底算…

其实动态静态通吃,但是为了将我们的 Headless CMS 为首的 JAMStack 发挥到极致,我们推荐采用静态网站生成器 (Static Site Generator / SSG)

你想想,WordPress 作为动态网站,并且是前后端粘合在一起的项目,虽然具有便利性,也让很多初始建站的开发者们快速搭建了网站

但是久而久之你会开始发现,你的网站有可能会经历各种各样的攻击,或者 WordPress 自身对于 SEO 并不好,还需要另外折腾

但是 SSG 就不同了,当你在 Headless CMS 修改了内容之后,通过 WebHook 让 CI 启动;SSG 可以获取 API 返回的信息并且生成出新的页面推送到托管服务和 CDN 上

静态网页有效阻止了各种爆后台和服务器的攻击,以及你可以通过强而有力的 CDN 和 DDoS 防护服务来提高网站的安全性与速度而无需担心要在 WordPress 上设置

而且 SSG 直接生成出来的网页有利于 SEO,这好处太多了

这也是我下一代博客的主要实现架构,事实上,当你们看到这篇文章的时候,我已经在使用 Gatsby + Headless CMS 的技术栈着手开发一个新的 Blog 了 XD

到时候我会更新一些心得在这里和新的博客上,敬请期待 XD