robots.txt:多域名承载相似内容时,用抓取边界说明各自用途

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

robots.txt:多域名承载相似内容时,用抓取边界说明各自用途

先给结论:如果多个域名确实各自承担不同用途,不要只靠 robots.txt 里的注释来解释,而要让每个域名的抓取规则、可抓路径和站点地图指向互相印证。robots.txt 能表达“允许或不允许抓取哪些路径”,但它不负责解释品牌关系,也不能阻止页面被索引。想说明用途,必须把规则设计成能被抓取方和人工审查同时读懂的边界。robots.txt 的抓取限制不等于可靠的索引移除。

下面用一个假设情境串起决策:某团队有 example.com、example-cn.com 和 example-shop.com 三个域名。主站承载品牌内容,中文站承载本地化文章,商城站承载商品与活动页。三个站有一部分产品介绍文字相似,团队担心被当成重复内容,也担心用户分不清哪个站该看什么。这个情境只用于说明判断方法,不代表任何真实站点现状。

先判断:相似内容是你有意保留,还是应该合并

两种做法都成立,但条件不同。

一个可操作的判断动作:把三个域名各自最重要的十类页面列出来,标注“谁维护、给谁看、是否要独立出现在结果页”。如果某一类页面在三个域名下答案完全相同,且没有独立维护计划,它更接近应合并的对象;如果答案不同,只是措辞相似,就属于有意保留。

用 robots.txt 表达用途时,规则要落在路径边界上

假设中文站只希望公开文章页,不希望抓取标签聚合页和站内搜索结果;商城站希望公开商品页,不希望抓取带排序参数的列表页。可以分别写规则,但要让规则与站点地图互相印证:站点地图只放你希望被抓取的规范 URL,robots.txt 则挡住不应进入抓取范围的路径。

需要注意两点。第一,站点地图不保证收录,它只是提交候选 URL 的方式。第二,不同搜索引擎对 robots.txt 的支持情况须分别核查,尤其是通配符和路径匹配的细节,不能假设所有抓取方行为一致。

实际动作可以这样安排:先为每个域名写一份“用途—允许路径—禁止路径—站点地图范围”的对照表,再据此生成 robots.txt。做完这一步,下一步不是立刻全量提交,而是先抽查若干 URL,确认允许抓取的页面没有被误挡,禁止抓取的页面没有出现在站点地图里。这个动作的结果会直接影响你是否需要调整路径写法,而不是继续扩大提交范围。

假设例:三个域名如何划边界

假设主站 example.com 允许抓取文章与关于页,禁止抓取 /search 和 /preview;中文站 example-cn.com 允许抓取文章,禁止抓取标签聚合页;商城站 example-shop.com 允许抓取商品与分类,禁止抓取带排序参数的列表页。三个域名各自提交只包含规范页面的站点地图。

这个例子的关键不是规则本身多复杂,而是每条禁止都对应一个明确用途:搜索页和预览页不属于公开内容,标签聚合页不作为独立入口,排序参数页只是同一批商品的变体。若某条禁止没有对应的用途说明,它很可能只是习惯性复制,应该重新评估。

什么时候该放弃 robots.txt,改用规范化或重定向

如果相似内容已经出现在结果页,而你的目标是让用户只看到其中一个域名,那么继续加抓取限制通常不是首选。robots.txt 阻止的是抓取,不是索引移除;已经建立的索引状态需要另行处理。此时更合适的动作是:确认哪个域名是规范版本,对重复版本做重定向或规范化声明,再观察索引状态是否随之变化。

另一种情况是域名用途尚未确定。此时不要急着写死 robots.txt,因为规则一旦被外部抓取方读取,就会形成实际抓取边界。先确定用途,再写规则,比先写规则再解释用途更可控。

验证与下一步:看抓取边界是否真的生效

规则上线后,至少做三件事。

  1. 抽查每个域名的 robots.txt 是否可正常访问,内容是否为预期版本。
  2. 对比抓取日志与规则:被禁止的路径是否仍有抓取请求,允许的路径是否被误挡。日志中的抓取量下降不能单独证明规则正确,也可能是抓取方调度变化、站点整体流量变化或路径本身不再被引用。
  3. 检查站点地图是否只包含允许抓取的规范 URL,并确认没有把禁止路径写进去。

如果验证发现允许路径被误挡,下一步是修正路径写法并重新抽查,而不是先提交更多 URL。如果发现禁止路径仍被大量抓取,先确认抓取方是否支持你的规则写法,再判断是否需要改用其他方式处理。整个过程的落点是:让每个域名的 robots.txt 与其实际用途一致,并让站点地图、规范化和重定向承担各自该承担的部分。

图1 图2

nginx