我似乎从来都没有说过这方面的理论,只说过一些局部功能的设计原因和魔改。在网上大多也都是组件的魔改。这篇文章我想写一个纯理论的文章,以我现在的博客为例子,引申出博客的设计思考。

相信通过这篇文章,能够给想要修改自己博客的小伙伴一些方向性的建议,而不是盲目使用网上的组件,看见一个好就直接扒下来。

这篇文章也只是阐述我的理解,可能有个人的主观偏好。

做博客是为了什么?

这个是每个人一开始搭建博客的原因,而且会随着时间慢慢去改变。说起我最初想要将自己遇到的问题都写在博客里,这样下次自己再次遇到的时候,不会因为相隔的时间过长而找不到。

所以我们可以看到,我的最初目标就是「通过搜索关键词来快速找到曾经写过的文章,方便找到解决方案」

所以我的博客首先最重要的就是优化搜索。

曾经在butterfly版本比较低的时候,因为文章比较多,加载本地搜索索引耗费的时间非常长,所以当时首先采用algolia。两年前我记得当时还没几个人在用这个,但是我知道我需要这个,所以即使配置比较麻烦,还是首先选择了algolia。

这就是设计目标,你的每一个功能,都需要有需求来支撑

你没必要为了并不需要的功能花费时间,而是需要将最重要的时间放在优先级最高的事情上。

通过这个问题我们知道了,是先有需求,再有功能。功能不应领先需求,这只会浪费开发资源,浪费你的时间。

当你的需求在现在的条件下已经被满足,那么就不必去改善博客,而是去寻找灵感,去写博客的文章。分享你所期望分享的那些内容。我们要知道,文章才是博客的基石,没有文章的博客不仅没有别人进来的入口,还会敞开出口的大门

你期望人们从哪里来?

我最初的目标就是人们从搜索引擎中搜索而来。像我在搜索我自己博客那样,别人通过搜索引擎来访问你的博客。

所以我一开始就知道需要重点优化搜索。

很多人做博客可能最初就没打算让更多人看到,所以建了QQ群,有新文章在群里朋友圈里发一下,朋友之间分享交流。

所以不同的受众群体有着不同的设计方向。针对搜索引擎优化的我首先需要的是让别人能够搜到自己。首先就是注册各个搜索引擎的站长平台,然后针对性的优化页面符合SEO要求,最重要的就是「起一个好标题」

虽然我的搜索优化还不是很好,因为也没有刻意学过,都是自己去误打误撞出来的,我这里总结一下我自认为的优化搜索的条件。

  • 有一个好的域名,com或者cn,尽可能短一些,这不仅可以缩短你的链接长度,还可以增强记忆的可能性。如果你的业务比较多的时候,你可能需要手打相当多次数的域名。就像老师罚你抄写名字100遍的时候一样,短的域名可以帮你节省时间。

  • 域名备案。只要你是在中国提供服务,那么就要备案。没有备案寸步难行。

  • 搭建在国内服务器。如果针对的对象是中国用户,那么可能对于百度的搜索需求会更高一些,如果搭建在国内服务器上,要远比你搭建在vercel和githubpage上更容易抓取。(实测)

  • 稳定的服务。搜索引擎都需要你的网页足够稳定,因为搜索引擎需要考虑到,用户每次点击链接都进入一个404或者503,那么用户这次点击就是个糟糕的体验,搜索引擎会不断的抓取,会监测你网站的运行情况。这也是大多数个人博客搜索优化做的不好的原因,服务要么是在国外要么是搭建的奇怪服务上(例如公网+nas)(甚至有人用1m的内网穿透搭建站点),导致不稳定,会大大降低排序顺序。

  • 足够快的加载时间。现在人们的耐心已经被网络时代消磨光了,如果你的服务加载时间过长,那么几乎没有人愿意耐心等下去。我一般搜索一个结果都是同时打开一堆网站,哪个加载快看哪个。这也是为什么我的友链按照访问速度单独开辟了一个板块。

  • 起一个好标题。你的标题要尽可能考虑「用户搜索什么内容来看我的文章」?相比公众号等社交平台的起名还真有不同。公众号等社交平台的目的是为了「用户看见这个标题就有点击的欲望」,而针对搜索引擎的标题逻辑是「让用户更有可能按照我的标题来搜索」。因为搜索权重是:越接近搜索内容的网页排名越高,网站有顺序权重,关键词的权重更大。普通小博客没有办法跟大站抗衡,所以尽可能靠好的标题来覆盖更多用户搜索内容达成高排名的收录才是最行之有效的方案。

我们可以看个例子:

《Python学习笔记2》

现在写博客的程序员比较多,这种标题可真的太常见了,你真的能见到大量这种标题,非常之离谱。

让我们按照刚才提到的起标题的方法来分析一下这个标题。

首先我们通过内容来判断,什么用户会搜索Python学习笔记。答案是几乎没有。因为想要学Python的人通常只会去搜索Python教程

然后再通过网站判断,因为我们是个人博客,Python学习笔记这个已经被大量文章用烂了,我们即使起这个标题,别人搜这个文章标题也搜索不到,因为网站权重比较低,争不过那些大网站。

最后得出结论:GG

更舒心的用户体验

我们已经规划好了功能、让用户进来看文章,那么我们最后一步就是让用户快速、清晰地看见所需要的正确的内容。

前面的定语比较多,我们一个一个来说。

快速地

我们需要让网页快速加载,这是从性能上的快速。这就涉及到了我们的引用的js不要太多太杂,第三方服务尽可能defer、async。重要资源尽可能preconnect,尽可能不使用第三方中文字体文件(可以纯英文字体)。

我们需要让用户快速看见内容,这是从交互上的快速。让用户在第一屏看见内容,甚至在第一屏获得答案。

如果你期望提升用户浏览时长,可以在交互上拖延时间,但不要在性能上打折扣。

清晰地

让用户能够看见你的内容,能够看清你的内容。

你需要保证你的文字和背景的对比度足够高,对于有轻微视觉障碍的人也可以足够友好。过于复杂的背景,特别是在文字下过于复杂的背景会严重降低用户的阅读体验,影响阅读速度。

如果你的背景足够好看,那么更加危险,用户会被你的背景吸引,导致无法专注于你的内容。

如果你拥有大量动态效果,人眼捕捉动态物体的本能让用户更容易脱离内容,被引导造成分心。

所以让用户能够清晰地阅读非常重要。

所需要的

有些人为了seo刻意造成标题与内容不相符,导致用户很难看到或者根本看不到所需要的内容。

搜索引擎会对用户的行为进行分析,当用户访问你的网站没有得到问题的答案进而访问其他网站寻求办法,或者访问你的网站过短都可能会影响你的权重,并且用户流失也会非常严重。

标题和内容符合是非常重要的。

正确的

错误的内容对于期望获得问题答案的用户来说是致命的。

用户在搜索引擎上搜索到博客大多是为了满足需求或者解决问题,当你无法输出正确的内容,对于着急寻求解决问题的用户来说,他们没时间去判断真伪,错误的内容只会挨骂。

我见过很多一开始贴上错误代码的教程,后面又补一句前面代码是错误的这种教程。还有那种开玩笑的,都被我统统拉黑了。

(顺便说的是,你如果想要使用我的黑名单,可以访问项目谷歌中文搜索优化

总结

也算是博客建立九百多天的一些小心得,如果对你的博客建设提供了方向,不妨持续关注我的博客/公众号,我会经常分享一些互联网干货和教程。

公众号