robots.txt写法:迁移后的旧地址没有完全等价目标时怎样选择处理

📍 WDQWDWQD987AAAAA:216.73.216.227
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /f0b96fa07c42.html
📄

robots.txt写法:迁移后的旧地址没有完全等价目标时怎样选择处理

先给结论:如果旧地址有明确、内容稳定的新对应页,优先用 301 逐条指向新页;如果旧地址对应的是一整类已不存在的栏目,且没有单一等价目标,才考虑在 robots.txt 中屏蔽该路径前缀,但必须接受它只阻止抓取、不负责移除已有索引的代价。判断的关键不是哪种写法更“干净”,而是旧地址是否还存在一个能承接原意图的页面。

先分清两种条件:有等价目标,还是只有整类废弃

迁移后处理旧地址,第一个动作是抽样打开旧 URL,看它当前返回什么。把旧地址分成两组:一组是能找到一个内容主题一致、层级合理的新页;另一组是原栏目整体下线,任何单个新页都只能承接其中一部分意图。

如果混淆这两组,常见后果是把本可承接权重的旧文章也一并屏蔽,或者把大量无等价目标的参数页全部 301 到首页,让搜索引擎把不相关跳转当成软 404 处理。

条件一:有等价目标时,用 301 而不是屏蔽

当旧地址能一对一对上新地址,301 是更合适的选择,因为它同时完成三件事:把用户带到新内容、告诉搜索引擎旧地址已永久迁移、让已积累的外部链接指向新目标。robots.txt 的 Disallow 做不到后两点,它只阻止抓取,不会把已有索引里的旧 URL 替换成新 URL。

实施动作可以按这个顺序:

  1. 导出迁移前的旧 URL 清单,逐条标注新目标,无法对应的单独标记。
  2. 对能对应的旧地址配置 301,目标页必须返回 200,且内容与旧页主题一致。
  3. 用 curl -I 或浏览器开发者工具确认状态码,而不是只看页面能否打开。
  4. 把仍无法对应的旧地址留到下一轮,不要临时全部指向首页。

这个动作的结果会直接影响下一步:如果抽查发现某条 301 指向的新页主题明显不符,应把它退回“无等价目标”组,而不是继续保留错误跳转。错误跳转比暂时不处理更难纠正,因为搜索引擎可能已经把旧地址和新目标关联起来。

条件二:整类废弃且无单一目标时,才用 robots.txt 屏蔽

当一整类旧地址确实没有等价页,且这些 URL 数量大、内容无保留价值时,可以在 robots.txt 中写 Disallow 规则阻止继续抓取。写法上要注意路径前缀的边界,避免误伤同前缀下的有效页面。

假设旧站有一批带 /old-tag/ 前缀的标签页,全部废弃,而 /old-tag-guide/ 这个正常栏目仍需抓取。此时写 Disallow: /old-tag/ 只影响以该前缀开头的路径,不会波及 /old-tag-guide/;如果误写成 Disallow: /old-tag,就会把两者一起挡住。这是假设示例,用于说明前缀末尾斜杠对匹配范围的影响,实际匹配规则需按目标搜索引擎的文档核对。

需要明确代价:Disallow 只限制抓取,不保证旧 URL 从索引中消失。已收录的旧地址可能仍出现在结果里,只是描述信息逐渐过时。如果目标是移除索引,robots.txt 不是可靠手段,应优先考虑 404/410 让页面自然失效,或对确有必要的 URL 使用移除工具,并分别核查不同搜索引擎的支持情况。

混合场景:同一批旧地址里两种处理并存

真实迁移往往不是非此即彼。更稳妥的做法是按“是否有等价目标”切分,而不是按 URL 前缀一刀切。可以这样操作:

这样分配后,robots.txt 只承担“阻止抓取”的职责,不承担“移除索引”的职责。判断是否奏效时,不要只看抓取量下降就认定处理正确——抓取量归零也可能是因为屏蔽规则写得太宽,把有效页面一起挡掉了。更可靠的验证是分别抽查:被屏蔽的 URL 是否确实无保留价值,未被屏蔽的旧地址是否已正确返回 301 或 404。

例外与核查:这些情况不要套用上面的选择

有几种情况需要单独判断。旧地址对应的新页如果还在频繁调整、URL 可能再次变化,先不要急着批量 301,否则会形成重定向链,增加后续维护成本。旧地址如果涉及登录后内容或个性化参数,屏蔽前要确认不会影响正常用户可访问的公开页。

另外,robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录,这两点不能互相替代。无论选择 301 还是屏蔽,都应保留一份旧地址到处理方式的对照表,迁移后定期抽查状态码和索引表现。当发现某条规则误伤有效页面时,修正 robots.txt 并重新抓取验证,是比继续追加规则更有效的下一步。

图1 图2

nginx