先给结论:如果旧地址仍有可辨认的语义线索,且新站能找到内容意图相近的页面,就做逐条映射;如果旧地址本身是参数、分页或已消失的活动页,优先让它返回410或404,而不是硬塞到首页。真正需要避免的是“全部301到首页”这种省事做法,它会让访问者和搜索引擎都失去判断依据。
映射不是把旧网址填进规则表,而是判断旧地址代表的那份内容,在新站里是否还有对应物。可以按三个信号筛:旧地址路径里是否含可读词,如 /news/、/product/;旧页面是否曾经有独立主题,而不是列表或筛选结果;新站是否真的存在同主题页面。三个都成立,逐条映射才值得做。
假设旧站有一批 /show.asp?id=120 形式的地址,路径里没有主题词。此时无法从地址本身判断它讲什么,需要回查旧站日志、旧数据库或历史备份,把ID与标题对上。如果这些资料已经丢失,就不要凭猜测把ID映射到新栏目,猜错比不映射更糟。
逐条301适用于旧文章、旧产品页、旧案例页这类有独立主题的地址。做法是建立一张映射表,左边是旧地址,右边是新地址,一行一条,而不是用一条通配规则覆盖整站。这样做的代价是维护成本高,旧地址越多,核对工作量越大。
但它的收益是可验证的:访问旧地址会落到内容相近的新页,用户不会突然看到首页,后续的站内链接和转化路径也保持连贯。动作上,可以先导出旧站所有返回过200的地址,按目录分组,再逐组确认新站对应栏目。确认完一组就上线一组,而不是等全表做完再一次性切换。这样做的影响是,你能在早期发现某类目录根本没有对应内容,及时改为退出策略,而不是把错误映射铺满全站。
当旧地址数量大、结构重复,例如带 page=、sort=、keyword= 的地址,逐条映射不现实。可以考虑用规则改写,把旧参数地址归并到新站的分类页或搜索页。前提是新站确实有稳定的分类或检索入口,且归并后的页面能承接用户原本的意图。
这里要区分两种结果。如果旧地址是分页,归并到分类首页通常可接受;如果旧地址是某次活动的报名页,归并到分类首页就属于误导。判断依据是:用户从这个旧地址进来,原本想完成什么动作。动作对不上,就应退出映射,让它返回404或410。
以下情况适合直接退出,不设跳转:旧页面主题已彻底取消,新站没有替代内容;旧地址是测试页、临时页或重复内容;旧地址本身已被大量外链指向但内容与现站无关。此时返回410表示内容已永久移除,返回404表示未找到,两者都比跳首页更诚实。
需要说明的是,旧地址请求量下降或抓取量归零,不能单独证明退出映射就是对的。它也可能来自旧链接自然失效、站点整体流量变化或抓取预算调整。要判断处理是否正确,应结合服务器日志中旧地址的返回码分布,以及站内是否还有指向这些旧地址的内部链接。如果站内还在链向一个已退出的地址,应先改内链,再观察日志。
无论选保留还是改写,都建议先落一张表,字段至少包括:旧地址、旧页面主题、新地址、处理方式、上线日期、复核日期。处理方式只填三种:301逐条、规则改写、410或404。填不出“旧页面主题”的行,默认进入退出组,而不是进入映射组。
上线后按复核日期抽查:随机取若干旧地址,确认返回码与目标页主题一致;再检查站内搜索和导航是否还有指向旧地址的链接。若发现某条映射的目标页主题已经变化,就回到表中改处理方式,而不是继续保留旧跳转。这样一轮之后,映射表本身就成了下一次改版的可复用依据。