CMS三十年:当内容不再只是“页面”的附属
负责新闻杂志类网站内容的功能叫 CMS,很少有人讨论它,但几乎每个人都在用它的结果。它像一套隐形的排版与发行系统,决定内容如何撰写、组织,又以何种方式抵达读者。三十年来,这套系统几经转向,从机构流程,到个人表达,再到数据与结构的分离。如今,正在变成一种更接近“内容操作系统”的东西。
被管理的年代:内容先进入流程
在互联网的早期,内容首先是被“管理”的。上世纪九十年代,CMS诞生于媒体企业内部,核心不在写作,而在流程:谁可以发、谁来审、何时上线。内容像稿件一样,一层层传递、校对、批准。
这类系统更像编辑部,而不是写作工具。稳定而严密,却也昂贵而笨重。内容在这里被妥善安放,却缺少一种轻松流动的能力。
可以搭建的网站:结构先于内容
2000年以后,开源技术让事情松动了一些。网站开始可以“搭建”:新闻、用户、投票,被拆成模块,页面像积木一样拼出来。这是一种重要的转变——从“开发网站”到“组装网站”。但在这种结构里,内容依然是填充物,系统先行,写作其后。
极度简化的胜利:每个人都有一个发布按钮
真正的转折来自一次反方向的选择:把复杂问题做小。写一篇,点发布——这件事被做到了极致简单,最有代表性的,就是一度占据CMS市场大半江山的 WordPress。
WordPress 的成功,不在于技术多先进,而在于足够克制。主题与插件让网站迅速成形,而“发布”本身变得几乎没有门槛。表达从机构手中回到个人手中。
但简化也带来隐患。当内容不再只是按时间排列的文章,而需要专题、结构与叙事时,这套体系开始吃力:标签堆叠、字段膨胀,像一栋不断加建的老房子,能住,却难改。
WordPress 由此催生了一个庞大的插件市场。有人认为这是生态发达,在我看来,这更像是用户的痛苦指数——如果本身已经足够好用,又何须插件?
内容抽离:从页面到数据
由于展示逻辑的根本不同,传统 CMS 很难同时兼顾桌面与移动端,更不用说 App 以及各种不可预知的场景。内容与样式的绑定,让整个问题近乎无解。
内容必须脱离网页,甚至脱离 App、脱离各种终端而独立。于是,一次“拆解”发生了:内容与页面分开。
以 Strapi 为代表的 Headless CMS,把内容变成数据——被建模、被调用、被分发。Headless 的字面意思是“无头”,用起来也确实如此:系统只管后台,前端不管。结构更清晰,多端更自然。
但与此同时,另一种断裂也出现了。后台越来越像开发工具,前端需要从零构建,编辑体验被让位给系统的灵活性。更何况,软件一旦做大,控制与复杂度往往同步增加,各种匪夷所思的问题层出不穷。
两条路径:少数自研,多数妥协
在这一阶段,分叉变得明显。大型媒体走向自研系统,把工作流、协作与组件化内容整合在一起,更像一台完整的生产设备。
而更多团队仍在通用工具与定制开发之间摇摆:一边是灵活但碎片化,一边是强大却难以承受。问题并未消失,只是换了位置。
再一次合拢:内容开始参与“产品”
新的变化来得更安静一些。以 Next.js 为代表的路线,并不以“CMS”自居,却在重塑 CMS 的边界。数据、结构与呈现,被重新拉回同一体系。
更关键的是,这是一次更彻底的解构。数据结构、内容本身、样式、版面,不再缠绕在一起,而各自独立运作。内容成为结构化资源,样式与版式成为可替换的外层。
这带来两个结果:一是内容更易管理、备份与维护;二是它可以适应不同终端、不同场景,而不再依赖某一个固定页面。
在这样的体系里,CMS 不再只是后台,而逐渐成为产品的一部分:编辑界面更像创作空间,结构直接参与页面生成,内容被“编排”,而不仅是“发布”。
尚未完成的方向:内容脱离形态
回看这三十年,可以看到一种反复的摆动:控制与自由,结构与表达,复杂与简化。
如果说过去的 CMS 解决的是“如何把内容放到页面上”,那么现在的问题变成了:内容是否必须依附页面而存在。
当数据结构、内容、样式与版式彼此分离,内容第一次获得一种真正的独立性。它可以被重组、再利用,也可以在不同媒介中以不同形式出现。
结语
CMS 也许不会再以“系统”的名字存在,更可能成为一种环境——内容生成、组织、呈现的整体空间。技术仍在其中,但不再居中。
真正持续变化的,是内容本身,以及人们表达世界的方式。而这件事,可能比任何框架与工具,都更重要。