先给结论:不要试图用一份 robots.txt 同时管住多个域名。更稳妥的做法是让每个域名各自持有一份 robots.txt,并在文件里用注释和路径规则说明该域名的角色,比如主站、地区站、测试站或归档站。判断依据不是“内容像不像”,而是这个域名是否被当作独立站点对外呈现、是否允许被抓取、以及你希望它承担什么职责。
拿一张纸或一个表格,把手上所有域名列出来,逐个回答三个问题:它是否对公众开放、它的内容是否与主域名高度重复、它是否需要被外部检索到。答案会直接决定 robots.txt 的写法。
角色不清时,先不要写规则。因为同一份 Disallow 放在不同角色的域名上,后果完全不同。
robots.txt 支持以 # 开头的注释。很多团队只写 User-agent 和 Disallow,几周后没人记得这个域名为什么被限制。建议在每个域名的文件顶部写一段简短说明,例如:
# 本站为地区站,内容与主站相似,允许抓取,站点地图见 /sitemap.xml
注释不会被执行,但它能减少角色分歧。当运营、开发和 SEO 对同一个域名有不同理解时,这段文字就是核对起点。写完注释后,再检查规则是否与注释描述一致:说允许抓取,就不要出现全站 Disallow;说只做归档,就不要保留大量可抓取的产品页。
多个角色对同一事实有不同理解时,不要争论“这个域名该不该被收录”,而是把它拆成可验证的项目。下面是一组假设示例,用来演示比较方法,不是真实项目结果。
这样做的结果是:讨论从“我觉得”变成“规则写了什么、实际返回了什么”。下一步动作也随之明确——要么修改 robots.txt,要么改用其他方式处理重复内容。
多个域名承载相似内容时,常见反应是全部 Disallow。但这会带来一个取舍:屏蔽抓取可以节省抓取预算,却无法保证这些 URL 从索引中移除。如果这些域名需要被特定地区的用户找到,整体屏蔽反而切断入口。
更实际的条件区分是:
执行一个动作后,观察下一步的变化:例如先对测试站加上整体 Disallow,再检查该域名是否仍出现在站点地图或内部链接中。如果仍出现,说明还有别的入口需要处理,而不是 robots.txt 没生效。
robots.txt 的抓取限制不等于可靠的索引移除。一个 URL 被 Disallow 后,搜索引擎仍可能因为外部链接而知道它存在,只是不抓取内容。站点地图也不保证收录,它只是提交候选 URL。HTTPS 不保证安全无漏洞或排名。不同搜索引擎对 robots.txt 的支持情况须分别核查,尤其是通配符和结束符的写法。
因此,当你用 robots.txt 说明多个域名的用途时,最好同时记录:哪些域名允许抓取、哪些路径被限制、哪些 URL 仍出现在站点地图里。把这三类信息放在同一张核对表上,下一次角色分歧出现时,就能直接对着表判断,而不是重新猜一遍。