网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名。
百度站长平台提供的死链提交工具,可将网站存在的死链(协议死链、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 <directory "="" data="" wwwroot="" www.chanzhi.org"=""> 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.sh
3.提交死链
执行上面脚本时候,就会在指定目录下生成包含所有获取的404页面链接的文件,每个连接占一行。例如:
最后在站长平台提交死链页面中,填写自己的死链文件地址即可,例如:
百度在审核通过之后,会将已经收录的失效链接删除,以避免失效页面链接对网站造成不良的影响。
总结:
本文和大家分享了在Apache服务环境下,如何利用shell脚本自动获取百度蜘蛛等爬虫抓取的死链,并生成汇总文件提交给搜索引擎。如果大家还有其他更好的方法或者疑问,欢迎一起分享交流。
相关推荐
### Apache下通过Shell脚本提交网站404死链的方法 #### 一、引言 在网站维护过程中,经常会遇到由于各种原因导致的死链问题。这些死链不仅影响用户体验,还会对网站的整体权重和搜索引擎优化(SEO)产生负面影响。...
在这个案例中,我们讨论了一个专门用于自动检测和提交网站404错误链接(死链)到搜索引擎的Shell脚本。这个脚本特别关注百度搜索引擎,因为在中国,百度是最主要的搜索引擎之一。 脚本的主要功能是每天分析Nginx...
4. **提交死链文件**:在网站根目录下创建一个.sitemap.xml文件,列出所有死链,并向搜索引擎提交,告知它们这些链接已失效。 **总结:**网站死链检测工具是SEO工作中不可或缺的辅助手段,它帮助我们发现并解决影响...
在构建和维护大型网站时,死链检测是一项至关重要的任务。死链,即无效链接,是指那些曾经有效但现在无法访问的URL。它们可能是由于页面被删除、URL改变或服务器问题导致的。死链不仅影响用户体验,还可能对网站的...
总结,通过编写和使用Shell脚本进行网站日志分析,我们可以快速获取到关键性能指标,从而更好地了解网站的运行状况、优化用户体验、追踪潜在问题,并为决策提供有力的数据支持。这个脚本的灵活性和实用性使其成为...
**正文** 在互联网世界中,网站的健康状况是至关重要的,特别是对于SEO(搜索引擎优化)而言。...通过使用Xenu,网站管理员可以及时发现并解决死链问题,确保网站的健康运行,进而提高搜索引擎的友好度和用户体验。
这个名为"apache_Log_analysis.rar_python log_shell"的压缩包包含了一个实例,演示了如何结合使用shell脚本和Python来处理Apache服务器的日志数据。下面我们将详细探讨这个主题。 首先,Apache服务器的日志文件...
通过使用这个工具,你可以快速、方便地创建一个包含死链的XML文件,以便提交给百度进行处理。 使用步骤大致如下: 1. **运行软件**:解压下载的"百度死链xml生成器.rar",找到并运行"百度死链xml生成器.exe"文件。...
总结来说,通过shell脚本配合`curl`命令,我们可以高效地检测网站的404错误页面和空页面,从而提高网站的可用性和SEO性能。这种方法适用于具有大量页面的网站,能够快速定位问题,为网站维护提供便利。在实际应用中...
总之,“快速查询死链工具”是网站管理员和SEO专业人员不可或缺的辅助工具,通过它能够有效管理和优化网站的链接结构,提高网站的整体质量和搜索引擎友好度。正确地使用这类工具,将有助于网站的长期发展和成功。
基于python开发的检测网站死链程序 设计一个系统,自动完成对于手机搜狐(http://m.sohu.com/ )系统可靠性的检测。具体要求: 定时递归检测所有m.sohu.com域名的页面以及这些页面上的链接的可达性,即有没有出现不...
4. **批量处理**:允许用户批量提交死链至搜索引擎的Webmaster工具,请求删除或更新索引。 5. **自定义设置**:用户可以设定扫描规则,如仅扫描特定目录、排除某些URL等,提高扫描效率。 6. **定时检测**:设置...
死链检测工具通过模拟浏览器请求网站的每个页面,记录下返回的状态码。常见的错误状态码包括404(未找到)、410(永久删除)、500(服务器内部错误)等,这些都是可能的死链标志。工具会将这些状态码对应的链接整理...
通过编写脚本或者使用现成的软件,用户可以定期运行检测,避免手动检查的繁琐工作。 4. **效率优化**:为了提高检测速度,可以采用多线程或异步处理技术,同时对多个链接发起请求。此外,还可以通过缓存已检测过的...
**Xenu检查死链工具详解** Xenu's Link Sleuth(简称...通过定期使用Xenu,可以有效地发现并解决网站的死链问题,提高网站的可用性和搜索引擎排名,为用户提供更好的浏览体验,同时也有助于建立和保持良好的网络形象。
4. 更新XML站点地图:在清除死链后,更新并提交XML站点地图,告知搜索引擎新的网站结构。 5. 定期检测:建立定期检测机制,防止死链再次出现。 五、死链工具的使用步骤 1. 下载并解压"收录死链一键检测-1.2.zip",...
网站死链和无效链接是网页优化中的重要概念,它们对搜索引擎优化(SEO)以及用户体验有着直接的影响。死链,即已经失效无法访问的链接,可能是由于页面被删除、URL更改或者服务器问题等原因导致。无效链接则包括404...
总结来说,Xenu死链检查工具是网站管理员必备的利器,通过定期使用Xenu进行检查和维护,可以有效地保持网站的链接结构整洁,提升网站的整体质量。对于任何重视网站优化的人来说,掌握和利用Xenu这样的工具都是至关...
总结来说,"死链测试网站地址sdafsf"这个标题提示了我们关注的重点在于如何通过有效的工具和方法来管理和优化网站的链接结构,以提升用户体验和搜索引擎优化的效果。而"死链测试工具"的文件名则指出了解决这个问题的...