迁移后旧地址没有完全等价目标时,优先判断旧地址是否仍有真实用户价值:有则保留或改写到最接近的现存页面,没有则让它返回404或410,而不是用robots.txt去挡。robots.txt只能阻止抓取,不能移除已进入索引的URL,用错方向会让旧地址长期以无摘要或旧标题的形式留在结果里。
迁移场景里最常见的误判,是把旧地址批量写进robots.txt的Disallow,以为旧URL会随之消失。实际效果相反:被屏蔽抓取的URL,抓取方无法读到页面上的noindex或301,也没有机会确认它已经失效,已收录的条目可能继续挂着。真正能推动旧地址退出的,是让抓取方读到明确的信号——301指向新地址、404/410表示不存在、或页面上的noindex。
判断依据可以这样核对:在抓取工具里查看旧URL返回的状态码,看它是200、301、404还是被robots.txt拦截。如果显示为被拦截,先确认拦截来自哪条规则,再决定是撤掉规则还是换成别的处理方式。这个动作的结果会直接决定下一步:被拦截状态下无法评估索引移除效果,必须先放行才能验证。
保留不等于原样不动。适合保留的情形是旧地址承载的内容在新站里没有对应页面,但本身仍有搜索需求或外部链接指向。此时应把旧页面更新为当前有效的信息,并加上指向新结构的内部链接,而不是留一个内容过期、导航断裂的空壳。
如果旧地址只是换了个路径、内容基本一致,保留旧页面会造成两个URL竞争同一主题,这时应改为301指向新地址。区分方法很直接:新站里是否存在一个能承接旧页面主题的页面。存在就改写跳转,不存在才考虑保留或退出。
301的核心要求是目标页面与旧页面的主题相关。把一批失效的产品页全部跳转到首页或栏目页,属于软404式处理:抓取方会把它当作与旧URL无关的落点,跳转信号被削弱。可接受的做法是跳到最接近的现存页面,例如同系列产品、同类文章或对应的分类页。
改写还有一种情况是旧地址对应的是参数页或筛选页。这类URL往往没有独立内容,迁移后更适合直接返回404,而不是造一个等价页面。判断标准是:该URL是否有独立于其他页面的可索引内容。没有,就不必为它维护目标。
当旧地址既无对应内容、也无保留价值时,让它自然返回404即可,410在语义上更明确地表示永久移除,但两者对抓取方的实际效果接近,不必为此改造服务器逻辑。这里的关键取舍是:不要用robots.txt替代404。屏蔽抓取只会让旧URL的状态变得不可读,抓取方无法确认它已失效。
需要提醒的是,返回404并不等于立即从索引消失。抓取方需要重新访问该URL才能确认,这个过程取决于它对该地址的抓取安排。站点地图里移除旧URL、内部链接不再指向旧URL,都能帮助减少重新访问的触发,但这些动作不构成移除保证。
假设某站迁移后有100个旧产品页,其中30个有对应新品页,50个属于已下架且无替代,20个是筛选参数页。可以这样分配:30个做301到对应新品页;50个返回404并在站点地图中移除;20个参数页同样返回404,不单独维护。执行后逐个抽查状态码,确认301目标与旧页面主题相关、404页面不再被内部链接指向。若抽查发现某些301落到了首页,就回到那批URL重新指定更接近的目标,而不是继续扩大跳转范围。
这套处理的前提是你能拿到旧URL清单并逐条核对状态码。如果清单不完整,先补齐再动手,否则漏掉的旧地址会以各种状态混在结果里,后续很难归因。