上一篇写到给开源项目提 PR 换外链,一条反链到手之后我尝到甜头了:既然外链是搜索引擎判断"这站靠不靠谱"的重要信号,那一条远远不够。
这次盯上的是博客大联盟(bo.ke),一个中文独立博客的聚合站。它和其他导航站不太一样的地方在于,它有一套权重体系:基础 50 分,加上互链 50 分、RSS 10 分、站内头像 3 分,最后乘在线率。权重越高,站内的展示排序越靠前。
说白了,它不只要收你,还要你"配合"——你把它的链接挂在自己站上,它给你更高的曝光。这是个很朴素的交换:我给你流量入口,你给我一条反链。
听起来简单,但我一路踩了三个坑。
第一回合:提交和验证,出乎意料的顺利
提交表单要填博客名称、地址、简介、标签,还能选头像。填完它要求验证域名所有权,给了三种方式:DNS TXT、CNAME、Meta 标签、还有文件验证。
我选了最笨也最直接的一种——文件验证:它给一个字符串,你把它做成一个 txt 文件放到网站根目录,然后它来访问那个地址,能访问到就说明这站是你的。
关键是要放对地方。Hugo 有个很省心的特性:static 目录里的东西会原样复制到站点根目录。所以我把验证文件扔进 static/,Hugo 构建时自动帮我搬到 public/ 根目录,一次搞定,不用每次手动维护。
|
|
部署后点"开始验证",秒过。然后进入"待管理员审核"——人工审核,几天到一周。
第二回合:审核过了,权重只有 60
过了两天再去看,状态变成"展示中"了,收录成功。但权重那一栏写着 60。
我对照它的说明算了一下:
| 项目 | 分数 |
|---|---|
| 基础 | 50 |
| RSS | 10 |
| 互链 | 0 |
| 头像 | 0 |
基础分和 RSS 分都拿满了,说明站本身没问题、RSS 抓取正常。缺的两块:互链 50 分、头像 3 分。
第三回合:我在后台填了「@友情链接」
想拿互链分,得先去后台那把"放置本站链接的页面地址"填上。我当时正在和朋友聊这件事,顺手就把那个页面"引用"过来贴进了输入框——结果后台直接报错:
友链页地址格式不正确,请填写以 http:// 或 https:// 开头的有效网址
我一看才明白,输入框里躺着的是 @友情链接 —— 那是聊天软件里的引用标记,不是网址。这玩意儿粘到网页表单里当然过不去,它既没有协议头,也不是个合法 URL。
教训一:网址就是网址,任何带 @ 的引用标记都不算数。
第四回合:填了首页地址,可首页压根没链接
改对了地址之后,我盯着"互链"那一栏,一直是"未检测到"。
我开始乱猜:是不是要等?是不是要重新保存?来回折腾了几轮,最后才反应过来问题的本质——
它那句提示写得很清楚:
您可以在博客首页或其他页面添加指向 https://bo.ke/ 的链接,并在此填写页面地址,方便系统检测。
这句话有两个动作,我只做了一半:我填了地址,但没在对应页面上真的放链接。更糟的是,我把地址填成了首页,而首页上根本没有 bo.ke 的链接——我的链接放在友链页。
它拿着"首页"这个地址去抓,抓回来一看:没有。于是"未检测到"。
教训二:填哪个地址,那个地址上就必须真的有链接。地址和链接必须对得上。
第五回合:中文路径,爬虫抓不到
把链接补到友链页之后,还是没通过。这时候我开始怀疑另一件事:地址里有中文。
我的友链页地址是:
|
|
中文出现在 URL 里,浏览器看着没问题,但爬虫拿到的是一串百分号编码。有些站点的检测逻辑处理不好这个,抓取就会失败或者对不上。
解决办法是不填中文,填它的 URL 编码形式:
|
|
这串东西浏览器打开会自动还原成"友情链接",但交给爬虫的是纯 ASCII 字符,没有编码歧义。而且它还有个意外的好处:里面全是英文字母和百分号,粘贴的时候不会再被识别成 @ 引用。
顺便把友链页也收拾了一下。这个主题的友链页是用 front matter 里的 links 列表渲染成卡片的,加一条就多一张卡:
|
|
比手写 HTML 干净得多,样式也统一。
收尾:113
改完地址、把头像也传了一个,保存。
不到半小时再刷新,权重变了:
| 项目 | 分数 |
|---|---|
| 基础 | 50 |
| 互链 | 50 |
| RSS | 10 |
| 头像 | 3 |
| 合计 | 113 |
互链那一栏从"未检测到"变成了"已互链"。
这轮学到的东西
回头看,这个流程本身一点都不复杂,四次交互就完事了。卡住我的全是信息和动作对不上:
- 我以为"填个地址"就够了,其实人家要的是"地址上真的有链接"
- 我以为中文路径浏览器能打开就万事大吉,其实爬虫看到的是另一串东西
- 我粘贴的时候被输入法或聊天软件的自动识别截了一道,把引用标记当成了网址
现在反链有两条了:一条来自中文独立博客列表的 PR,一条来自博客大联盟。以及顺手把 IndexNow 的自动提交修好了——每次部署完自动把新页面推给 Bing。
剩下的事就简单了,也很无聊:写下去。外链能帮你被"发现",但被发现了以后没有内容,人来了也是转身就走。
这件事没什么捷径,就是一篇一篇写。