处理完一批死链后,后续监测的重点不是每天重扫全站,而是把已修链接、仍返回错误码的链接和新产生的死链分开跟踪。建议以周为单位复查修复结果,以月为单位检查新死链,并保留每次扫描的原始清单,才能判断死链是在减少还是反复出现。
不是所有404都值得持续监测。优先跟踪三类:一是曾经有流量或外链指向的URL;二是导航、栏目页、产品列表页中出现的站内链接;三是站点地图和主要入口页面里列出的地址。这三类一旦返回404或410,对抓取和用户体验的影响更直接。
可以用下面的检查项做第一次分类:
判断结果很直接:重要页面里的死链优先修,孤立的老页面死链可以改为410并停止跟踪。不要把所有404都当成同一等级处理。
修复死链后立即扫描一次,只能确认改动已生效,不能确认搜索引擎是否已经重新抓取。更稳妥的安排是:修复当天记录原URL和目标URL;第7天复查状态码和跳转链;第30天再看一次该URL是否仍出现在扫描结果中。
如果第7天仍返回404,可能是缓存、服务器规则未生效或跳转配置错误,需要按“可能原因”逐项排查,而不是直接断定修复失败。如果第30天仍被扫描工具报为死链,但浏览器访问正常,则要检查扫描工具是否使用了旧缓存或不同的User-Agent。
复查时不要只看数量。要看同一批URL是否反复出现。反复出现的死链通常意味着模板、数据库或发布流程里有固定输出错误,单纯改几个链接解决不了。
全站扫描适合每月做一次,日常监测可以结合两种更省力的方式:一是从站点地图中抽取URL做抽样检查;二是查看服务器日志中返回404的访问记录。站点地图不保证收录,但它能帮你确认哪些地址仍被当作有效页面提交。日志则能反映真实用户和爬虫实际请求了哪些不存在的地址。
一个可执行的抽样方法是:每月从站点地图中按栏目各抽10条URL,用批量状态码检查工具请求一次,记录非200的地址。这个例子是假设性操作,实际数量按站点规模调整。适用条件是站点地图本身维护正常;如果站点地图长期不更新,抽样结果不能代表全站。
死链监测不是一次性清理。内容下架、栏目改版、URL规则调整、商品下架都可能产生新死链。比较实际的做法是把状态码检查加入发布前流程:改动URL结构前先导出旧地址清单,改完后对旧地址逐一请求,确认返回301且目标页面内容相关。
另外要区分抓取限制和索引移除。robots.txt中的Disallow只能阻止抓取,不能可靠地把已索引页面移除;如果目的是让旧页面退出索引,应使用410或301等HTTP状态,而不是只写robots.txt。HTTPS也不等于没有死链或安全问题,它只解决传输加密,不解决链接有效性。
现在就可以建一张表,至少包含原URL、首次发现日期、状态码、处理方式、目标URL、第7天复查结果、第30天复查结果。每周只更新已处理项,每月新增一次全站扫描结果。这样安排后,你看到的不是一堆404数字,而是哪些死链已闭环、哪些仍在反复出现,后续优化才有依据。