当 www 二级域名与主域返回的 HTML 正文完全一致,仅响应头有差异时,搜索引擎通常会把它们当作两个可独立抓取的 URL,而不是自动合并成一个。是否合并、以哪个为准,取决于 canonical、重定向、链接信号和抓取配置,而不是取决于正文是否相同。因此,看到“内容一样”就断定重复已被处理,往往是误判。
第一种条件:响应头只差缓存、内容类型细节或服务器标识,没有 Location、没有不同的 Content-Language,也没有不同的 X-Robots-Tag。此时两个 URL 在抓取层面仍是独立资源,正文相同只说明内容重复,不说明身份统一。
第二种条件:其中一个响应头带 301 或 302 的 Location,把 www 二级域名指向主域,或者带 canonical 链接头指向主域。此时判断依据从“正文是否相同”转为“重定向或 canonical 是否稳定、是否可抓取”。
两种条件的分界点不是正文,而是响应头是否表达了资源身份或索引意图。如果没有任何身份表达,就只能靠页面内的 canonical 和站内链接来收敛。
遇到“内容相同却出现相反结果”时,先把响应头逐项列出,再对照下面几组证据:
HTTP/1.1 301 加 Location:说明服务器层已做永久跳转,抓取和权重通常随跳转传递。若跳转目标又跳回 www,形成循环,则两个 URL 都可能被反复抓取。Link: <https://example.com/page>; rel="canonical":说明 HTTP 头层面声明了规范页。它与页面内 canonical 冲突时,需要先确认哪一层被实际采用。X-Robots-Tag: noindex:说明该 URL 被要求不索引。它与 canonical 同时出现时,可能产生互相抵消的效果,需要分别核对。Content-Language 或 Vary 不同:说明两个 URL 面向的语言或缓存变体不同,可能被当作不同版本处理,而不是简单重复。这些字段只能说明服务器表达了什么,不能单独证明搜索引擎已经按此处理。要确认实际结果,还需要看抓取日志、索引状态和 canonical 选择情况。
假设一个站点同时保留 www.example.com/page 和 example.com/page,正文相同,但只有 www 返回 301 到主域,而主域没有反向跳转。此时可执行的动作是:
这个动作的结果会直接影响下一步:如果两个 URL 的头部表达一致且只有一个入口,后续只需观察抓取和索引是否收敛;如果仍出现 www 被单独抓取,就要回到链接和站点地图层面排查,而不是继续改正文。
即使 301 和 canonical 都配置正确,也可能出现 www 二级域名仍被保留在索引中的情况。常见合理解释包括:外部链接仍大量指向 www、抓取队列尚未处理完、站点地图同时提交了两个版本,或者页面内 canonical 与 HTTP 头 canonical 指向不同 URL。这些现象不能单独证明处理错误,也不能仅凭一次抓取就下结论。
另外,robots.txt 的抓取限制不等于可靠的索引移除;站点地图不保证收录;HTTPS 不保证安全无漏洞或排名。若 www 与主域分属不同协议或不同 CDN 节点,响应头差异还可能来自缓存层,需要先排除缓存返回旧头部的可能。只有在确认头部表达稳定、入口统一、链接信号一致之后,才能把观察重点转向索引收敛本身。