1 软件介绍
Xenu是一款出色的死链接检测工具,全称为:Xenu Link Sleuth。它是由德国柏林的Tilman Hausherr为网页死链检测专门开发的免费软件。Xenu也许是你所见过的最小但功能最强大的检查网站死链接的软件了。你可以打开一个本地网页文件来检查它的链接,也可以输入任何网址来检查。它可以分别列出网站的活链接以及死链接,连转向链接它都分析得一清二楚;支持多线程,可以把检查结果存储成文本文件或网页文件。
Xenu的特点:检测范围广、 检测速度快、操作简单、一次检测可以涵盖100万以上的URL总量、报告采用HTML格式输出、可以按照网页标题自动生成网站地图、支持重定向和SSL。
Xenu是被广泛使用的死链接检测工具。可以检测到网页中的普通链接、图片、框架、插件、背景、样式表、脚本和java程序中的链接。那么什么时候出现死链接:
l 动态链接在数据库不再支持的条件下,变成死链接。
l 某个文件或网页移动了位置,导致指向它的链接变成死链接。
l 网页内容更新并换成其他的链接,原来的链接变成死链接。
l 网站服务器设置错误。
1.1 软件作用
用于检测网站链接有效性的绿色软件,使用简单,最大支持100线程( Parallel threads),检测速度非常快。在对某网站的6层连接100630个连接进行检测时,使用默认的100线程耗仅费了1小时40分钟。当然耗费的网络资源比较多。
1.2 功能特点
1) 优点:
l 免费的
l 体积小巧(软件大小不到1MB),界面简单易学
l 检查完后,可生成链接情况报告,还能自动将报告发送到指定 email 信箱
l 给出死链接所在页面,方便修改或删除死链接;
l 可设置并列线程和测试最大层次
l 可以一链即查看所有“失败链接报表”
l 有重新检查失败链接的功能“recheckbroken”
2) 缺点:
l 只检查链接是否有效,不检查是否正确
l 只有Windows版本
l 网速慢,可能会发生超时(Timeout)错误,导致无法得知目标链接到底是不是死链接
l 存在检测不准确的问题(极少,大家可以通过点击死链接,查看是否能链接正确来再次确认)
2 测试原理
从待测网站的根目录开始搜索所有的网页文件,对所有网页文件中的超级链接、图片文件、包含文件、CSS文件、页面内部链接等所有链接进行读取,如果是网站内文件不存在、指定文件链接不存在或者是指定页面不存在,则将该链接和处于什么文件的具体位置记录下来,一直到该网站所有页面中的所有链接都测试完后才结束测试,并输出测试报告。
如果发现被测网站内有页面既没有链接到其他资源也没有被其他资源链接,则可以判定该页面为孤立页面,将该页面添加到孤立页面记录,并提示用户。
测试链接目标是否存在和是否有孤立页面都可以通过程序自动完成,但是程序却不能判断目标页面是否与用户的用意是否相符合,如果链接到不正确的页面,例如将公司介绍链接到产品介绍,则程序无法进行判断,因此链接页面的正确性需要人工进行判断。
测试完毕后,可以通过REPORT菜单中的HTMLREPORT来进行测试结果的查看,可以查看的方式包括:
l 错误链接报告
l 完整的报告
l 测试文件清单
l 用户自定义的HTML报告,可以允许用户定义显示条件。
l 重定向链接列表
链接测试因为技术含量不高,很多测试人员都不愿意做链接测试,但是链接的正确却直接影响用户对该网站的印象,一个网站如果出现链接上的错误,不管其页面做的如何漂亮,用户对其信任度都会大打折扣。因此,我们首先必须重视链接测试,虽然其需要耗费很多的时间,但是可以提高网站的整体质量,另外引入链接自动化测试工具可以加快链接测试进行的速度。
3 下载与使用
1) 下载地址:http://home.snafu.de/tilman/xenulink.html,也可自行百度下载中文版;下载的英文版需要安装,中文版直接解压即可使用
2) 安装或下载完之后,打开应用,会有提示与技巧
3) 点击File->Check URL…添加URL地址
4) 输入需要测试的信息,例测试https://www.sohu.com/
5) 点击ore options..可进行一些参数设置
6) 可最多设置100个并列线程,最大测试层数貌似没有限制,但最大层次建议在6以内,否则会有很多链接,测试的速度和有效性会大打折扣,相信一般的网站链接也不会超过6层。报告(Report)可全选。比较关心的是中断链接、中断内部链接、统计、有效文字链接。
7) 点击确认,ok后开始检查;检查结果显示常见有3中状态:
l Skip external ——跳过外部链接测试
l OK —测试通过
l Not found ——死链接
8) 检查完成后,提示是否需要生成报告,点击“是”,等待报告生成
9) 报告生成后,Xenu会将所有错误链接列表供大家参考,同时还会生成一个XML网站地图。不过生成的报告总体来说并不利于浏览,一方面是报告英文的,另一方面需要大家逐一浏览,很费精力。可将检查结果导出为制表符分割的文件。
10) 导出的文件为txt文件,此时大家就可以使用Excel表格的数据整理功能进行数据整理,在Excel表格中点击数据->自文本,导入刚刚的txt文件,其他默认配置
11) 最终结果如下图:
12) 此时只要勾选404就能通过状态码找出哪些页面是死链接,方便快捷
13) 选择某条记录,右键->URL properties,可以查看该链接的信息
14) 根据链接的网址以及锚文本,对所链网页进行查找
4 状态识别
检测完的链接状态常用的有:ok、timeout、noconnection、no such host、not found、no info to return、no object data、keep same verb等等。
l ok、mail host ok :表示链接正常;
l timeout、no connection、no such host:表示访问超时或者无法访问(不代表是空链);
l not found:如果是not found,表示没有找到,即空链接。
l no info to return:没有对象返回,即空页面。
l no object data:没有对象数据,常见于访问服务器出现400错误等访问出错情况
l keep same verb:url是一致的,例如<a href="网址链接A">网址链接A</a>这种形式,在软件识别此状态后,建议在源码里检查一下,如只有类似刚才举例形式是无需担心的,如有其他形式的链接,需要看其是否符合seo优化标准再做修改