Shell脚本自动提交网站404死链到搜索引擎
从 Nginx 日志分析并生成能提交到搜索引擎的死链文件的 Shell 脚本。
一、前因后果
今天在看百度站长平台的抓取频次的时候,发现最近抓取次数有所下滑,并且平均响应时间也有所上升,感觉和最近频繁折腾主题以及访问量增加有所关系:

再往下看,却发现网站抓取中出现的 404 数据也呈上升趋势:

二、Shell 脚本
说做就做,简单的写了个 Shell 脚本就搞定了!
脚本名称:网站死链生成脚本
脚本功能:每天定时分析网站前一天的 nginx 日志, 然后提取状态码为 404 并且 UA 为百度蜘蛛的抓取路径,并写入到网站根目录下的 death.txt 文件,用于提交百度死链。
脚本代码:
使用说明:
①、脚本适用于每天都做了日志切割的 Nginx,没有做的朋友可以参考博客之前的文章:
②、将代码保存为 shell 脚本,比如 deathlink.sh,然后如下建立任务计划:
③、执行后,将在网站根目录生成死链文件:death.txt,可以浏览器访问看看内容,比如:
④、前往立即前往提交这个死链文件即可:

效果截图:
下面贴上这几天死链抓取(百度定时抓取,无需人工干预)及处理情况,效果还是非常明显的:

注意事项:
①、如果你的 nginx 服务 并没有配置相应的 access 日志,请自行在 server 下添加所需网站的 access 日志,否则脚本无法使用;
②、脚本适用的 access 日志格式如下:
如果和你的不一样,则需要修改脚本中的 awk 指定的域(即$9、$15 以及$7) 三、其他拓展
①、如果你之前没有做过 Nginx 日志切割,那么可以直接用下面这个脚本来一次性搞定:
②、其他 WEB 服务器,比如 Apache 或 IIS,只要参考脚本思路,修改成实际的路径或日志字段,同样可以写一个相同功能的 Shell 或 Batch 脚本,有需求的朋友自己去研究折腾吧!
最后更新于