当旧站有大量历史地址、新站页面又无法一一对应时,不要急着把所有旧地址都跳转到首页。更稳妥的做法是先给旧地址分类,再为每一类选择重定向、保留入口或返回合适状态码的处理方式,最后用一份可核对的映射表固定下来。这样不同角色对“这个地址该去哪”的分歧,就能从口头判断变成可以逐条验收的记录。
面对成百上千条历史地址,逐条询问“这个跳去哪”会迅速耗尽人力。可以先按内容与新站的对应关系分成四类,再分别处理:
分类的价值在于:它把“每个地址都要单独决定”变成“每类地址按同一规则决定”。当设计和内容同事对某个地址有分歧时,先判断它属于哪一类,讨论就有了共同前提。
分类完成后,需要一张表承载结论。表里至少要有旧地址、新地址或处理方式、所属类别、判断依据、负责人五个字段。旧地址保留原始路径,不省略参数;新地址写最终目标,不写中间跳转。
假设有一个旧地址 /old-service/repair.html,新站对应的服务页是 /service/repair/,那么表中这一行应写成:旧地址 /old-service/repair.html,目标 /service/repair/,类别为“有明确新页对应”,依据是内容主题一致,负责人填具体执行人。这张表的作用不是存档,而是让每个角色都能指着同一行说“这里应该这样处理”。
实际动作上,建议先把映射表交给内容负责人确认“目标页是否真的承接了旧页信息”,再交给技术人员执行。内容负责人确认后,技术侧才配置重定向;如果确认环节跳过,最容易出现的情况是旧地址全部指向一个看似相关、实际答非所问的页面,用户和搜索引擎都会困惑。
不是所有历史地址都适合 301。把无替代内容的旧地址全部跳到首页,会让用户以为首页就是他要找的答案,实际却找不到;对搜索引擎而言,大量地址指向同一页也会稀释判断。更合理的取舍是:
这里有一个容易忽略的适用条件:如果旧地址仍有外部链接或用户收藏,直接返回 410 会让这些入口失效。此时可以保留一个说明页,并在页面上给出最接近的新内容入口,再决定是否最终下线。
映射配置完成后,不要只看配置文件是否生成。可以按类别各抽若干条,逐条访问旧地址,观察最终落点是否与映射表一致,以及落点页面是否真的承接了旧页信息。抽样时优先选有外部链接、有历史访问或位于导航结构中的地址。
如果抽样发现某类地址大面积落点错误,说明这一类规则本身需要调整,而不是逐条修补。例如“有主题但无等价页”这一类如果全部指向了栏目首页,而栏目首页只列出标题、没有实质内容,就应该重新考虑是保留说明页,还是把旧地址指向更具体的子栏目。这个动作的结果会直接影响下一步:规则调整后需要重新抽样,而不是继续按原表批量执行。
多个角色对同一地址有不同理解,往往是因为判断依据没有写下来。映射表里的“判断依据”一栏,可以写“旧页标题与新页标题主题一致”“旧页属于已下线活动,新站无替代”“旧地址为筛选参数页,不保留”等可核对的事实。这样下次有人再问“为什么这个地址跳这里”,不需要重新讨论,直接看依据即可。
需要强调的是,请求量、抓取量或某个统计归零,都不能单独证明映射处理正确。流量下降也可能来自内容调整、外部链接变化或统计口径差异。映射是否合理,最终要看旧地址的落点是否与用户预期一致,以及映射表本身是否经得起逐条核对。