要判断死链对SEO的影响,不能只看“有没有404”,而要先取得可复查的状态证据:同一批URL在不同时间、不同抓取来源下返回了什么状态码,页面是否仍被引用,以及修复动作是否真的改变了这些状态。假设某站点在改版后留下约200个旧文章URL,这些URL在站内导航中已删除,但仍被外链和旧站点地图引用。此时要回答“影响多大”,就必须用可重复的记录来证明这些URL当前的状态,而不是凭一次浏览器打开的结果下结论。
可复查的第一步是固定被检查的URL集合。把以下来源分别导出并保留原始文件或表格:
合并后去重,给每个URL加一列“来源”,例如“旧sitemap”“日志404”“外链”。来源不同,判断重点不同:旧站点地图中的URL若已删除,应确认是否仍被提交;外链指向的URL若返回404,则要评估该外链是否值得保留。常见错误是把带参数、带尾斜杠、大小写不同的URL当成同一个,导致后续对比时数量对不上。
对每个URL发起请求并记录:请求时间、请求方法、最终URL、HTTP状态码、是否经过跳转、跳转链长度。可以用命令行逐条检查,例如:
curl -I -L -o /dev/null -s -w "%{http_code} %{url_effective} %{num_redirects}\n" "https://example.com/old-page"
这里要区分“可能原因”和“已经定位的原因”。返回404只说明该URL当前没有可返回的资源,不能直接断定是服务器配置错误、内容被删还是路由规则变化。若返回301后落到200,说明存在跳转,但跳转目标是否相关仍需人工核对。若返回403或503,则不能当作死链处理,应先排查访问限制或服务状态。把结果写入表格,作为基线,后续每次修复后重复同一命令,才能对比状态是否真正改变。
状态码正常不等于索引状态正常,状态码为404也不等于立即从索引中消失。可复查的做法是分别记录:
robots.txt的抓取限制不等于可靠的索引移除,它只控制抓取,不保证页面从索引中删除。站点地图也不保证收录,提交了旧URL反而可能让抓取系统继续访问已删除地址。不同搜索引擎对404、410、跳转的处理和支持情况须分别核查,不能用一个平台的结果推断另一个平台。
修复动作通常有三类:恢复内容并返回200、设置到相关新页面的301、对确实无价值的URL返回410。每类动作都要有对应的复查项:
复查时重新导出同一批URL,对比基线中的状态码、跳转数和最终URL。若某URL从404变为301再到200,说明修复生效;若仍为404,则要检查是否缓存、CDN或服务器配置未更新。判断影响是否收敛,看的是这批URL中“仍返回错误状态且仍被引用”的数量是否下降,而不是看某一天的总访问量。
最终应留下一份可复查记录:URL、来源、检查时间、状态码、跳转链、最终URL、修复动作、复查时间、复查结果。这样即使换人处理,也能判断死链对SEO的影响是否被控制。下一步是选取上述清单中仍被外链引用且返回404的URL,先处理这部分,再按同一方法复查。