大家都知道每个搜索引擎的站长平台都有死链提交工具,为什么要提交死链?引用百度站长平台原话:"当网站死链数据累积过多时,并且被展示到搜索结果页中,对网站本身的访问体验和用户转化都起到了负面影响。另一方面,百度检查死链的流程也会为网站带来额外负担,影响网站其他正常页面的抓取和索引"。 既然要提交死链,那么有没有什么办法能自动收集死链然后提交呢,答案是肯定的,通过shell脚本每天获取404链接然后提交。网上的方法很多,这边引用张戈博客的shell代码
一、获取404链接
#!/bin/bash #定义蜘蛛UA信息(默认是百度蜘蛛) UA=+http://www.baidu.com/search/spider.html #前一天的日期(nginx日志) DATE=`date +%Y-%m-%d -d "1 day ago"` #定义日志路径 logfile=/opt/nginx/logs/yangfannie.com.log_${DATE}.log #定义死链文件存放路径 deathfile=/xxxx/deathlink.txt #定义网站访问地址 website=https://yangfannie.com #分析日志并保存死链数据 for url in `awk -v str="${UA}" '$9=="404" && $15~str {print $7}' ${logfile}` do grep "$url" ${deathfile} >/dev/null || echo ${website}${url} >>${deathfile} done
然后把脚本通过定时任务每天跑一次即可。
二、提交死链
404链接获取到了,接下来就可以上百度站长平台提交了。
PS:由于脚本是通过nginx的log来获取404链接的,这边就会出现个问题是第一次获取404链接时可能会获取不全的问题,这边可以通过360站长平台的网站安全检测工具来检测出所有的404页面。

聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客
2016年10月29日 下午8:53 沙发
这个不错,可以参考一下!
话说鸟哥的Begin主题真是高大上呀!