跳到内容

↪️ 重定向链跟踪

逐跳跟踪 URL 重定向。显示状态码、延迟、HTTPS 升级/降级、循环和过度链。

完全免费 无需注册 服务器处理 无日志 / 数据库 限速 5 种语言 深色模式

⚠️ 请求从 DevLab 服务器发起。不允许私有 IP 地址和 localhost。

📚 重定向最佳实践

• SEO 理想:≤3 跳。Google 可能在 5 跳后停止跟踪。

• 永久用 301,临时用 302 / 307。

• 绝不从 HTTPS 降级到 HTTP。

• 重定向循环是必须立即修复的严重 bug。

📖 本诊断能告诉你什么

本诊断从你输入的 URL 出发,逐跳跟随 Location 标头,显示每一步的状态码与去向以及最终落点。它与真实用户经历的跳数可能并不一致。在已生效 HSTS 的浏览器中,从 HTTP 到 HTTPS 的第一跳会在进入网络之前被内部替换;而按 Cookie 或地区分发的站点,路径本身就会不同。

检查项 含义 未通过时的处理
301 / 302 与 307 / 308 的选用 出于历史原因,301 与 302 允许浏览器在重定向时把 POST 改为 GET。307 与 308 则原样保留方法与请求体。用 301 迁移表单提交地址或 API 端点,就会出现「请求到达时 body 已消失」这类难以定位的故障。 永久迁移时,只接收 GET 的页面用 301接收 POST 的端点用 308。临时切换(维护页、A/B 测试)请选 307 而非 302,方法不变可以避免一整类事故。
出现了可以避免的两级跳转 把 HTTPS 升级与 www 规范化写成两条独立规则,必然产生两跳http://example.comhttps://example.comhttps://www.example.com。再加一条处理末尾斜杠的规则就是三跳。每一跳都是一次完整往返,在移动网络下慢得能感觉出来。 让第一条规则一次性跳到最终形态(含协议、主机与末尾斜杠)。nginx 只需在 listen 80 的 server 块中写一行 return 301 https://www.example.com$request_uri;。层层叠加单条重定向的写法,规则越多越难判断其顺序依赖。
最终落点与 canonical 不一致 当跳转终点与该页面声明的 canonical 不一致时,谷歌会自行决定以哪一个为规范。Search Console 中同时出现「网页会重定向」与「谷歌选择的规范网页与用户指定的不同」,正是这种状态。 请确认终点页面的 canonical 指向自身 URL,并做到末尾斜杠、大小写、跟踪参数都完全一致。站点迁移的原则是「旧 URL 对新 URL 一一对应」,若一股脑跳到首页,谷歌会将其视为软 404。

重定向并不是可以随手清理的东西。指向旧 URL 的外部链接与尚未更新的书签会存在多年,谷歌自身也建议站点迁移的重定向至少保留一年。本站对旧域名的 301 也按一年以上的方针维持。迁移数月之后,请再跑一次本诊断,检查是否存在目标已变成 404 的重定向。

🔗 相关工具