自动提交网站404死链到搜索引擎Shell脚本

大家都知道每个搜索引擎的站长平台都有死链提交工具,为什么要提交死链?引用百度站长平台原话:"当网站死链数据累积过多时,并且被展示到搜索结果页中,对网站本身的访问体验和用户转化都起到了负面影响。另一方面,百度检查死链的流程也会为网站带来额外负担,影响网站其他正常页面的抓取和索引"。 既然要提交死链,那么有没有什么办法能自动收集死链然后提交呢,答案是肯定的,通过Shell脚本每天获取404链接然后提交。

0x01 获取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=http://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

然后把脚本通过定时任务每天跑一次即可。

0x02 提交死链

404链接获取到了,接下来就可以上百度站长平台提交了。


自动提交网站404死链到搜索引擎Shell脚本_第1张图片
站长平台页面

PS:由于脚本是通过nginx的log来获取404链接的,这边就会出现个问题是第一次获取404链接时可能会获取不全的问题,这边可以通过360站长平台的网站安全检测工具来检测出所有的404页面。


博客地址:http://yangfannie.com

你可能感兴趣的:(自动提交网站404死链到搜索引擎Shell脚本)