先给结论:不要为每个旧地址强行找等价新地址。把旧地址按“仍有独立价值、可合并到相近页面、只剩历史链接价值、已无保留必要”四类分开,分别用保留、301、410 或保留占位页处理。判断依据不是新旧路径长得像不像,而是旧地址背后的内容、外部链接和用户意图是否还能被新目标承接。
从你手上的资料里挑一个最典型的旧地址,例如 /old-service/consult.html。先回答三个问题:它过去是否承载过独立内容;它现在是否还有外部链接或用户收藏;它对应的业务是否还继续提供。三个答案不同,处理方式就不同。
如果旧地址有独立内容、外部链接仍在、业务也继续,但新站没有完全等价页面,这时选“保留一个可访问的旧地址”通常比硬做 301 更稳。保留不等于原样恢复旧系统,可以是一个说明当前服务范围、指向最接近新页面的静态页。前提是你能维护它,并且它不会和主站产生重复内容冲突。
分类之后,动作才有依据。把“长得像”当作 301 的唯一理由,往往会造出一批用户落地后仍找不到答案的跳转。
假设你决定把旧地址 /old-service/consult.html 301 到 /services/consulting/。动作是:先只改这一个地址,保留其他旧地址不动,然后分别检查三件事——旧地址是否返回 301 且 Location 指向新地址;新地址是否返回 200 且内容与旧意图相关;旧地址是否仍出现在站点地图或内部链接中。
如果旧地址仍被站点地图列出,下一步应先把它从站点地图移除,而不是继续加更多 301。站点地图不保证收录,但它会影响你向搜索引擎表达哪些地址是当前有效的。若旧地址还被内部链接指向,应先改内部链接,否则每次抓取都会重新发现这个跳转。
有人会用 robots.txt 禁止抓取旧地址,以为这样就能完成移除。抓取限制不等于可靠的索引移除:被禁止抓取的地址仍可能因外部链接出现在结果中,而且你无法通过抓取看到它的真实状态。要移除索引,优先让地址返回明确的 410 或 404,并确认它不再被内部链接和站点地图推送。
HTTPS 只说明传输层有加密,不保证页面安全无漏洞,也不保证排名。把旧地址迁到 HTTPS 后,如果旧 HTTP 地址没有对应处理,用户和外部链接仍可能落在无法访问的版本上。此时应检查的是协议、主机名和路径三者是否都指向了同一个最终目标,而不是只看证书是否有效。
假设旧站有一个合作方介绍页 /partner/abc.html,合作关系已结束,但该页面还有几条外部链接。新站没有等价页面。此时有三种选择:直接 410、301 到合作总览页、保留一个说明合作已结束的页面。
如果外部链接带来的用户仍可能关心该类合作,301 到合作总览页更合适;如果旧页面内容涉及已结束的具体条款,保留原页可能造成误导,410 更干净;如果该页面仍有品牌历史价值,可以保留一个注明“合作已结束”的静态页,并从导航中移除。选择哪一种,取决于你希望旧链接带来的用户看到什么,而不是取决于哪种状态码听起来更高级。
做完这一步后,下一轮再处理同类旧地址。每处理一批,记录旧地址、处理方式、目标地址和复查结果。这样当旧地址数量继续增加时,你手里有的是一份可执行的映射表,而不是一堆凭感觉做的跳转。