用 AI 在 Google 发现前找失效链接

30 分钟月度流程:lychee / linkinator 确定性扫 URL,AI 按根因(404 / 重定向链 / 拼写 / 死外链)聚类并出按 cluster 修复方案——比等 Search Console 提示快好几周。

等 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 永远值得修。

具体步骤

  1. 在生产 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。

  1. 把输出作为上下文喂 AI。100+ 条粘 CSV,少一点粘原始输出。
  2. Prompt AI:
这是检查器给的 N 条失效链接发现。
按根因聚类:内 404、内重定向链(>2 跳)、URL 拼写错
(多斜杠 / 大小写错)、外死链(host 不可达)、外 410
(gone)。每类提修复优先级(HIGH/MED/LOW),依据:
源文章引用数、内 vs 外、返回 410 vs 404。
  1. 内 404(永远 HIGH):grep 源内容里的坏 URL,修到正确 slug。多数是 typo 或改名遗留。
  2. 内重定向链:在源内容里缩到一跳。超过 2 跳累积延迟惩罚。
  3. 死外链:能换就换(别处有类似内容),换不了就移除并加脚注说明引用已失效。绝不要默默删——读者可能链回你页时引用了那个源。
  4. 重跑检查器确认。两次跑的 diff 就是修复证据。

第一次实操怎么跑

  1. 第一次跑检查器。先不修,只读报告。
  2. 人工先聚类一次,再上 AI。校准 AI 哪里对哪里错。
  3. 挑数量最大的 cluster(通常是”改名遗留”——一次 slug 改名挂掉 30 条链接)。端到端修这一类。
  4. 重跑检查器。确认那 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 脚本,把内链解析到内容集合——链接检查器只看部署后的站,不看源。

相关阅读

标签: #教程 #SEO #AI 编程 #失效链接