正在准备人机验证...
请稍后,正在请求blog-turnstile接口
Featured image of post 给博客加上博客大联盟,把展示权重刷到 113

给博客加上博客大联盟,把展示权重刷到 113

提交、验证、审核、互链,四个步骤踩了三个坑:@ 引用被当成网址、后台填了首页却没往首页放链接、中文路径爬虫抓不到。最后拿到满分 113。

上一篇写到给开源项目提 PR 换外链,一条反链到手之后我尝到甜头了:既然外链是搜索引擎判断"这站靠不靠谱"的重要信号,那一条远远不够。

这次盯上的是博客大联盟(bo.ke),一个中文独立博客的聚合站。它和其他导航站不太一样的地方在于,它有一套权重体系:基础 50 分,加上互链 50 分、RSS 10 分、站内头像 3 分,最后乘在线率。权重越高,站内的展示排序越靠前。

说白了,它不只要收你,还要你"配合"——你把它的链接挂在自己站上,它给你更高的曝光。这是个很朴素的交换:我给你流量入口,你给我一条反链。

听起来简单,但我一路踩了三个坑。

第一回合:提交和验证,出乎意料的顺利

提交表单要填博客名称、地址、简介、标签,还能选头像。填完它要求验证域名所有权,给了三种方式:DNS TXT、CNAME、Meta 标签、还有文件验证。

我选了最笨也最直接的一种——文件验证:它给一个字符串,你把它做成一个 txt 文件放到网站根目录,然后它来访问那个地址,能访问到就说明这站是你的。

关键是要放对地方。Hugo 有个很省心的特性:static 目录里的东西会原样复制到站点根目录。所以我把验证文件扔进 static/,Hugo 构建时自动帮我搬到 public/ 根目录,一次搞定,不用每次手动维护。

1
static/bo-ke-verify-a459a0fb84603936b64af154db0a5ce7.txt

部署后点"开始验证",秒过。然后进入"待管理员审核"——人工审核,几天到一周。

第二回合:审核过了,权重只有 60

过了两天再去看,状态变成"展示中"了,收录成功。但权重那一栏写着 60。

我对照它的说明算了一下:

项目 分数
基础 50
RSS 10
互链 0
头像 0

基础分和 RSS 分都拿满了,说明站本身没问题、RSS 抓取正常。缺的两块:互链 50 分、头像 3 分。

第三回合:我在后台填了「@友情链接」

想拿互链分,得先去后台那把"放置本站链接的页面地址"填上。我当时正在和朋友聊这件事,顺手就把那个页面"引用"过来贴进了输入框——结果后台直接报错:

友链页地址格式不正确,请填写以 http:// 或 https:// 开头的有效网址

我一看才明白,输入框里躺着的是 @友情链接 —— 那是聊天软件里的引用标记,不是网址。这玩意儿粘到网页表单里当然过不去,它既没有协议头,也不是个合法 URL。

教训一:网址就是网址,任何带 @ 的引用标记都不算数。

第四回合:填了首页地址,可首页压根没链接

改对了地址之后,我盯着"互链"那一栏,一直是"未检测到"。

我开始乱猜:是不是要等?是不是要重新保存?来回折腾了几轮,最后才反应过来问题的本质——

它那句提示写得很清楚:

您可以在博客首页或其他页面添加指向 https://bo.ke/ 的链接,并在此填写页面地址,方便系统检测。

这句话有两个动作,我只做了一半:我填了地址,但没在对应页面上真的放链接。更糟的是,我把地址填成了首页,而首页上根本没有 bo.ke 的链接——我的链接放在友链页。

它拿着"首页"这个地址去抓,抓回来一看:没有。于是"未检测到"。

教训二:填哪个地址,那个地址上就必须真的有链接。地址和链接必须对得上。

第五回合:中文路径,爬虫抓不到

把链接补到友链页之后,还是没通过。这时候我开始怀疑另一件事:地址里有中文。

我的友链页地址是:

1
https://yrqspace.github.io/友情链接/

中文出现在 URL 里,浏览器看着没问题,但爬虫拿到的是一串百分号编码。有些站点的检测逻辑处理不好这个,抓取就会失败或者对不上。

解决办法是不填中文,填它的 URL 编码形式:

1
https://yrqspace.github.io/%E5%8F%8B%E6%83%85%E9%93%BE%E6%8E%A5/

这串东西浏览器打开会自动还原成"友情链接",但交给爬虫的是纯 ASCII 字符,没有编码歧义。而且它还有个意外的好处:里面全是英文字母和百分号,粘贴的时候不会再被识别成 @ 引用。

顺便把友链页也收拾了一下。这个主题的友链页是用 front matter 里的 links 列表渲染成卡片的,加一条就多一张卡:

1
2
3
4
links:
  - title: 博客大联盟
    description: 发现中文独立博客,订阅喜欢的作者
    website: https://bo.ke/

比手写 HTML 干净得多,样式也统一。

收尾:113

改完地址、把头像也传了一个,保存。

不到半小时再刷新,权重变了:

项目 分数
基础 50
互链 50
RSS 10
头像 3
合计 113

互链那一栏从"未检测到"变成了"已互链"。

这轮学到的东西

回头看,这个流程本身一点都不复杂,四次交互就完事了。卡住我的全是信息和动作对不上:

  • 我以为"填个地址"就够了,其实人家要的是"地址上真的有链接"
  • 我以为中文路径浏览器能打开就万事大吉,其实爬虫看到的是另一串东西
  • 我粘贴的时候被输入法或聊天软件的自动识别截了一道,把引用标记当成了网址

现在反链有两条了:一条来自中文独立博客列表的 PR,一条来自博客大联盟。以及顺手把 IndexNow 的自动提交修好了——每次部署完自动把新页面推给 Bing。

剩下的事就简单了,也很无聊:写下去。外链能帮你被"发现",但被发现了以后没有内容,人来了也是转身就走。

这件事没什么捷径,就是一篇一篇写。

共 5 篇文章 · 约 0.6 万字 · 运行 35 天
Build using Hugo