有个客户的站做了五年,改版三次,期间没做过死链清理。我用爬虫跑了一遍,发现全站有400多个返回404的链接,其中60多个还在被搜索引擎抓取。他的排名从首页掉到第三页,自己还以为是被竞争对手超过了。
死链对SEO的危害比大多数人想象的大。搜索引擎爬虫每次来你站点,分配的抓取配额是固定的。如果爬虫花大量时间抓取404页面,正常页面的抓取就会被挤压。长期积累下来,新内容收录变慢,老内容更新不及时,排名自然下滑。
怎么检测死链
分两步走。
第一步,内部死链检测。用Screaming Frog或Xenu批量抓取全站,筛选出返回404和500状态码的URL。免费工具用Xenu,站点不大够用了。Screaming Frog免费版限500个URL,站点大的需要付费版。跑完后导出CSV,按状态码筛选。
第二步,外部死链检测。在百度搜索资源平台和Google Search Console里查看抓取错误报告。这里能看到搜索引擎实际遇到的404页面,包括其他网站指向你的失效外链。这些数据比爬虫跑出来的更真实,因为是搜索引擎视角。
检测出来怎么处理
分三种情况。
有对应新页面的,做301跳转。比如旧URL是/old-article/123,新URL是/article/123,配置301把旧URL指向新URL。权重会传递到新页面,不影响排名。这是最优解。
没有对应新页面的,返回410状态码。410表示资源永久删除,搜索引擎会比404更快地从索引中移除这些URL,不再重复抓取。很多站长不知道410和404的区别,统一返回404,结果搜索引擎反复来抓,浪费配额。
外部失效链接无法控制对方删除的,在百度搜索资源平台提交死链。把404URL整理成TXT文件上传到服务器,在死链提交工具里填文件地址。百度会在几天内处理。
404页面本身的优化
不管你怎么清理,总会有用户手动输错URL或点到了失效链接。404页面别只放一句"页面不存在"就完了。
好的404页面应该做三件事:第一,告诉用户发生了什么,用口语化的语言别用技术术语。第二,提供出路,放搜索框、热门文章推荐、返回首页按钮。第三,记录这个404访问,在后台分析哪些URL被频繁访问,及时补上301跳转。
定期跑死链检测,建议每季度做一次。网站内容更新频繁的每月跑一次。把死链清理纳入日常维护流程,别等到排名掉了才想起来查。