先给结论:当旧地址找不到内容、主题、意图都等价的页面时,不要为了“看起来没有死链”而把全部旧地址统一跳到一个不相关的新页面。更稳妥的做法是按旧地址的语义分三类处理:能一一对应的做单页301,没有对应但仍有参考价值的做内容合并后再301,既无对应又无价值的直接返回410并停止内部链接。统一跳首页或栏目页通常会被判定为软404,反而比明确返回404/410更糟。
很多迁移者说“没有等价目标”,其实只是没有标题相同的页面。等价不等于标题相同,而是搜索意图、主体内容、可替代信息量三者接近。可以拿一个旧地址做样本,逐项对照:
如果三项中至少两项成立,就按“可对应”处理,做单页301。如果只有主题相近、意图不同,比如旧页是教程、新页是产品介绍,就不算等价,应归入下一类。这个判断动作直接决定后面用301、410还是合并,跳错类别的代价比多花十分钟核对更大。
对等价的旧地址,用单页301指向最接近的新地址,不要经过中间跳转链。多个旧地址指向同一个新地址是可以接受的,但前提是这些旧地址本身主题一致。如果旧地址带参数(如分类、分页、排序),迁移后新站不再支持这些参数,应让带参数的旧地址301到对应的无参数规范地址,而不是全部压到首页。
动作示例:假设旧站有/old-guide-a,新站有/new-guide-a,内容主体一致,就配置301。配置后用抓取工具请求旧地址,确认返回状态码为301且Location指向新地址。如果返回200但内容是首页,说明跳转没生效或落到了软404,需要回到规则层修正。
旧页有独立信息量,新站没有承接页面,但该信息对用户仍有价值时,正确顺序是先在新站补一个承接页或把内容并入最相关的新页,再对旧地址做301。跳过合并直接301到不相关页面,等于把旧页的语义信号丢进一个错误容器,用户落地后也会立刻返回。
判断是否值得合并,可以看旧页是否还有内部链接、是否还有外部引用、是否仍能解决一个具体问题。三者有其一,合并通常比直接废弃更合适。合并完成后,旧地址301到合并后的新地址,并在新页中保留旧页的核心结论或数据,避免用户和搜索引擎都找不到原信息。
旧页内容已过时、无外部引用、无内部链接价值时,直接让旧地址返回410(或404)。这里有一个常见误区:用robots.txt屏蔽旧目录,以为这样就能“移除”旧地址。抓取限制不等于索引移除,被屏蔽的URL仍可能因外部链接出现在结果中,只是抓取不到内容。正确做法是让旧地址返回明确的404/410状态码,同时移除站内指向它的链接和站点地图中的旧地址条目。
站点地图不保证收录,把旧地址从站点地图删除只是清理信号,不能替代状态码处理。状态码才是告诉搜索引擎“这个地址不再提供内容”的主要依据。
把成百上千个无对应旧地址全部301到首页,短期看似消除了404,实际会产生两个后果:一是搜索引擎会把这种批量跳转识别为软404,不传递等价信号;二是用户从搜索结果点进来,发现落地页与预期完全不符,行为信号变差。软404和明确404相比,前者更难被正确归类,处理优先级反而更高。
如果旧地址数量大、人工无法逐个判断,可以按URL模式分组:同一目录下主题一致的旧地址,可以整组301到对应的新栏目页;主题混杂的目录,不能整组跳,必须拆到单页或合并处理。分组依据是主题一致性,不是URL前缀是否相同。
这套顺序的核心是:先解决“旧地址该指向哪里”的语义问题,再解决状态码问题。顺序颠倒,就会用统一跳转掩盖真正的对应缺失,最终既没保住旧页价值,也没让用户得到想要的内容。