先给结论:不要指望用一份 robots.txt 或一个 canonical 标签就“说明”清楚多个域名的用途。真正能起作用的是把用途写进可核对的证据链——让每个域名在日志里表现出不同的抓取路径、不同的响应策略和不同的内容边界,再用爬虫日志分析验证这些差异是否被搜索引擎真实识别。如果日志显示各域名的抓取行为高度雷同,说明用途区分没有生效,此时应优先考虑合并或退出,而不是继续加规则。
多域名承载相似内容,通常对应三种真实用途,每种的前提完全不同:
这三种用途的共同点是:用途不是靠声明说清楚的,而是靠抓取行为差异体现出来的。下一步动作是先导出各域名最近一段时间的抓取日志,按域名分组统计被抓取 URL 的数量和分布,再对照上面的前提判断属于哪一种。
判断用途是否被识别,可以看三个可核对的信号:
这三个信号里,重合度是最先要看的。如果重合度低,后面的频次和状态码才有解释力;如果重合度高,先处理重合,再谈其他。
假设某站点有主域 A 和专题域 B,两者承载部分相似内容。某次日志分析发现,A 和 B 的抓取量同时降到接近零。直觉上会认为“用途区分生效了,两个域名都被正确对待”。但这个结论不成立,因为抓取量归零还有至少三种合理解释:
要区分这些解释,动作是:先检查同一周期内服务器的响应时间分布和状态码分布。如果 5xx 比例明显上升,抓取量下降更可能是可用性问题,而不是用途说明生效。此时下一步应该是修复可用性,而不是调整域名策略。如果状态码正常、响应时间稳定,再去看抓取 URL 的重合度是否同步下降。只有重合度也下降,才能把抓取量变化和用途区分联系起来。
如果决定保留两个域名,改写是常见选择:让其中一个只保留另一域名没有的内容,其余页面做跳转或返回 410。这个动作的前提是你能明确指出哪些内容是独有的。如果说不清楚,改写只会把相似内容变成更隐蔽的相似内容,日志里的重合度不会改善。
退出的前提则更简单:该域名没有独立的外部链接价值,也没有独立的内容增量。退出的动作包括停止更新、返回 410,并观察日志中该域名的抓取频次是否在后续周期内持续下降。这里要说明,站点地图不保证收录,所以退出后不必依赖站点地图来“通知”搜索引擎;真正起作用的是状态码和链接关系的改变。
无论改写还是退出,都需要在动作完成后重新做一轮爬虫日志分析,对比动作前后的抓取 URL 分布。如果分布没有变化,说明动作没有触及搜索引擎实际抓取的路径,需要回到内容边界重新判断,而不是继续叠加规则。
最后一步是把每个域名的用途、对应的抓取策略和预期日志表现写成一份可核对的记录。例如:主域 A 承担索引,预期抓取频次稳定;专题域 B 承担增量内容,预期抓取 URL 与 A 重合度低于某个自行设定的观察阈值;历史域 C 仅承接旧链接,预期抓取集中在少量旧路径。这份记录不对外声明,只用于内部对照日志。当实际日志偏离预期时,先检查偏离原因,再决定是否调整域名策略。这样,多个域名的用途就不是靠一句话说明的,而是靠日志里可核对的差异持续验证的。