起因:我发现以前囤的外链,95% 都用不了。与其继续囤,不如先搞明白“到底哪些能用、先发谁、发没发过”——于是我给自己写了一个本地外链工作台。
![[Pasted image 20260808180658.png]]
01 先说说我为什么需要这个东西
我做 SEO 工具站,靠自然搜索流量吃饭。做 SEO 绕不开外链,这大家都知道。
但“做外链”和“管外链”是两回事。我手里有几个在做的工具站,外链素材其实攒了不少——有从竞品网站反向查的(用第三方外链分析工具导出的 CSV),有别人发在群里分享的,也有各种 SEO 榜单上扒的。
素材多,问题也多:
第一,大部分外链根本用不了。
拿真实数据说话。我从一个竞品的第三方外链分析工具导出里扒了外链,99 个唯一来源域名里,94 个是垃圾——付费 PBN 链接农场、SEO 目录农场、“Website Stats” 垃圾网络、短链、软文,占了 95%。从另一个竞品导出的 155 个去重域名里,151 个是垃圾,占比 97%,最后只有 4 个真实内容站能用。
也就是说:外链“收集”很容易,“收集到能用的”很难。 中间的差距,就是一套筛选、判断的流程。
![[Pasted image 20260808180835.png]]
第二,不同外链是不同类型的,能发的地方不一样。
有的外链是 profile 型(注册个账号在资料页放链接),有的是 blog comment(去博客评论区留链接),有的是 directory submit(去目录站提交产品),有的是 forum(论坛签名)。类型不对,发给谁都不对。
第三,权重不一样,先发谁、后发谁是有讲究的。
同样能用,有的站域名权重很高、月访问几百万,有的站权重很低、几乎没人看。先发高权重的还是先发容易过的?需要一个排序依据。
第四,发没发过,得有个账本。
以前全在 Excel 和脑子里。这个站发过了吗?还剩几次额度?完全不记得,发重复了也不知道。
所以我的真实需求是:把“收集 → 筛选 → 分类 → 排序 → 记录”这一整套流程,做成一个工具。
不是“做一个外链列表”,而是“管理发外链这件事本身”。
02 先想清楚:外链管理到底要管哪几件事
动手写代码之前,我先把问题拆了拆。拆完发现,外链管理其实就四件事:
![[Pasted image 20260808180858.png]]
1. 收录(Collect)
把多渠道素材收进来,统一格式。
来源包括:第三方外链分析工具导出、竞品反查、群里分享、SEO 榜单。它们的格式千差万别,得有个统一的入口把它们变成同一种数据结构。
2. 清洗与打标(Clean & Tag)
这是最核心的一步,也是淘汰率最高的一步。
判垃圾:PBN 农场、目录农场、0 流量且无品牌识别的域名,直接剔除。这一条规则决定了我 95% 的淘汰率。
判类型:profile / blog comment / directory submit / forum / social……不同类型对应不同的发布方式,也决定了这个外链能发去哪些站。
打标:dofollow 还是 nofollow、要不要验证码、要不要登录、免费还是付费。
3. 分类与排序(Organize & Rank)
决定“先发谁、后发谁”。
按权重:域名评级(DR)、真实月访问量、搜索占比,这三个数据决定优先级。
按用途:AI 工具目录 → 适合 AI 工具项目;SaaS 目录 → 适合 SaaS 项目;博客 / 社区 → 所有项目都能用。
这一步的产出是:每个项目一份“先发谁、后发谁”的发布计划。
![[Pasted image 20260808180925.png]]
4. 记录与防重(Track & Guard)
决定“哪些发了、哪些没发”。
额度系统:每个站能发几条外链。profile 站通常只能发 1 条,评论站可以多条。发满了自动标记“已满”,不再出现在待发列表里。
防重复:数据库层面加唯一约束,同一站点同一链接不可能发两次——这是硬约束,不是靠自觉。
四件事想清楚后,剩下的问题就变成了:用什么技术把它做出来?
03 用 AI 编程做成本地工作台
我的技术选型原则是:本地单人用,怎么简单怎么来。
- 后端:Node.js + Express(一个进程同时托管 API 和静态前端)
- 数据库:SQLite 单文件(备份 = 复制一个文件)
- 前端:单文件 HTML 起步,先验证交互,再逐步加 React
- AI:大模型 API,服务端调用,Key 不进前端
整个开发过程基本是和 AI 结对完成的:我描述需求,AI 写代码,我来判断对错、改需求。中间几轮下来,工具就有模有样了。
收录:多渠道统一入库
第三方外链分析工具导出的 CSV / XLSX 直接拖进去,自动映射列,按“域名 + URL”去重。竞品反查的结果,我会用一套沉淀下来的“剔除规则”批量过滤——哪些是 PBN 农场、哪些是目录农场、哪些明显是垃圾命名,脚本直接判。
关键设计:对标站(Sources)和发布站(Sites)严格分开。
- 对标站 = 外链“从哪来”(竞品域名、要监控的对手)
- 发布站 = 外链“发到哪去”(能提交外链的网站)
这个区分很重要。以前我容易把两者混在一起,搞不清一条数据到底是“我挖出来的线索”还是“我可以去投稿的站”。
![[Pasted image 20260808181026.png]]
打标与分类:每个外链一张“身份证”
每个站点入库时都带着完整档案:
- 类型:AI 工具目录 / 内容博客 / 社区曝光 / 产品 SaaS 目录 / 暂缓付费
- 提交方式:profile / comment / directory_submit / guest_post
- 属性:要不要登录、要不要验证码、免费还是付费
- 适合项目:这个站适合什么样的产品去提(AI 工具 / SaaS / 通用)
排序与优先级:先发谁、后发谁
域名权重、月访问量、搜索占比做基础排序,AI 再补一层:
- 价值评分 0–100:综合域名权重、相关性、dofollow、流量、提交成本
- 提交建议:建议锚文本、提交话术、风险提示
最终产出去重后的发布计划:这一批该发 N 条、跳过已发满的 X 个站、跳过重复的 Y 条——全算好给你,你只管确认执行。
项目维度管理:每个项目一份计划
我有几个项目,每个项目的发布计划是独立的。看板以项目为中心:这个项目发了多少、什么类型、占比多少、最近发了啥,一目了然。
发布记录与防重
每次发布一条记录:锚文本、用的账号、状态(已提交 / 已收录 / 被拒)、时间。数据库唯一约束 + 额度系统,从机制上杜绝重复发、超发。
04 真实案例:这套流程怎么帮我“从垃圾里挑金子”
说两个真实的漏斗,感受一下这套流程的价值。
![[Pasted image 20260808181049.png]]
案例一:竞品反查
从竞品外链档案里扒数据(竞品名隐去):
- 99 个唯一来源域名 → 94 个垃圾 → 留下 5 个真实可用(SaaS 目录、垂直领域 how-to 博客、外语评测聚合站)
- 155 个去重域名 → 151 个垃圾 → 留下 4 个真实内容站
案例二:SEO 榜单
- 100 条数据 → 34 条拒收(9 个目录农场 + 5 个大品牌主站 + 20 个低质垃圾)→ 47 条入库(32 个 AI 工具目录 + 9 个内容博客 + 5 个社区 + 1 个 SaaS 目录)
两次都验证了同一件事:外链的稀缺资源不是“链接”,是“能用的链接”。
而这套“拒绝规则”——什么算垃圾、什么值得收、收到哪一类——恰恰是最有价值的部分。所以我把它沉淀成了脚本、做进了工具里。以后再来 1000 条数据,也是同样的流程跑一遍。
05 给同样在做外链的人 3 个建议
- 先想清楚“管外链要管哪几件事”,再动手做工具。 方法先行,工具只是方法的载体。我如果一开始就闷头写代码,大概率会写成一个“好看的 Excel”。
- 把“淘汰垃圾”的规则沉淀下来。 95% 的淘汰率不是失败,是过滤器的价值。规则不沉淀,每次都得靠眼睛和脑子重新判一遍,等于白干。
- AI 编程最大的杠杆,是把真实痛点做成产品。 哪怕只是给自己用——这个过程本身就在逼你把业务想清楚。工具是副产品,想清楚才是主产品。