网站改版、删栏目、下线路由,难免会留下一堆404。百度蜘蛛抓到死链不会立刻停止,它会反复尝试,白白消耗你站点的抓取配额。死链积累多了,还会影响站点评级。
百度搜索资源平台提供了死链提交工具,但有个前提:你提交的URL必须真实返回404或410状态码。如果页面内容没了却返回200,百度不会认;如果返回302跳到首页,会被判定为软404,反而更糟。
标准流程是三步:先扫出所有失效URL,再生成死链文件,最后在平台提交。死链文件格式可以是txt或xml,每行一个URL,单个文件最多5万条、小于10MB;每次最多提交20个文件地址。提交后大约一周生效。
写个Python脚本自动扫sitemap里的URL,返回404或410的写入silian.txt。注意设置合理的超时和重试,别因为一次网络抖动把活链误判成死链。
#!/usr/bin/env python3
# scan_dead_links.py:扫描urls.txt,把真404写入silian.txt
import requests
with open("urls.txt", encoding="utf-8") as f:
urls = [line.strip() for line in f if line.strip()]
dead = []
for url in urls:
try:
r = requests.get(url, timeout=15, allow_redirects=False)
if r.status_code in (404, 410):
dead.append(url)
except Exception:
pass
with open("silian.txt", "w", encoding="utf-8") as f:
for u in dead:
f.write(u + "\n")
print(f"发现死链 {len(dead)} 条,已写入 silian.txt")
死链文件上传到网站根目录后,在平台“资源提交—死链提交”里填文件地址和更新周期。提交后每天观察数据反馈,状态显示“处理中”是正常,如果一周还没生效,再去反馈中心提工单。这里最容易踩的坑是文件里混进了活链,活链会被一起屏蔽,代价不小。
软404是死链治理里最大的坑。页面明明不存在了,服务器却返回200,甚至跳转到首页或列表页,蜘蛛会以为这个URL还有内容,继续反复抓取。清理软404的关键是服务端直接返回404或410,别用JS跳转遮羞。
建议把死链扫描做成定时任务。每周跑一次脚本,把新增的404自动追加到死链文件,再重新提交。这样改版后的长尾死链不会慢慢腐蚀站点评级。
死链治理不是一次性工程。站点每次改版、删栏目、换URL规则都会批量产生新死链,建议把扫描脚本挂进月度例行任务,滚着做。同时把404页面本身利用起来:放返回首页入口和热门内容推荐,用户点进来不至于一秒流失,百度侧的死链提交管收录,页面侧的引导管留存,两条都要抓。
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!


