处理虚拟主机上的重复或冲突信号,先别急着删文件。更稳妥的做法是:先判断信号来源是抓取层、索引层还是页面层,再决定是“合并指向一个规范地址”还是“直接移除”。如果两个地址内容几乎相同,优先保留一个并让另一个明确指向它;如果旧地址已经无内容且无外链价值,才考虑移除或返回 404。最关键的一步是:在动手前用可复核的方式确认哪个地址才是你真正想保留的主版本。
虚拟主机常见的重复或冲突信号,通常来自三个层面,处理方式完全不同:
robots.txt 禁止抓取某个目录。它只影响抓取,不等于把已收录页面移除。被禁止抓取的 URL 仍可能出现在结果里。www 和不带 www 的地址,或同时提交了 http 与 https 版本。站点地图是建议,不保证收录,也不解决重复。/index.html、带参数地址同时可访问。这一层才是规范标签、301 跳转真正起作用的地方。准备阶段的检查项:列出你怀疑重复的地址清单,逐条用浏览器实际打开,记录返回状态、页面标题和正文是否一致。不要凭记忆判断。
两种方案的选择依据只有一条:被处理的那个地址,是否还有独立价值。
方案一:合并(301 跳转 + 规范标签)。适用于两个地址内容相同或高度相似,且你希望把信号集中到一个主地址。做法是把次要地址 301 永久跳转到主地址,同时在页面 <head> 中用 rel="canonical" 指向主地址。适用条件:主地址稳定、内容长期保留、次要地址没有独立外链需求。判断结果:跳转生效后,访问次要地址应直接落到主地址,浏览器地址栏变化。
方案二:移除(返回 404 或 410,或删除文件)。适用于旧地址已无对应内容、无外部链接、也无用户需要。做法是删除文件或让其返回 404;如果确定永久不再提供,410 表达更明确。适用条件:该地址不承载任何你希望保留的流量或链接价值。判断结果:访问该地址应返回 404/410,而不是仍然打开一份重复内容。
不要用 robots.txt 去“移除”重复页面,它做不到。也不要用 noindex 同时配 301,两者会互相干扰:跳转后页面已不渲染,noindex 无从生效。
实施后至少核对以下项目:
http 与 https,确认 http 版本 301 到 https。注意:HTTPS 不保证安全无漏洞,也不保证排名,它只是协议层的一项。假设一个场景:你的虚拟主机上首页可通过 example.com 和 example.com/index.html 打开,内容相同。保留前者,把后者 301 到前者,并在首页规范标签写 example.com。这是合并方案。如果 /old-page.html 已无内容且无外链,直接删除并让其返回 404,这是移除方案。以上为假设示例,用于说明判断逻辑。
重复信号往往不是一次清理就结束。虚拟主机换域名、加 CDN、开 HTTPS、改目录结构时,都可能重新产生冲突地址。维护阶段建议固定做两件事:一是每次改版后重新跑一遍准备阶段的地址清单;二是让站点地图只包含你希望保留的主地址版本,减少把重复地址主动提交给搜索引擎的机会。
下一步:打开你虚拟主机上的首页和至少一个内页,分别用带与不带 www、http 与 https 的组合访问,记录哪些能打开、哪些跳转、哪些返回错误。把这份记录作为你决定合并还是移除的依据。