当旧博客的文章地址无法逐个找到内容相同的新页面时,正确做法不是强行制造一对一跳转,而是先把旧地址按“内容是否仍存在、是否仍有访问价值”分组,再分别采用保留、合并、跳转到最相关新页或返回410等策略。映射表要可核对,而不是只凭编辑记忆决定。
设计映射前,先回答一个事实问题:旧地址对应的内容,在新站中是否有主题足够接近的页面?如果答案明确,就进入“有承接页”分支;如果不明确,就进入“无承接页”分支。两种条件的处理方式不同,混在一起最容易造成全部跳首页或全部404。
有承接页时,选择依据是主题相关性,而不是标题字面相似。例如旧文讲“静态博客部署”,新站只有一篇“博客上线流程”,若后者确实覆盖部署步骤,可以映射过去;若只是泛泛介绍建站,就不应承接。无承接页时,选择依据是旧地址是否仍有外部链接或访问价值。有外部引用但内容已删除,可考虑跳转到栏目页或最接近的上级主题页;没有引用且内容过时,可返回410,让搜索引擎更快移除。
这里有一个实际动作:让编辑、开发和内容负责人分别标注旧地址的“主题标签”和“建议目标”,再对照差异。如果三个人对同一旧地址给出不同目标,说明承接关系不成立,应先补一篇内容或选择栏目页,而不是投票决定。
映射表至少包含旧地址、旧标题、内容状态、建议目标、目标类型、判断人、复核结果。开发只执行表中“复核结果”为通过的行,编辑负责判断主题相关性,内容负责人负责确认目标页是否真的覆盖旧主题。这样可以把“我觉得应该跳”变成可检查的字段。
假设旧站有100个地址,其中60个能找到主题接近的新页,25个只能回到栏目页,15个没有承接价值。这个假设只用于说明分组方法:先处理60个明确的一对一映射,再处理25个栏目承接,最后才决定15个是否返回410。不要因为后15个数量少就跳过核对。
不要一次性导入全部映射。先选10到20个旧地址,覆盖一对一、多对一和410三种情况,部署后检查三件事:目标页是否返回正常状态、跳转是否只发生一次、目标页主题是否与旧标题一致。若发现多对一目标过于宽泛,下一步不是继续加跳转,而是补一个更具体的承接页或改跳栏目页。
如果旧地址带有查询参数,例如 <a href="/post?id=12">,要确认服务器或静态托管配置能否按路径规则处理。不能处理时,应把参数地址单独列入映射表,而不是假设它会自动跟随主路径跳转。这个动作的结果会直接影响下一步:能处理就继续批量导入,不能处理就先修规则或改为手动清单。
全部跳首页看似消除了404,但会让搜索引擎和用户都得不到有效承接。更合理的例外是:旧地址属于已停更的栏目,可跳转到该栏目在新站中的最近分类页;旧地址是活动页或临时页,可返回410;旧地址只是拼写错误且从未被引用,可返回404,不必强行映射。
另一个例外是同一旧地址被多个角色认领。此时不要按角色权限决定,而按内容事实决定:谁提出的目标页真正覆盖旧主题,谁就通过。若都无法覆盖,就把该地址标记为“待补内容”,暂不部署跳转。待补内容完成后,再回到映射表更新目标并复核。
映射上线后,定期抽查旧地址的返回状态和目标页标题,重点看多对一和栏目承接两类。若某个目标页承接了大量不相关旧地址,应拆分或改跳。若某个旧地址长期没有访问,也不能单独证明410正确,因为可能是外部链接已失效、抓取尚未更新或统计口径变化。此时应结合服务器日志和引用来源判断,而不是只看一个数字。
最终判断标准是:每个旧地址都能在映射表中找到明确处理理由,且该理由能被另一个角色复核。做不到这一点,就说明映射还停留在个人理解,下一步应先补核对,而不是继续扩大跳转范围。