开始检查失效链接前,至少需要四类资料:一份可遍历的链接清单(含链接所在页面和链接目标地址)、网站页面与栏目归属表、服务器或CDN的访问日志权限、以及重定向与404页面的现行规则。缺少其中任何一项,检查都容易变成只跑一遍工具、拿到一堆报错却无法判断该修还是该删。下面用一个假设例子说明准备过程,并对比“先全量抓取”和“先小范围抽样”两种处理方案的适用条件。
假设某内容站有约800个页面,运营者发现部分旧文章里的外部参考链接打不开,于是准备做一次失效链接检查。如果直接拿工具从首页全量爬取,可能遇到三个问题:工具被登录墙挡住、动态加载的链接抓不到、报错列表里混入大量第三方统计脚本地址。结果是要么漏检,要么把非内容链接当成失效链接处理。
更稳妥的做法是先备齐资料,再决定扫描范围。需要准备的资料包括:
方案一:先全量抓取,再逐条判断。适合页面数量少、结构简单、链接大多写在HTML里的站点。执行步骤是:导出全站URL,用爬虫工具扫描,导出状态码非200的列表,再按页面归属表逐条确认。常见错误是把工具报出的超时直接当成失效链接,实际上对方服务器可能只是临时限流。判断方法是隔一段时间用curl -I或浏览器直接访问该地址,看状态码是否稳定。
方案二:先抽样核心页面,再决定是否扩大。适合页面多、有登录或动态加载、工具容易误报的站点。执行步骤是:从页面归属表中选出流量高、外链多、更新时间早的页面作为样本,手动或半自动检查样本中的链接,统计失效比例,再决定是否全量扫描。常见错误是样本只选首页和最新文章,漏掉真正容易失效的旧内容页。判断结果是:如果样本失效率明显偏高,就值得投入全量检查;如果样本几乎无失效,可以降低频率、按季度抽查。
把链接清单、页面归属表和现行规则放在同一张表里,每条失效链接标注“待修复、待替换、可忽略”三种状态之一,再按页面归属分配给对应维护人。修复后重新访问原链接和所在页面,确认状态码变为200或301,且页面上的链接文字与目标内容仍然一致。如果站点同时使用网页搜索和平台推荐,失效链接对两者的影响并不相同,但修复动作本身是通用的:先保证用户点得到有效内容,再谈搜索引擎能否正确抓取和理解页面。
下一步建议先导出最近一个月的访问日志,筛出返回404和410的URL,与链接清单比对,确认哪些是真实用户点击过的失效链接,优先处理这一批。