首页 > 建站知识

怎样在Apache中用shell脚本提交网站404死链

2018-10-27 11:20:00 海静

  怎样在Apache中用shell脚本提交网站404死链?百度站长平台提供的死链提交器材,可将网站存在的死链(条约死链、404页面)进行提交,可迅速删除死链,协助网站SEO优化。在提交死链的文件中逐一手动填写死链的话太困难,工作中咱们提倡复杂自动化,所以本文咱们一起交流分享Apache服务中经过shell脚本清理网站死链,便于咱们提交。

SEO优化

  1.配置Apache记载搜寻引擎

  Apache是目前网站建设为主流的web服务,可是apache的日志文件承认是不记载百度、google等各大搜寻引擎的爬取程序的,所以首先需求咱们配置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

  底下是配置前后的网站日志记载格式:

  配置前:

  配置后:

SEO优化

  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.sh

  3.提交死链

  实行上面脚本时辰,就会在指定目次下生成包括全部获得的404页面链接的文件,每个连接占一行。例如:

  后在站长平台提交死链页面中,填写自身的死链文件位置能够,例如:

  百度在审核经过之后,会将依然收录的失效链接删除,以防止失效页面链接对网站形成不良的影响。

转载请注明出处。