当旧站迁移到新结构时,历史地址与新页面往往不是一对一关系:可能是多对一、一对多,也可能旧地址对应的内容已经合并或拆分。遇到这种情况,不要追求“每个旧地址都找到一个新地址”,而应先把旧地址按内容归属分组,再为每组选择映射策略。核心动作是:导出旧地址清单,逐条标注内容去向,然后决定用单条重定向、规则重定向,还是保留旧地址并返回合适的状态码。判断映射是否合理,要看用户和抓取程序能否稳定到达最相关的新内容,而不是看旧地址数量是否归零。
读者手里通常有一份旧站导出表,可能是日志、站点地图或后台地址列表。先不要急着写重定向规则,而是给每条旧地址打上三类标记之一:有对应新页、内容已合并到某页、内容已删除且无替代。只有前两类需要映射;第三类如果直接跳到首页,用户会感到被欺骗,抓取程序也会把首页当成大量旧地址的落点。
一个可核对的证据是旧地址当时承载的主题。如果旧地址标题、正文摘要或导航位置明确指向某一类内容,而新站中同一主题有唯一页面,这就是一一对应的合理候选。反过来,如果旧地址只是筛选参数、分页或会话标识产生的变体,它们通常不需要独立映射,而应通过规则收敛到主列表页或主内容页。
单条重定向适合旧地址数量少、每条都能找到唯一新页的情况。它的好处是结果可核对:打开旧地址,看到的是内容一致的新页。代价是维护成本随地址数量增加,旧地址变更后要同步更新规则。
规则重定向适合旧地址有稳定模式的情况,例如同一栏目下的文章地址只改变了路径前缀。此时可以用路径匹配把一批旧地址指向新栏目下的对应页。前提是模式足够稳定,且新页的命名规则也能被同一规则覆盖;否则会出现部分地址跳到错误页面。
保留旧地址并返回合适状态码,适合内容确实已删除且没有替代页的情况。此时不要把它跳到首页或栏目页,而应让访问者看到明确的不可用状态。这样用户能判断内容已不存在,抓取程序也不会把无关页面当成替代内容。
假设一个旧站有 300 条文章地址,其中 240 条在新站有同名新页,40 条合并进 8 个专题页,20 条已删除。更稳妥的处理是:240 条用单条或规则重定向到对应文章,40 条按主题分组重定向到专题页,20 条返回不可用状态。这个数字只用于说明分组方法,不代表任何真实站点数据。
旧地址访问量下降或抓取量归零,并不能单独证明映射正确。它还可能来自旧地址本身已不再被引用、新站导航替代了旧入口、或抓取程序暂时降低了访问频率。要区分这些解释,至少核对三件事:旧地址是否返回了预期的新内容;新内容是否与旧地址主题一致;用户从旧地址进入后是否能继续访问站内相关页面。
如果旧地址返回 200 但内容是首页或无关列表,这属于表面正常、实际错误。更可靠的证据是逐条抽样:从每组映射中抽取若干旧地址,检查其落点页面的标题、正文主题和站内链接是否与旧地址主题一致。抽样发现不一致时,应先修正该组的映射规则,再扩大应用范围。
一个可执行的顺序是:先导出旧地址清单,再按内容去向分组,然后为每组选择映射策略,最后抽样验证。具体动作和结果影响如下:
如果抽样发现某组映射落点错误,下一步不是继续增加重定向数量,而是回到分组环节,重新确认这些旧地址的主题归属。映射设计的目标是让旧地址稳定到达最相关的新内容,而不是让旧地址数量归零。