友链制作记录:从页面入口到回链验证

这次把博客里的友链系统完整整理了一遍,也顺手把它从“自己手动维护”升级成了更清晰、更好扩展的结构。最开始,友链只是一个静态页面,后来慢慢加上了申请说明、数据结构、回链验证和入口样式,才变成现在这个样子。

这次友链改了什么

这次友链相关的调整,主要集中在三个方向:

  1. 友链数据结构更清楚了。
  2. 友链页的申请方式更明确了。
  3. 关于页里的友链入口也做了重新设计。

原来友链更偏向“先想到再补”,现在则是一个比较完整的小流程:页面上能看到本站信息、知道该怎么申请,也能更清楚地区分“我自己的友链页”和“别人来申请友链”的路径。

友链数据怎么组织

现在友链数据不再是一大块混在一起,而是改成了单独文件的方式管理。每一个友链都对应一个独立的 JSON 文件,这样后面增加、删除、修改都更直观,也不容易把别人的信息改乱。

当前使用的字段包括:

  • name:网站名称
  • url:网站地址
  • avatar:头像地址
  • description:网站简介
  • backlink:对方展示本站友链的页面地址

这种结构还有一个很大的好处:以后如果要继续扩展,比如增加站点状态、RSS 地址、标签、站点类型,也能很自然地加进去。

申请方式是怎么做出来的

这次还把友链页上的“申请方式”重新整理了一下。之前更偏向说明文字,现在变成了更明确的流程式写法:先加回链,再提交信息,再等待校验和确认。

页面里现在保留了本站的基础信息,别人如果想交换友链,可以直接照着填:

  • 网站名称
  • 网站地址
  • 网站描述
  • 网站头像

同时,申请说明里也补充了目标分支、JSON 文件位置和校验逻辑。这样别人不需要读很多额外文档,打开友链页就能知道大概怎么做。

关于页也一起改了

这次我还顺手把关于页里的友链入口重新做了一遍。

之前友链只是常用入口里的一枚文字按钮,现在把它移到了日历卡片下面,换成了图标卡片的形式。这样做有两个原因:

第一,关于页的入口层级会更清楚。像 B 站、GitHub、工具、留言板这些本来就偏“常用跳转”,而友链更像一个独立的小区域,用图标卡片承接会更自然。

第二,视觉上也更容易一眼认出来。访客不需要在一排按钮里再找“友链”两个字,而是能直接看到一个明确的图标入口。

如果想添加别人的友链,怎么做

如果是我自己想把别人加进友链页,流程其实已经很简单了:

  1. 先拿到对方网站的基本信息。
  2. 在友链数据目录里新建一个 JSON 文件。
  3. 填好名称、地址、头像、描述和回链页。
  4. 构建并部署博客。

通常需要准备的信息有:

  • 网站名称
  • 网站地址
  • 头像地址
  • 网站描述
  • 对方的友链页面地址

只要这些信息齐全,就可以把对方正式加进友链列表里。

如果别人想把我加进他们的友链,怎么做

这次整理过程中,我也顺手把“如何申请加入别人的友链”这件事梳理明白了。

很多博客会要求双向友链,也就是:

  • 你先把对方加到自己的网站里
  • 再去对方仓库或页面提交申请

如果对方是 GitHub PR 流程,通常要填写这些信息:

  • 网站名称:小呆呆的博客
  • 网站地址:https://xiaodaidai.site/
  • 头像地址:https://xiaodaidai.site/img/avatar.png
  • 网站描述:分享技术,记录生活,顺手做点小工具。
  • 友链页面:https://xiaodaidai.site/links/

这里有一个特别容易忽略的点:提交申请时,填写的一定要是自己的网站信息,不是对方的网站信息。这个地方如果填错,对方的自动校验就会把回链页和站点链接检查错对象,导致申请失败。

这次踩到的一个坑

这次实际操作里还有一个挺典型的小坑:有些友链机器人不是执行页面里的 JavaScript 再看最终内容,而是直接抓取 /links/ 页面的原始 HTML。

这意味着,如果友链只是“浏览器运行后才动态出现”,对方的校验程序未必能看到。后来我把需要展示的友链真正写进静态页面之后,回链验证才顺利通过。

这个细节也提醒我:博客里的很多功能,尤其是会被外部机器人、搜索引擎或校验程序读取的内容,还是要优先考虑静态可见性,而不是只在浏览器里“看起来正常”。

现在的友链状态

整理完成之后,友链相关的体验终于比较顺了:

  • 友链页有了清楚的申请说明
  • 友链数据结构更规整了
  • 关于页有了更明显的友链入口
  • 回链验证的逻辑也更容易理解了

它不算一个特别大的功能,但确实让整个博客更像一个愿意和别人互相连接的小站,而不是只顾自己往外发内容的地方。

后面如果继续折腾,友链页还可以再补一些东西,比如:

  • 站点卡片的分组
  • 友链排序规则
  • 失效链接提醒
  • 更完整的自动化校验流程

不过对现在来说,这一版已经够用了,也终于把“友链怎么做、怎么加、怎么申请”这件事理顺了。