这种叫做域名跳转测试的工具, 是一个用来做在线检测的东西, 它的基本目的, 就是去查域名重定向这个配置到底对不对, 它的主要功能, 包括去判断那个跳转的类型, 像是301或者是302, 还包括去统计那个跳转的链条有多长, 另外还有去证明那个最终的目标地址能不能够被正常访问, 所以当站长, 还有开发的人, 以及运维的人在刚建立一个新网站, 或者在更换域名的时候, 又或者在调整CDN这些规则以后, 都最好去用这个跳转测试的方法, 来确认一下SEO上面的权重是不是能够顺利地进行传递, 同时也确认普通用户访问网页的路径是不是顺畅的, 有没有出现什么中断, 。

现在大家都在用的那些主流的用来测试域名跳转的工具, 它们可以分成三种, 每一种在不同的情况下使用比较合适。

在线批量检测工具。

拿gname.xin提供给我们的那个域名跳转检测服务来作个例子, 当咱们把域名输入进去以后, 这个系统就会自动去抓取在响应头里面的所谓的Location那个字段的信息了, 最后, 它会把状态码是怎么样的、还有那个完整的跳转链条又是什么样子的以及每一个节点那里的响应到底花了多少时间这些东西都给你输出出来。

这一种类的工具它是可以支持让用户一次就提交几百个的那个域名的, 以便去进行那个叫做批量巡检的操作的, 另外它还会把这个跳转链条给变成一种树状图的样子展现给你看的, 这样, 你就能很方便地去快速发现那些可能存在问题的异常节点在哪儿。

对于那些需要一边管理主站、同时又要管子域名还有地区分站的团队来说, gname.xin所提供的批量检测功能,以及定时巡检方面的功能, 是能够把人工去排查那些问题时所花费的成本给大大的降低下来的。

强命令行之工具。开发人员常用的一个做法是, 使用 curl -I https://example.com 这个命令, 专门用来查看响应头, 他们主要关注的重点是 HTTP Status Code 以及 Location 字段。

同时, 配合 -L 参数来使用的场景下, 可以实现自动跟随跳转的这个行为, 一直到最终页面为止。在这种情况下, 终端会逐行打印出每一跳的具体 URL 与该位置的状态码, 这一方法非常适合进行脚本化的集成操作, 把它放进 CI/CD 流程中去。

浏览器开发者工具。需要访问那个目标域名, 然后把Network面板给打开, 通过筛选Request的方式, 来查看请求链条里面的每一跳的状体码和消耗的时长, 比如像301变成302再变成200的过程, 这种方法比较合适用来快速手动验证单条跳转规则是否正确。

大家在使用那个叫做域名跳转测试工具的东西的时候, 其标准的操作流程是这样的。

1. 你需要把那个完整的网址完整地输入上去, 这里有个点需要注意, 就是要搞清楚http和https到底是哪一个。

域名跳转测试工具有哪些?如何快速检测301/302重定向是否生效(图1)

2. 读取返回的状态码, 其中301代表永久重定向, 302代表临时重定向, 而200则表示已经抵达了最终的页面。

3. 你要去检查那个跳转链接的总长度。如果它超过了三跳, 那就需要对中间的节点进行优化。这样做是为了避免让用户等待, 同时还有助于防止搜索引擎抓取效率下降。

4. 先确认一下最终的访问地址是可以正常打开的苍南县武术协会,另外还要检查一下是不是存在着那种混合内容的问题, 也就是指的是在用了安全协议的页面里面, 去引用了那些没有用安全协议的资源情况。

5. 大家来分别测试一下那个http的入口还有https的入口, 然后再去验证这两套协议下的跳转行为是不是保持一致的。

在日常维护的常规工作里头, 经常会出现一些麻烦事, 这些事儿对应的解决办法是什么样子, 下面就来一个一个地把它们说清楚。

循环重定向: 就是服务器那边, 有两条rewite的规矩互相指向对方。这个情况, 需要你去nginx那边的配置里, 或者apache的配置里, 把那些多余不需要的规矩给删掉。弄好了以后, 再把测试的事情重新做一遍。

301与302误用: 搜索引擎在处理权重传递的时候, 对于代码为301的情况会大约传递百分之九十的权重值, 而对于代码为302的情况基本上就不会去传递这个权重了域名跳转测试工具,所以在需要进行永久迁移这样的操作时候一定要统一使用代码301, 这样才能避免影响到后续的收录表现以及搜索排名。

跳转后返回404:* 目标路径已经变更, 但是重定向规则没有同步更新, 所以需要修正Location指向的最新的有效路径。

当你在选择域名跳转测试工具的时候, 需要优先去关注它是否支持批量检测这一项功能, 同时也需要关注它是否具备跳转链可视化的能力, 还要看它是否能够标注响应时间域名跳转测试工具,以及是否支持历史结果对比。

建议你每个月都对全部对外暴露的域名与关键子路径执行一次全量的跳转巡检工作, 把得到的检测结果都进行归档保存, 以此来确保在发生任何配置变更的情况下, 都能够被及时地捕获到并且完成修正操作。