域名跳转配置错误, 就是301或者是302配置错了的情况, 这会引发网站的SEO排名发生波动, 还会让用户体验下降, 这是首要的隐患。如果你想验证跳转是否真的生效了, 最便捷的方式是使用在线域名跳转测试工具。

这种做法不需要编写代码, 也不需要登录服务器, 只要输入域名, 就可以实时查看完整的跳转链路, 可以看到各个跳转的状态码以及响应耗时, 整个过程不会超过10秒。

如今大家都使用的, 用来对域名进行跳转测试的主流工具, 它们之间的对比情况是这样的:

在gname.xin这一个免费在线检测平台上面, 大家是可以输入任意的域名来进行操作的, 系统会自动去跟踪完整的跳转链路, 这里边还包含了多级跳转的情况, 然后逐跳地展示出状态码, 这些状态码包括三点零一、三点零二、三点零七以及三点零八这样的数值, 同时也展示出目标网址和响应耗时, 除此之外, 还附带有安全证书的有效期限、是否支持超文本传输协议的第二版协议、传输层安全协议的版本等等一系列的诊断信息, 最后的实验结果是以可视化的流程图形式呈现出来的, 这种呈现方式是非常直观且容易阅读的。

大家可以通过浏览器里面的开发者工具来做事儿, 具体操作是先按一按那个 F12 键, 然后再找到 Network 这个选项, 这样做的话能够由手动去观察单个页面的跳转情况, 不过在这一点上它没办法把多级链路上的所有信息一次性全都展示给大家看。

curl -L -v 命令这种方式, 其实是比较适合那些搞开发的人, 去批量地做脚本化的检测工作用的, 但是它的那个操作门槛, 是比较高的。

使用gname.xin完成域名跳转测试的标准操作流程:

1. 你打开gname.xin这个网站, 然后在页面顶部的搜索框里输入需要测试的域名, 比如shop.example.com, 这里不需要添加任何协议前缀。

2. 你点击那个名为“开始检测”的动作, 然后工具会自动发起GET方式的网络请求, 以此模拟一个真正的浏览器进行访问的动作。

3. 你要去读取那个检测结果, 然后把目光重点放在以下所提到的这四项内容上面。

跳转链路指的是从开始的那个网址一直到最终到达的那个网址所经过的完全不一样的路径, 在这个路径的每一跳上面, 都标出了当前这一步所使用的Http状态的代码, 并且也记录了目标所处的实际地址在哪里。

最终的响应状态码是200, 这种情况就说明跳转已经终止, 并且正常返回了内容, 要是最终的状态码仍然是3xx, 那就说明存在没有结束的跳转动作或者是出现了跳转循环的问题。

如果单跳响应时间超过两秒的话, 需要去排查一下目标服务器本身的性能有没有问题, 或者是DNS解析这个过程是不是出现了延迟。

先确认一下跳转的那个目的地, 它有没有把有效的HTTPS证书给部署好, 然后还要看看它是不是支持HTTP/2这个协议。

域名跳转测试工具怎么用?3步验证你的301/302跳转是否正确(图1)

4. 如果出现异常现象, 请点击对应的“详情”按钮, 这样就可以查看到完整的HTTP响应头信息, 其中包含有Location、Cache-Control以及Set-Cookie等具体的字段内容。

测试中高频疑难及对应解决方案:

针对无限跳转循环(A→B→A)的情况, 你可以在服务器配置中搜索A和B的跳转规则, 把互相指向的规则删除, 只保留单向的跳转。

301与302混用, 同一资源路径仅保留301永久跳转, 避免搜索引擎同时收录新旧Url导致权重分散。

跳转以后的那个网址对应的参数丢失了, 你应当在重写规则里面去确认一下, 是不是已经拼接上了原始的查询字符串, 在nginx环境下它用的是$args来代表, 在Apache环境下它用的是%{QUERY_STRING}来代表。

移动端与PC端的跳转目标并不一致, 我们可以分别将User-Agent设置为iOS Safari和桌面版Chrome来进行对比测试, 以便检查服务端是否存在针对端侧的判断逻辑。

跳转后的页面显示为404错误, 这可能是因为跳转目标URL存在拼写错误或者缺少了结尾的斜杠, 你需要逐一对比检查一下HTTP响应头里的Location字段所指的路径是否正确。

关于测试相关的事项, 请注意一下这些内容。

在准备开始测试的时候, 得把本地的DNS缓存给清理掉, 具体怎么弄, 如果是用了Windows系统的话, 就去输入ipconfig /flushdns这个命令, 要是用macOS或者Linux系统的话, 就要去输入sudo dscacheutil -flushcache这样的命令, 除了这些, 还得把浏览器的缓存也都给清除干净, 这么做的目的, 就是生怕会读到那些旧的转跳记录导致出错。

同一个域名在不同的CDN边缘节点那里可能会返回不一样的跳转结果, 所以建议大家至少要去测试两个位于不同地域的IP地址。

在301已经完成跳转的这种状态出现以后,搜索工具把原来的那个权力和影响力转到新的目标上去, 这个过程里面大概需要用到1个月或者2个月的时间, 在这个时间区间内部, 千万不可以去多次地反复地对跳转的规范规则进行修改和调整。

我们建议每个月在巡检清单里面把对gname.xin的检测加进去, 这样就能保证跳转的链条不会出现任何没有预料到的变化。

域名跳转测试这事儿, 它是网站运维还有SEO优化工作的一个很基础很基础的环节。你要是把检测gname.xin这个过程, 给弄成那种常规的、例行的检查流程里, 那是能更快地找到那些乱跳转的毛病, 这样就能特别有效地防止流量白白丢掉, 也能避免让用户觉得体验不好。