早在多年前,2019 年,我停止维护自己开发的 WordPress 缓存插件 Super Static Cache 时,就曾经说过,接下来我的博客 hitoy.org 也会迁移到 Domai CMS。
这些年一直在企业里负责公司的工作,工作本身就占据了大部分时间,这个事情只能一拖再拖。直到今年终于有了还算充裕的时间,加上前一段在视频号里说到了 Domai CMS 的一些功能,所以我想着尽快把博客做一个改版和彻底升级,也当是做一个Domai CMS系统的展示。顺便提一句,Domai CMS的官方网站,也是随便一做,无论是板式、功能还是内容都过期很多年了,也急需升级。
改版前的规划
和企业网站不同,博客的主要目标是个人表达、内容沉淀以及个人品牌展示。它不需要像企业官网一样,围绕产品、服务、销售线索和商业转化去设计整个网站。
在开始改版之前,我先给这次改版定下了几个基调:
- 内容优先: 网站的一切逻辑都围绕内容展开,从页面设计到用户访问,最终都是为了更好地呈现内容。
- 个人品牌: 通过持续输出文章,传达自己的思想、观点和经验,让更多人了解自己。
- 轻量高效: 尽可能减少不必要的代码和依赖,让网站更快,同时提供更好的访问体验。
- 方便维护: 内容输出和日常维护不应该依赖修改底层代码,让写代码归写代码,写文章归写文章。
- 营销友好: 让内容更容易被搜索引擎和 AI 理解、收录和引用,让更多人能够发现这些内容。
- 长期使用: 不追求一时的新鲜感,而是把架构和基础做好,让网站能够长期稳定地使用。
功能设计
我自己是做营销的,所以我希望这个博客能有一些亮眼的特色,在功能上我做了不少考虑。
结构化数据
企业网站一般最终宣传的是 Organization,而 hitoy.org 是一个个人博客,它最终宣传的是 Person。因此,这次改版把下面说的“博主”作为网站结构中的核心实体,通过结构化数据明确告诉 AI 和搜索引擎:这个博客是在介绍和传播一个人的思想、观点和经验。

在此基础上,不同类型的页面再使用对应的结构化数据,例如文章使用 BlogPosting,栏目,标签使用 CollectionPage,搜索页面使用 SearchResultsPage 等,让整个网站的内容结构更加清晰。
“关于我”的实现
企业网站的宣传主体通常是 Organization,因此会有“关于我们”;而 hitoy.org 的宣传主体是 Person,所以需要的是“关于我”。很多 CMS 通常通过单页(Page),或者单独创建一个栏目(Category)来实现“关于我”;对于以 Person 为宣传主体的网站,使用作者页(Author)也是一种方式。
但我觉得这些方式都不够优雅,我希望“关于我”成为整个网站最特别的一个页面。同时,我也希望 hitoy.org 不只是服务于我自己的内容,还能够支持多人协作和投稿。
最终,我决定通过作者页(Author)来实现“关于我”,但在网站中增加一个“博主”的概念。通过 Domai CMS 提供的接口,可以在后台将任意一个作者设置为博主,并将其 URL 配置为 https://www.hitoy.org/about ,而其他作者则继续使用 /author/XXX。

同时,博主和普通作者虽然都属于 Author,但展示内容并不完全相同。普通作者主要展示基本个人信息以及所发布的文章,而博主作为整个网站的宣传主体,可以在后台配置更加丰富的个人信息,因此我专门为博主增加了更多配置选项。

这样既保留了 Author 本身的统一数据结构,又让“关于我”拥有独立的 URL、模板和内容体系,同时也为未来的多人协作和投稿留下了空间。(顺便打个广告:本站的投稿作者也会拥有独立的 Profile 页面,可以展示自己的个人品牌。网站权重高,收录快,如果你有兴趣在 hitoy.org 投稿,欢迎联系我。)
搜索功能
企业网站的内容通常比较多,而且不同栏目之间的内容结构差异也比较大,因此搜索功能往往需要提供更丰富的能力,导航栏中可能会放置搜索框,甚至允许用户选择具体的栏目。
但博客的内容模型相对简单,文章基本都使用相同的数据结构和字段,因此没有必要采用企业级的搜索方式。所以在搜索入口上,我采用了一个更简单的设计:导航栏中的放大镜本身就是一个搜索链接,而不是展开搜索框。
我在后台增加了默认搜索词配置,可以预设几个常用的搜索词。网站会随机选取其中一个作为当前搜索词,访客点击导航栏的放大镜后,直接进入对应的搜索结果页。

同时,导航栏中的菜单也支持后台配置,只需要填写对应的栏目 ID,即可将栏目添加到导航中,后续调整导航时也不需要修改代码。
需要补充的是,长期运营网站后通常会发现,搜索功能很容易被发外链的人恶意利用。查看网站日志时,经常能看到有人搜索网址或与网站内容完全无关的关键词,试图利用搜索结果页面留下垃圾外链。
因此,这次开发的主题也针对这类情况增加了一些初步的安全措施。
UGC评论功能
我希望这个博客不只是单向地输出内容,也能够和读者产生互动,因此评论功能是必须保留的。这次迁移时,原网站中一些有意义的评论也一并迁移了过来,让过去的讨论继续保留下来。
同时,我也重新设计了评论的交互逻辑。以前采用的是无限嵌套回复,评论层级一多,阅读和回复都会变得很不友好。这次改成了类似知乎的方式:评论保持在同一层级,回复直接关联具体的评论,而不再不断向下嵌套。

这样既保留了评论之间的回复关系,又避免了评论区越聊越深,整体阅读体验也更加清晰。其他文章中提到的安全问题,这里也做了使用,目前几乎没有垃圾评论。
内容导航
文章内容本身是有结构的,因此没有必要再额外维护一份目录。在网站中,只要文章按照正常的标题层级使用 H2、H3 等标题,系统就会自动生成文章目录(TOC),并根据标题自动建立对应的锚点。

这样写文章时不需要额外维护,文章结构本身就是导航,既减少了内容维护工作,也让读者能够更方便地浏览和定位内容。
访问数据与访问态势
我以前写过不少关于网站建设的文章,其中经常提到一个观点:网站不应该只是单向地展示内容,也应该和访问者产生一定的交互,同时记录真实的用户行为数据。既然自己一直这么说,这次改版当然也应该真正做到。

因此,前台增加了访问、点赞和评论等数据的记录,后台则增加了“访问态势”功能,将这些数据进行汇总和可视化,让我能够直观看到网站的访问情况和内容表现。
平台生态接入
另一个比较重要的功能是平台接入。

我希望自己的博客不仅能够在网站内部正常运行,也能够更友好地进入微信等平台的生态中。例如文章分享时,可以通过后台配置接入微信公众号 API,让文章在微信中分享时获得更好的展示效果(公众号需要认证才支持,一年300人民币)。

这类功能对个人博客来说可能只是提升分享体验,但对于企业网站来说,价值会更大。网站可以进一步与企业已有的公众号、内容平台以及其他业务系统连接起来,把网站从一个单独的内容展示平台,变成企业整个线上业务体系的一部分。
网站内容还可以接入各种小程序,APP等。
移动端适配
最初的规划是采用双端网站的方式,www.hitoy.org 和 m.hitoy.org 分别对应 PC 端和移动端,两个站点的页面和内容一一对应,作为我之前宣传的多端网站的展示。

不过这次改版时间确实有限,加上博客本身的页面和样式并不复杂,所以移动端独立站点计划放到未来实现。目前采用的是响应式设计,通过动态调用媒体查询来适配不同尺寸的设备。
Domai CMS 本身已经支持双端模式,实现起来并不复杂,只需要为移动端编写对应的模板即可。PC 和移动端使用相同的模板标签,内容可以保持一致,同时也支持两个站点之间的相互链接。
网站也不止移动端和PC段,可以动态扩展,只需要在主题functions.php里使用register_view函数注册一个视图就可以,非常方便。
精简消耗,不精简功能
没有代码洁癖,但对于一个长期运行的网站,前期适当增加投入,减少不必要的代码、请求和依赖,能够带来更好的浏览体验,也让后续维护、升级和功能迭代更加简单。

因此,这次改版没有为了精简而减少功能,而是尽可能优化功能的实现方式。CSS 按页面由后端生成并内嵌,JavaScript 全部自主实现并模块化加载,图标也全部自行实现。整个系统,除二维码生成库外不依赖第三方库,并采用按需加载。
功能小结
上面列举了几个比较有代表性的功能,还有很多细节就不一一展开了,比如深色模式、图片动态裁剪等。基本上,我之前文章里讨论过的网站建设理念,这些年一直都在企业项目中实践,只是很多项目并不适合公开展示。这次正好借着改版,把这些实践集中应用到自己的博客上,也让大家能够看到它们真正落地后的样子。多端展示则作为后续任务暂时保留。
说易行难。现在这个时代,知道一个网站应该怎么做其实并不难,难的是把这些看似简单的想法真正落实到代码、产品和日常运营中,并让它长期坚持下去。
制作与上线
功能规划完成之后,就进入真正的制作阶段。
这次改版前后算下来,实际上前前后后也花了一个多月的时间,期间有几次甚至直接通宵,很多事情看起来并不复杂,但真正做起来,从模板、CSS、JavaScript,到后台功能、数据处理、服务器配置,再到各种细节调整,工作量还是相当不少。
网站本身完成之后,还有一个问题需要考虑:服务器放在哪里?
hitoy.org 本身是已经完成备案的网站,理论上可以继续使用国内服务器。但考虑到这个网站未来主要希望触达的读者,很多与外贸、海外市场和数字营销有关,同时我也希望借这个网站完整展示自己在服务器、CDN、网络和网站基础设施方面的能力,因此暂时将网站部署在了境外服务器上,后续如果大家访问 hitoy.org 时遇到速度比较慢,或者出现无法正常访问的情况,也欢迎告诉我,我也可以根据实际访问情况作出调整。
服务器确定之后,再配合CDN、缓存等,把整个访问链路重新搭建起来。对于一个访问量并不算大的个人博客来说,这套配置显然有些“超前”,但这本身也是我做这个网站的意义之一:它不仅是一个博客,也是一个可以长期运行、持续验证各种网站技术和营销思路的实际项目。
整个过程做完以后,我自己也有一个很有意思的问题,这么一个网站,如果不是自己做,而是按照正常的网站开发项目来计算,它会花费我多少钱?
从功能数量、开发时间、前后端代码,到服务器架构、SEO、数据追踪以及后续维护,真正把这些东西完整做下来,其实投入的时间和精力并不少。
但如果问我自己,这个网站值多少钱,我反而觉得更高价值的是这15年积累下来的思考。从最早开始写博客,到后来做开发、做网站、做 SEO,再到这些年在企业里不断接触数字营销,我在不同时期留下了大量真实的思考和实践。它们不一定永远正确,甚至有些观点今天看来已经改变,但它们共同记录了一个人的认知是怎样一点点形成、变化和沉淀下来的。
网站可以重做,系统可以重构,技术也可以不断更新,但这些年的经历和回忆无法复制。所以这次改版,对我来说并不只是把一个旧网站换成了新的 CMS,更像是把过去 15 年留下来的东西重新整理了一遍,并继续把它带到下一个阶段。
这可能才是这个网站对我而言,真正值得的地方。
评论0
欢迎分享你的看法,也欢迎补充不同的实践经验。