直接回答:先判断大小写差异是发生在“URL 路径本身”还是“服务器文件系统到 URL 的映射层”。如果同一资源存在多个大小写变体且都能返回 200,抓取规则、站内链接和站点地图会把这些变体当成不同 URL;统一映射的目标不是让它们都保留,而是选一个规范形式,其余变体用 301 永久重定向到规范形式,并让抓取规则只围绕规范形式书写。
常见情形是:robots.txt 里只允许一个小写路径,站点地图也只提交小写形式,但抓取日志里仍出现 /Docs/Guide、/docs/guide 这类混合大小写的请求。此时有两种解释需要分开。
解释一:服务器把不同大小写映射到了同一文件。 在大小写不敏感的文件系统上,/Docs/Guide 和 /docs/guide 可能都返回 200,内容完全相同。抓取工具看到的是两个可访问 URL,而不是一个。这种情况下,问题出在映射层没有做归一化。
解释二:服务器把它们映射到了不同文件或不同路由。 在大小写敏感的文件系统或区分大小写的应用路由中,/Docs/Guide 可能返回 404,或者返回另一个页面。此时抓取规则的分歧只是表象,真正的问题是 URL 空间本身不唯一。
不要只看抓取量或抓取频率的变化,那不能单独证明哪一种解释成立。可执行的动作是:
这些证据的作用是决定下一步:解释一优先做重定向归一;解释二必须先修路由或文件命名,否则重定向可能指向不存在的目标。
三个选择各有成立条件,不能默认全选。
假设一个旧文档目录同时存在 /OldDocs/API 和 /olddocs/api,两个都返回 200。若外部链接只指向混合大小写版本,先做 301 到小写规范版,再观察日志中该变体是否减少;若减少,说明映射层归一有效,下一步可以把站点地图和站内链接统一到规范形式。若日志中仍出现新变体,说明还有未发现的入口,需要回到链接来源排查,而不是继续加规则。
robots.txt 的抓取限制不等于可靠的索引移除。即使 robots.txt 禁止了某个大小写变体,该 URL 仍可能因外部链接被引用而出现在抓取日志中,也可能已经存在于索引里。因此统一映射的顺序应是:先让 URL 唯一,再写抓取规则。
具体动作:
当旧内容、旧系统或旧合作关系需要退出时,先区分“路径大小写差异”和“内容是否仍有价值”。若旧路径下仍有被引用的内容,保留规范形式并重定向变体;若内容已无价值,直接让变体返回 410,比维持多个可访问变体更干净。判断依据不是抓取量归零,因为抓取量下降也可能来自抓取预算调整、外部链接消失或站点整体抓取变化。可核验的动作是抽查若干变体的状态码和引用来源,再决定重定向还是下线。完成这一步后,再检查站点地图和抓取规则是否仍指向已下线的路径,避免规则与现状脱节。