处理历史无效链接的关键,不是把所有打不开的链接一次性删掉,而是先区分它属于哪种失效:对方页面已删除、对方站点改版、对方域名过期、临时超时、被对方设为nofollow,还是你自己页面上的链接路径写错。对曾经用于出售友情链接的页面来说,还要额外判断这条链接是否仍在合同期、是否已收费、是否影响已有承诺。判断清楚后,再按“保留并修复、替换、移除、记录”四种动作分别处理。
不要凭记忆操作。把页面上所有对外链接导出,至少记录以下字段:
可以用浏览器逐个打开,也可以用命令行批量检查。下面是一个只做状态检查的示例,不涉及任何自动发布或隐藏操作:
curl -I -L --max-time 10 https://example.com/page
重点看返回的状态码和最终跳转地址。如果返回301或302,说明链接还能到达新位置;如果返回404或410,说明对方页面已不存在;如果返回403或超时,可能是对方屏蔽了检查工具或临时故障,不能直接判定为永久失效。
这是本题最关键的一步。很多历史无效链接并不需要删除,错误删除反而会破坏已有页面结构或收费约定。可以按下面的判断表处理:
如果一条链接仍在收费保留期内,即使对方页面暂时失效,也应先联系对方修复,而不是单方面移除。若对方长期不修复,再按双方约定处理,并保留沟通记录。
替换或移除链接后,重新检查一遍修改过的页面。检查项包括:
例如,原链接指向https://old.example.com/a,对方已迁移到https://new.example.com/a。你应把页面中的旧地址替换为新地址,然后再次用curl -I -L确认新地址返回200。若新地址返回301后再到200,也可以接受,但最好直接写最终地址,减少一次跳转。
处理完一次不等于永久解决。友情链接会随着对方站点调整、域名到期、页面改版而再次失效。建议每季度或每半年复查一次历史链接清单,重点看三类页面:曾经出售友情链接的页面、合作方较多的页面、流量较高的页面。
维护时不需要追求“零失效”,因为外部站点你无法控制。更实际的目标是:失效后能快速发现、快速判断、快速替换或移除,并且不违反已有约定。对于已经确认永久失效且无保留价值的链接,移除后可以在清单中标记“已移除”和日期,避免以后重复检查。
下一步,先导出你当前页面上所有对外链接,按上面的字段建一份表,然后只处理最近一次检查中返回404或410的链接。遇到301或超时的,先记录,不要急着删。