网站运营人员针对死链这个概念必定不陌生,网站的有些数据删除或页面改版等都容易制造死链,影响用户体验不说,太多的死链还会影响到网站的整体权重或排名。
百度站长平台供给的死链提交工具,可将网站存在的死链(协议死链、404页面)进行提交,可快速删除死链,帮忙网站seo优化。在提交死链的文件中逐个手动填写死链的话太麻烦,工作中咱们提倡繁杂自动化,因此本文咱们一块交流分享Apache服务中经过shell脚本整理网站死链,便于咱们提交。
1.配置Apache记录搜索引擎
Apache是日前网站建设最为主流的web服务,然则apache的日志文件默认是不记录百度、谷歌等各大搜索引擎的爬取程序的,因此首要需要咱们设置Apache的配置文件。
找到Apache的配置文件httpd.conf,在配置文件中找到下面两行: CustomLog "logs/access_log"
common #CustomLog "logs/access_log" combined
默认采用的是common,这儿咱们只需要将common这一行前面加#注释掉,而后将combined这一行前的#去掉就可。而后保留重启Apache服务。
注:倘若你的服务器上添加了多个站点,每一个站点有单独的配置文件,则咱们只需要在相应站点的配置文件中设置CustomLog项就可,例如:
vim /usr/local/apache/conf/vhost/www.chanzhi.org.conf ServerAdmin [email protected] DocumentRoot "/data/wwwroot/www.chanzhi.org"
ServerName www.chanzhi.org
ServerAlias chanzhi.org ErrorLog "/data/wwwlogs/www.chanzhi.org_error_apache.log" CustomLog "/data/wwwlogs/www.chanzhi.org_apache.log"
combined
SetOutputFilter DEFLATE
Options FollowSymLinks ExecCGI
Require all granted
AllowOverride All
Order allow,deny Allow from
all
DirectoryIndex index.html index.php
下面是配置前后的网站日志记录格式:
配置前:
配置后: 2.编写shell脚本
咱们经过shell脚本获取网站日志中指定爬虫的抓取记录,而后汇总到一个文件中,便于后期运用。代码如下,例如保留为deathlink.sh #!/bin/bash#初始化变量#定义蜘蛛UA信息(默认是百度蜘蛛)UA=+http://www.baidu.com/search/spider.html#前一天的日期(apache日志)DATE=`date +%Y%m%d -d "1 day ago"
` #定义日志路径logfile=/data/wwwlogs/www.chanzhi.org_apache.log-${DATE}.log#定义死链文件存放路径
deathfile=/data/wwwroot/www.chanzhi.org/deathlink.txt #定义网站拜访位置
website=http://www.chanzhi.org #分析日志并保留死链数据for url in `awk -v str="${UA}" $9=="404" && $15~str {print $7} ${logfile}
` do grep -q "$url" ${deathfile} || echo ${website}${url} >>${deathfile}done
大众在运用该脚本时,按照自己服务器状况调节下路径和字段就可,而后执行脚本,: bash deathlink.sh3.提交死链
执行上面脚本时候,就会在指定目录下生成包括所有获取的404页面链接的文件,每一个连接占一行。例如:
最后在站长平台提交死链页面中,填写自己的死链文件位置就可,例如:
百度在审核经过之后,会将已然收录的失效链接删除,以避免失效页面链接对网站导致不良的影响。
总结:
本文和大众分享了在Apache服务环境下,怎样利用shell脚本自动获取百度蜘蛛等爬虫抓取的死链,并生成汇总文件提交给搜索引擎。倘若大众还有其他更好的办法或疑问,欢迎一块分享交流。 让您学习到的每一节课都有所收获
《Linux就该这么学》是一本由资深运维专家刘遄老师及国内多名红帽架构师(RHCA)基于最新RHEL7系统一起编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。荣获双11、双12购物狂欢节IT品类书籍销量冠军,2017年、2018年国内读者增速最快的技术书籍,您能够在京东、当当、亚马逊及天猫搜索书名后购买,也可加刘遄老师微X交流学习(手指按住下图3秒钟就可自动扫描)~
刘遄老师QQ:5604583
☀ Linux技术交流群:2636170(新群,火热加群中……)
☀ 官方站点:www.linuxprobe.com
☀ 书籍在线学习(电脑在线阅读效果更佳):
http://www.linuxprobe.com/chapter-00.html
《Linux就该这么学》是一本基于最新Linux系统编写,面向零基本读者的技术书籍。从Linux基本知识讲起,而后渐进式地加强内容难度,仔细讲解Linux系统中各样服务的工作原理和配置方式,以匹配真实生产环境对运维人员的需求,突显内容的实用性。想要学习Linux系统的读者能够点击"阅读原文"按钮认识这本书,同期这本书亦适合专业的运维人员阅读,做为一本非常有参考价值的工具书!
|