开始死链检查前,最需要准备的不是工具,而是三样东西:一份待检查的链接清单、一套判断“死链”的标准,以及确认检查范围与权限。缺少其中任何一项,检查结果都可能无法直接用于修复。
“死链”在日常使用中至少包含三种情况,准备信息的方式不同:
第一次接触时,建议只选其中一类作为起点。三类混在一起检查,返回结果里的状态码和来源会互相干扰,后续很难判断该修哪个页面。
清单至少要包含链接地址和它出现的位置。位置可以写成具体页面 URL,也可以写成“首页导航”“文章正文”这类可定位的描述。如果只有一堆网址,修复时仍然要重新找一遍,检查的价值会打折。
获取清单的常见方式有三种:
选择哪一种,取决于你能否拿到对应权限。没有后台权限时,只能依赖公开抓取;抓取范围有限,结果也会不完整,这一点要在开始前就接受。
不是所有打不开的链接都算死链。准备工作里要提前写清楚判断规则,例如:
404 或 410 视为死链,需要处理。301 或 302 属于跳转,是否算问题取决于你是否接受跳转。403、429 或超时,可能只是对方临时限制访问,不能直接判定为死链。范围也要提前划定:只查首页和栏目页,还是包含全部文章页;只查最近更新的内容,还是覆盖历史页面。范围越大,耗时和请求量越高。如果目标网站有访问频率限制,一次性全量检查可能触发封禁,此时应分批进行。
检查前问自己三个问题:
如果是检查自己的网站,还要确认 robots.txt 是否限制了抓取。被 robots.txt 禁止抓取的路径,抓取工具可能直接跳过,结果里不会出现这些链接,但这不代表它们不存在。站点地图只说明你希望被收录的页面,不保证收录,也不能代替死链检查。
假设你只想检查一篇文章里的外部链接,可以这样开始:
http 或 https 开头的地址,整理成一列。404 或 410 的链接标为待处理,返回超时或 403 的链接隔一段时间再复查一次。这个流程适用于链接数量在几十条以内的情况。如果链接成百上千,手动方式不再可行,需要改用抓取工具,并提前设置好并发数和请求间隔。
下一步:先选定一类链接,整理出带来源位置的清单,再写下一行判断规则,然后开始第一轮检查。