开发

什么才是规矩的博客

从代码角度看,什么才是一个“好”博客?

优秀的独立博客应注重代码规范,如正确的RSS输出、完整的Open Graph信息、提供sitemap等,使服务友好且符合优化需求。同时,对访客友好也很重要,包括做好域名重定向、不添加干扰阅读的动效、适配移动端等。对于非技术人员,建议使用通用博客程序和无服务托管,避免运维问题。内容仍是博客质量的核心标准,但规范代码结构可提升用户体验。

  1. #博客

1007

一双手在木桌上写字,旁边有一杯咖啡和一个羊角面包。一双手在木桌上写字,旁边有一杯咖啡和一个羊角面包。

运营积薪大半年了,处理了数百个博客申请,因此也看了太多独立博客。并且由于我的角色让我不仅关注博客表面上的效果,还得看背后的实现。

我这才发现,原来有那么多人的博客是不规矩的。

不规矩这个说法好像容易引起歧义,那我就首先讲讲什么是我眼里的规矩的博客。

拿设计来举例,假设有两个设计稿。它们的导出结果完全一致,但设计稿源文件则大不相同:一个图层结构清晰,命名有逻辑;一个图层乱放无层次,命名全是自动的frame 149之类。虽然看起来都一样,但我更喜欢结构清晰的。

为什么我会看重代码层面的规矩呢?

因为积薪需要抓取博客的数据,并存储为结构化的数据。如果代码不规矩就容易出错。

而一般人们说起优秀博客的标准,往往是从内容、界面等方面评价,很少有代码层面的标准。今天我就以一个博客收录站开发者的角度,谈一下什么样的博客是在代码上“规矩”的。

服务器友好

博客最重要的就是RSS输出的正确。意思是格式正确,能被代码正确解析。一个最简单的办法就是用浏览器打开,如果能看到这句:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

大概率格式就没问题。如果你看到的是被当成纯文本平铺的一大坨代码,那就不太正确。

RSS内容完整也是一个标准。标题、链接这些是最基础的,基本上没有哪个博客会缺这两个字段。重灾区是Description。

Description的作用是作为文章的概括,也就是说不适宜太长。现实中我遇到的大多数博客,在这个字段上很不上心,要么是截取,要么甚至就是全文。我的习惯是把文章副标题当作description输出。

封面图也是很多博客的RSS里不具备的,不过他们好像文章本身就没有封面图。但我有每篇文章都配封面的习惯,最起码浏览体验会好一点。

Open Graph信息齐备。如果你在社交平台分享一个链接,该平台很可能会将链接显示成图片+标题+描述的一个卡片。这里用到的技术就是Open Graph,将封面图、标题、描述以及其他信息写入页面的<head>,在分享的时候可以提供抓取信息。

俯视图展示了一座位于阿坝县的寺庙,寺庙和周围建筑在干燥的山地中密集排列。用户分享了这张照片并提到有人认出了他之前拍摄的这座寺庙。俯视图展示了一座位于阿坝县的寺庙,寺庙和周围建筑在干燥的山地中密集排列。用户分享了这张照片并提到有人认出了他之前拍摄的这座寺庙。
Twitter会自动抓取设置在Open Graph里的标题和封面图

现实中我遇到设置了Open Graph甚至为每篇文章设置不同的图,我都会在心里赞叹一番。

提供sitemap。这条跟我没关系,跟SEO有点关系。提供了sitemap会让搜索引擎更快收录你的页面。谷歌对独立博客的权重还挺高的,SEO的确需要注意。

<head>信息完整。很多博客虽然提供了RSS,但是没有把链接放在网站的<head>里,不像这样:

这是一个HTML文件的代码截图,展示了网页的头部(head)部分,包含了元数据、链接到样式表和一些脚本文件的引用。

这是一个HTML文件的代码截图,展示了网页的头部(head)部分,包含了元数据、链接到样式表和一些脚本文件的引用。

为什么把有些博客网址直接添加进RSS阅读器,就能自动找出RSS链接?就是这个方式。

<head>里写好RSS、sitemap、open graph、谷歌搜索结构化信息、标准URL等信息有助于其他程序在自动化处理上更加方便。

不输出无关RSS条目。有些博客是自己开发的,在输出RSS的时候没有注意排除不想干内容,然后把About、友链之类的条目也输出了。建议RSS只输出正式的内容。

https配置正确。这个主要出现在自己部署服务器的博主。有时会遇到证书过期,或者配置不正确的情况。

以上是从服务器抓取的角度,下面是访客的角度。

访客友好

换域名做好重定向。虽然我不喜欢别人博客换域名,但考虑到今年我也要换一次域名,就不说了。换域名可以,一定要做好重定向,一定要有过渡期。

不加只有自己觉得炫的动效。这一点似乎主要发生在学生博主上。当然,特效也是作者的一种表达,我理解。但是从设计的角度讲,还是不要默认播放音频,不要有太多影响阅读本身的动效。

适配移动端。如果用的是现成成熟框架,用的是专业开发的主题,这一点应该不会有什么问题。对于自己开发的博客,还是应该多在移动端测测。

不会动不动发文章就删。我希望你发文就算没有深思熟虑,也是经过考虑的。发布后短期内就不要删了,也不要改slug。

网站响应迅速。显然,没人喜欢半天打不开的网站。

一些建议

以上标准的优化,对于不懂web开发的人来说的确有点难。一般来说,使用通用的博客程序和主题,大部分工作往往都处理好了。只有那些自己开发前端——比如本站——才需要手动处理。

对于那些技术小白,我还是建议不要去折腾服务器。现在无服务托管已经很成熟,CloudflareVercelRailwayzeabur有很多产品让你不需要关注服务器运维就能有自己的网站。

我作为一个伪全栈,平时最怕的就是运维。目前除了今年会重构的本站,其他所有项目都已迁移到无服务器部署模式上来。

如果你没有技术背景,最好还是不要折腾服务器了,半吊子运维水平是很多网站出bug的根源。

博客规矩≠好博客

虽然说了这么多标准,但我必须再次强调:博客规矩不等于是一个好博客。好博客的核心标准有且只有一个:内容好。

并不是每个人都想或能够创作严肃的有价值的内容,很多人只是想分享心情。那我只希望更多人的博客在代码上能更规矩,方便程序的处理。

不想显示昵称的人

2024年8月14日周三 15:35

这篇文章写的太好了!