等 Search Console 告诉你链接坏了,受影响的页已经掉排名好几周了。解法是一套 30 分钟的月度流程,把确定性检查器和 AI 聚类组合起来——检查器找 URL,AI 按原因分组并按优先级提修复方案。这篇讲完整回路。
这篇讲什么
100+ 文章内容站的月度维护工作流。产出:按根因(404 / 重定向链 / 拼写 / 死外链)分组、附按 cluster 修复方案的失效内外链分流清单。AI 做分组和优先级,链接检查器是 ground truth。
这篇适合谁看
100+ 文章的内容站站长。小公司 SEO 负责人。跑联盟营销或博客站的独立开发——死外链既拖 SEO 也伤可信度。
什么时候适合用
月度维护。任何大型 SEO 推进前(不想让可修的 404 在 Google 注意到推进时吃 crawl budget)。域名迁移、slug 改名、内容清理后。从其他平台导入内容后。
开始前准备
- 装一个链接检查器:
linkinator(npm)、lychee(Rust,非常快)、或broken-link-checker。外链准度上 Lychee 最好。 - 拿到你的 sitemap(
/sitemap.xml)——检查器从这进入。 - 定行动阈值:外链 404 但反向链接小于 10 的可能不值得修;内链 404 永远值得修。
具体步骤
- 在生产 URL 跑检查器。例:
# Lychee(最快):
lychee --include-fragments --max-concurrency 20 \
https://yoursite.com/sitemap.xml > broken.txt
# Linkinator:
npx linkinator https://yoursite.com --recurse \
--format JSON > broken.json
把检查器结果和用 Codex 审查 sitemap的结果对照,避免漏掉检查器没爬到的 URL。
- 把输出作为上下文喂 AI。100+ 条粘 CSV,少一点粘原始输出。
- Prompt AI:
这是检查器给的 N 条失效链接发现。
按根因聚类:内 404、内重定向链(>2 跳)、URL 拼写错
(多斜杠 / 大小写错)、外死链(host 不可达)、外 410
(gone)。每类提修复优先级(HIGH/MED/LOW),依据:
源文章引用数、内 vs 外、返回 410 vs 404。
- 内 404(永远 HIGH):grep 源内容里的坏 URL,修到正确 slug。多数是 typo 或改名遗留。
- 内重定向链:在源内容里缩到一跳。超过 2 跳累积延迟惩罚。
- 死外链:能换就换(别处有类似内容),换不了就移除并加脚注说明引用已失效。绝不要默默删——读者可能链回你页时引用了那个源。
- 重跑检查器确认。两次跑的 diff 就是修复证据。
第一次实操怎么跑
- 第一次跑检查器。先不修,只读报告。
- 人工先聚类一次,再上 AI。校准 AI 哪里对哪里错。
- 挑数量最大的 cluster(通常是”改名遗留”——一次 slug 改名挂掉 30 条链接)。端到端修这一类。
- 重跑检查器。确认那 30 条没了。你现在有了流程的 ground truth。
完成后检查
- AI 的 cluster 真的有意义吗,还是把不同问题混进同一类?每类手工抽 5 条验。
- 检查器漏了你内容里存在的 URL 吗?跟
grep -roE "href=\"[^\"]+\"" src/对一遍验证完整性。 - 被标为死的外链是不是在坏时段被打?24 小时后再测——临时 5xx 会抖动。
- AI 提的修复你能不靠人工判断就应用吗?“换成类似来源”需要你找类似来源,那是任务不是修复。
怎么复用这套流程
- 检查器用 cron 或 GitHub Actions 月调度。报告自动邮件,别等谁记得手跑。
- AI 聚类 prompt 存 Custom GPT 或保存 prompt。Prompt 稳定,输入会变。
- 跟踪发现随时间。反复出现的类别(永远是改名遗留)说明你的 slug 改名流程需要修复步骤,不只是更频繁的修。
建议的操作流程
检查器 → 50 条发现 → AI 聚成 4 组(10 内 404 / 15 重定向链 / 18 死外链 / 7 拼写错) → 先修内 → 替换或移除外 → 重跑 → 剩 3 条(抖动外链)→ 下月再查。总时间:90 分钟。把失效链接月度扫描当作按技术栈定制的 SEO checklist 中的一行,跟 schema、hreflang、render mode 检查放在同一节奏里。
容易踩的坑
- 等 Search Console 报错才跑——已经丢了几周爬行效率。
- 默默删外链——读者和引用页都期望它在。标”[archived]“或用 Wayback Machine 链接。
- 没设月度节奏——活跃站 60 天内漂移就回来。
- 修外 404 时直接删链接不找替代——引用的一半价值没了。
- 不验证目标页是否存在就照搬 AI 的”修复”输出。
- 忽略重定向链——它们不显示为坏,但吃 crawl budget 和 TTFB。
FAQ
- 哪个检查器最准?: 外链准度和速度都看 Lychee。简单 Node 配置用 Linkinator。都能用,选一个坚持。
- JS 渲染的链接呢?: 多数检查器只看静态 HTML。SPA 重的站用带 headless 浏览器模式的(Lychee
--headless,或基于 Playwright 的工具)。 - 多快该修?: 内 404:7 天(crawl budget)。外:30 天。重定向链:60 天。
- AI 会替代链接检查器吗?: 不会。检查器是确定性的,AI 在上层(聚类 / 优先级 / 修复方案)。两者都用。
- MDX / markdown 内容里的链接怎么查?: 单独写一个 pre-build 脚本,把内链解析到内容集合——链接检查器只看部署后的站,不看源。