核心判断是:大小写差异本身通常不是提交动作的问题,而是同一资源在服务器、站点地图、内链和提交清单里被当成多个路径。只要服务器对大小写不敏感且能稳定返回同一内容,保留现状并统一外部引用即可;如果服务器对大小写敏感,则必须选定一个规范形式,把其余形式改写或退出提交范围,否则每次提交都可能落到不同副本上。
在动手统一之前,先取一个实际路径做对照测试。假设站点上存在 /Docs/Start.html,分别请求它和 /docs/start.html,观察状态码、最终响应地址和页面内容是否完全一致。这一步的意义在于区分两种完全不同的前提。
如果测试结果介于两者之间,例如小写返回 301 跳到大写,那么大写就是事实上的规范形式。此时不必改文件系统,只需把所有引用统一到大写形式,并把小写形式从提交清单中撤下。
路径大小写问题难处理,往往是因为只改了提交清单,却漏掉了其他引用来源。要真正统一映射,至少检查以下四处,并让它们指向同一个规范形式。
完成一轮检查后,抽几条非规范地址实际请求一次,确认它们要么跳到规范地址,要么返回明确的错误状态。返回结果会直接决定下一步:如果全部正确跳转,说明映射已经收敛;如果仍有地址返回 200 且内容独立,说明还有引用源没被覆盖。
面对一批大小写混乱的地址,不必强行全部改写。可以按下面的条件分别处理。
三种取舍可以并存:规范形式保留并持续提交,历史形式改写为跳转,无价值的拼写变体退出提交范围。关键是每一种形式都要有明确归属,不能出现两个地址都返回 200 且内容各自独立的状态。
假设某站点同时存在 /Guide/A.html 和 /guide/a.html,服务器大小写敏感,两者都返回 200,内容基本相同但 canonical 各指向自己。按上面的方法处理:选定小写为规范形式,把大写形式改成永久跳转到小写,更新站点地图和站内链接,再把大写形式从提交清单中撤下。
处理完成后重新请求大写地址。如果返回 301 且最终落到小写地址,说明映射已经统一,下一步可以只围绕小写地址观察抓取与提交反馈;如果大写地址仍返回 200,说明还有路由规则或缓存层在拦截跳转,应先解决这一层,而不是继续增加提交次数。这个例子的数字和路径均为假设,仅用于说明判断顺序。
第一,抓取量或提交反馈暂时没有变化,不能单独证明映射已经生效,也不能单独证明映射失败。它可能来自抓取配额、处理延迟、地址优先级等多种原因,需要结合服务器响应状态和引用一致性一起判断。第二,robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录。统一映射解决的是地址一致性问题,不是收录结果问题。把这两件事分开,才能避免在映射已经收敛后继续做无效调整。