我是怎么筛选和维护这份网址列表的

大部分网址导航活不过两年。原因不是没人做,而是没人维护:链接死了没人发现,描述抄自官网标语等于没写,分类越加越多最后自己都找不着。

这篇写一下本站的做法,顺便也能当作整理自己收藏夹的参考。

收录标准:宁缺毋滥

一个站点要进列表,必须同时满足四条:

一、还活着。 不是"域名还能打开",而是最近一年有实质更新。很多工具站页面还在,但功能早就坏了。

二、在自己的领域排得上号。 同类里如果已经有明确的第一梯队,第五名就没有收录价值。用户要的是"该用哪个",不是"有哪些"。

三、普通人能用。 需要企业邮箱、需要审批、需要联系销售才能试的,不收。

四、不碰红线。 盗版、破解、赌博、成人内容一律不收;任何形式的代理、加速、翻墙类服务也不收——这是硬性的,本站只做"有哪些好网站"这一件事。

按这四条筛下来,最初列的四百多个候选站点砍掉了将近一半。

描述:只写一句,但必须有信息量

这是最花时间的部分。

反面例子(抄官网标语):

Notion —— 一个全新的工作空间。

这句话读完你还是不知道它是干什么的。

正面例子

Notion —— 笔记、数据库与知识库合一的工作台。

一句话要回答的是:它是什么类别的东西,以及它跟同类比强在哪。写不出这句话,通常说明我自己也没真正用过,那就不该收录。

具体的写法约定:

  • 控制在 15 到 25 个字,太长在卡片里会被截断
  • 不用"强大""领先""最好"这类形容词,它们不传递信息
  • 能给具体数字就给("15GB 免费空间"比"空间充足"有用)
  • 提到局限性也没关系("数量精简"本身就是有效信息)

分类:先定数量上限,再往里塞

分类失控是导航站的通病。做法是先定死上限:不超过 20 个一级分类,不做二级分类。

超过上限时不加新分类,而是合并旧的。比如"云盘"和"备份工具"合成"云盘存储","图库"和"设计工具"合成"设计素材"。

另一条原则是按用户的目的分,不按技术属性分。用户想的是"我要找图",不是"我要找基于 CDN 的静态资源分发平台"。所以 Unsplash 进"设计素材",而不是按它的技术栈归类。

每个分类控制在 10 到 18 个站点:少于 10 个说明这个分类没必要独立存在,多于 18 个说明该拆或该砍。

死链检查:定期跑一遍

链接会以惊人的速度腐烂。业界的经验数据是,五年后大约四分之一的链接会失效——服务关停、被收购后域名重定向、或者干脆改了路径。

维护上的做法:

  1. 每季度批量请求一次全部链接,记录状态码
  2. 301/302 重定向要人工看一眼跳去了哪:跳到新域名就更新,跳到某个集团的营销首页说明服务已经没了,直接删
  3. 403 不一定是死链,很多站点会拒绝自动化请求,需要人工打开确认
  4. 连续两次检查失败的直接移除,不留着占位

删掉一个站点的时候,如果它有明确的继任者,就在同分类里补上;如果整个品类都消失了,那就让分类变小,不硬凑。

为什么用 JSON 存数据

所有链接存在一个 links.json 文件里,构建时生成静态 HTML。这样做的好处:

  • 加站点只改一个文件,不碰任何页面代码
  • 数据和展示分离,将来想换个界面,数据原样搬过去就行
  • 可以写脚本批量处理——死链检查、去重、统计,都是几行代码的事
  • 版本管理清晰,用 git 一看就知道这次加了什么

对应的坏处是每次改完要重新构建。但对一个每周更新一两次的站点来说,跑一次 node build.js 的成本可以忽略。

为什么坚持静态生成,而不是前端动态加载

有个更省事的做法:页面加载后用 JavaScript 请求 JSON,再把卡片渲染出来。代码更短,改数据都不用重新构建。

但这条路有个致命问题:搜索引擎抓到的是一个空壳页面。爬虫看到的 HTML 里没有任何站点名称和描述,等于这些内容对搜索引擎不存在,整个站的收录会非常糟糕。

所以本站选择在构建时就把所有卡片渲染进 HTML。用户看到的和爬虫看到的是同一份内容,每个分类还有独立的 URL 和标题。搜索"某某分类 网站推荐"能搜到,靠的就是这一点。

前端 JavaScript 只负责锦上添花的部分:搜索框筛选、滚动高亮、移动端菜单。关掉 JS,页面照样能看能点。

如果你想整理自己的收藏夹

同样的方法可以缩小到个人使用:

  • 定一个上限,比如 100 个链接,超了就必须删
  • 每条写一句自己的话,写不出来的说明你没在用,删掉
  • 每半年清一次,打不开的、一年没点过的,直接删
  • 分类按"我什么时候会用它"来分,不按网站类型分

收藏夹的价值在于能快速找到,不在于收了多少。这一点和做导航站是一样的。


本站目前收录 17 个分类、200 多个站点,数据每次更新都会在页面底部标注日期。发现死链或者想推荐站点,欢迎告诉我。