重定向改变路径,不会自动改写原始外链

外链是来源页面中的HTML链接。如果它指向的地址返回301,客户端可以沿Location访问另一个网址,但发布者页面里的href不会因此自动改变。记录时要分清来源链接、负责跳转的网址以及最终文档。迁移能够让读者继续到达相应内容,却不能把新增的中转地址当成新获得的编辑推荐。链接是否存在、原地址是否响应、最终页面是否合适是不同问题,应分别保存证据,而不是只写一个“链接已修好”的结论。

RFC 9110 · 301 / 302 / 307 / 308

明确你能控制哪些网址

你只能修改自己有权限管理的主机或应用规则。外部发布者负责来源页面,目标网站负责人负责目标路由,先明确双方职责再安排修复。更新自己的内部引用,合适时请发布者调整旧链接,同时保留仍被读者使用的旧路径。这个指南不会通过Google网址生成链接,不购买过期域名,也不发送推广消息。不能控制来源页时,不应把一个重定向配置描述成已经修改了第三方内容;应如实记录仍然指向旧地址的链接。

按内容与目的建立对应关系

列出旧网址、原来用途、拟定替代页和内容相当的证据。可以参考自己的链接记录、导航及站点地图,但单次导出不一定是完整清单。保留有意义的语言、产品和查询参数差异,不能把所有地址都无差别送到首页。内容永久删除且没有合适替代时,返回资源缺失响应可能才是正确处理。实验中的“相当内容”是明确给出的教学条件,并非自动判断真实网页质量的算法。准备映射时还应指定审核人,避免仅按字符串相似度自动上线。

Google · Site moves

有意识地区分永久和临时迁移

真正永久迁移可选择301或308,原位置计划恢复则使用302或307。Google将其解释为不同的规范化信号,但本地状态测试无法显示它最终选择了哪个规范网址。本练习只使用GET。对接受POST或其他方法的接口,还需检查所选状态是否保留请求方法。此前的永久跳转可能在修正后仍留在浏览器或代理缓存中,因此线上验证不能只看服务器配置文件。实验服务器返回no-store,使反复切换前后状态时更容易观察当前响应。

Google · Redirects

重现七组修正前后的案例

工具包在loopback上运行真实HTTP服务器。两个配置中,来源页的链接完全相同,改变的只是目标路由。选择案例和阶段后逐条查看响应,不要只看浏览器地址栏最后显示什么。循环会在再次请求重复地址前停止;已经正确的对照案例刻意不变。这是可复现的工程练习,不是你的网站扫描,也不是搜索引擎模拟。相同路径在前后两个服务器配置下运行,便于对比规则变化,不能把本地案例当成已在生产环境部署的证据。

检查重定向路径
ID预期结果修复前修复后
R01旧指南有合适替代页/guide,但旧网址目前返回404。404 /r1/old-guide301 /r1/old-guide → 200 /guide
R02指南通过/middle到达,多出的这一步可以省去。301 /r2/old-guide → 301 /middle → 200 /guide301 /r2/old-guide → 200 /guide
R03旧地址与/r3/loop互相跳转,无法到达最终文档。301 /r3/old-guide → 301 /r3/loop · 网址重复:在再次请求前停止301 /r3/old-guide → 200 /guide
R04读者期待指南,而/home只有一般导航。两个阶段都以200结束。301 /r4/old-guide → 200 /home301 /r4/old-guide → 200 /guide
R05内容永久移除,/home不能满足原用途。301 /r5/old-guide → 200 /home410 /r5/old-guide
R06原服务会恢复,/holding只是临时通知。301 /r6/old-guide → 200 /holding302 /r6/old-guide → 200 /holding
R07旧指南已经通过一次301到达相应替代内容。301 /r7/old-guide → 200 /guide301 /r7/old-guide → 200 /guide

R01 · 迁移页面没有对应规则

添加一次永久跳转到声明的替代页。

相同旧网址返回301,随后/guide以200提供预期指南。

R02 · 能到达但多绕一步的链条

旧地址直接指向/guide,同时保留仍有用途的中间地址规则。

请求从三次变成两次,最终指南及来源链接不变。

R03 · 两个网址形成循环

将入口规则改为直接对应/guide。

不再因重复路径停止,观察到的响应是301和200。

R04 · 首页成功响应,但内容不合适

指向相应的/guide,而不是任意成功页面。

同时核对最终路径和正文。这不是已观察到的Google软404分类。

R05 · 内容删除且没有合适替代

在这个明确条件下返回410,并清理旧内部引用。

旧地址返回410及不可用说明,不虚构替代内容或排名恢复。

R06 · 临时迁移被声明成永久

本GET示例使用302,并记录恢复原服务的计划。

仍到达同一通知,但经由302而非301。旧缓存与搜索处理需要另外核对。

R07 · 正确的永久映射保持不变

保留工作正常的规则作为对照。

前后证据完全一致,不制造多余修复或排名改善。

上线后验证完整路径

经过授权的映射上线后,应通过实际代理或CDN访问公开网址,保存首次状态、每个Location、最终网址、状态与预期正文。有意识地检查重要查询参数、协议和主机名称变体。爬取许可、canonical与索引指令应作为独立项目核对,不能由200响应直接推断。再测试已知循环及旧中间路径,记录观察时间、证据位置和负责修正的人。请求成功并不说明Google已重新抓取变化,更不能单凭它承诺访问量或搜索排名增长;这些结果需要后续独立观测。

Google · HTTP status codes

未测量收录、规范网址选择、流量或排名,也不计算传递权重的百分比。

持续维护有用的映射

保留带日期的映射表,在CMS或路由规则变更后复查重要旧链接。Google的迁移指南建议尽可能长期保留重定向,通常至少一年;如果访客仍依赖旧链接,继续保留可能更有帮助。将内部链接和站点地图更新到现行地址,监控已知来源与目标配对,并在获得权限后查看实际搜索数据。供应商计数使用各自的采集日期、过滤和覆盖范围,因此面板更新较慢并不能单独证明跳转失效。应先确定请求路径是否正确,再讨论索引与流量层面的变化。

Google · Site moves

外链监控工具

需要Python 3.10或更新版本。将ZIP解压到本地目录。验证命令会启动临时回环服务器,测试所有案例,输出JSON后停止,不访问外部网站。

已填写的重定向映射(CSV)

空白重定向映射(CSV)

带注释报告(HTML)

使用说明

本地测试包(ZIP)