如果外链指向的 URL 与服务器上真实文件路径只有大小写不同,而服务器又把它们当成两个资源,那么收录信号会被拆到两个地址上:一个拿到链接,另一个才是可访问内容。统一映射的目标不是“让大小写都能访问”,而是选定一个规范写法,把另一种写法永久、单向地送到规范地址。
出现“外链存在但目标页迟迟没有进入索引”时,常见解释有两类。
/Guide/SEO.html 与 /guide/seo.html 可以是两个不同文件。外链写的是其中一种,真实内容在另一种,访问者看到 404 或另一个页面,链接权重自然落不到目标内容上。这两种解释的后续动作完全不同:前者要改服务器映射,后者要改外链来源或跳转链。先区分,再动手。
最直接的动作是分别请求两种写法,观察响应状态和最终地址。假设外链写的是 /Guide/SEO.html,真实文件是 /guide/seo.html:
/Guide/SEO.html,记录返回状态码和响应体开头内容。/guide/seo.html,同样记录状态码和内容。如果两者都返回 200,还要看返回的是不是同一份内容。有些服务器会返回一个“软 404”页面,状态码是 200,但正文是错误提示。这种情况下不能只看状态码,要对比标题和正文首段。这个动作的结果直接决定下一步:状态不一致就做统一映射;状态一致就转向检查外链所在页面的链接文本和跳转链。
确认服务器区分大小写后,有两种成立条件不同的选择。
适用于规范路径已经确定、且旧写法可能被外部引用的情况。把非规范写法用 301 指向规范地址,是单向、可累积信号的映射。需要满足的条件是:重定向只做一层,不要 A 跳 B、B 再跳 C;规范地址本身返回 200;重定向规则不误伤其他正常路径。
适用于站点路径命名混乱、外部引用写法无法穷举的情况。它让多种写法都落到同一文件,但代价是规范地址不唯一,后续做 canonical、日志分析和链接统计时容易混在一起。如果采用这种方式,仍应在一个位置声明规范写法,避免同一内容长期以多个地址被引用。
两种选择并非互斥:可以先做不敏感匹配保证可访问,再对已知的旧写法补 301,把信号收拢到规范地址。
映射规则生效后,重复前面的请求动作,确认非规范写法返回 301 且 Location 指向规范地址,规范地址返回 200。然后检查站内链接和站点地图是否统一使用规范写法,避免自己制造新的变体。
还要注意一个边界:robots.txt 的抓取限制不等于可靠的索引移除。如果非规范地址已经被抓取,仅靠 robots.txt 阻止抓取,并不能保证它从索引中消失;已索引地址的清理需要按对应搜索引擎的移除流程单独处理。站点地图也不保证收录,它只是提交规范地址的一种方式。
如果映射后目标页仍未进入索引,不要把它单独归因于大小写问题。抓取量或请求量归零可能有多种解释,例如服务器临时不可达、抓取预算被其他路径占用,或页面本身质量信号不足。把映射修复当作排除一个变量的动作,而不是收录的保证。
假设某教程页真实路径是 /docs/Seo-Basics.html,一条外链写的是 /docs/seo-basics.html。请求后发现前者 200、后者 404,可判定为解释一。此时加一条 301,把 /docs/seo-basics.html 指向 /docs/Seo-Basics.html,再验证 301 与 200。若验证通过,下一步就转向检查站内是否还有同类的混合大小写链接;若验证不通过,应先排查重定向规则是否被其他规则覆盖,而不是继续加更多映射。
统一映射解决的是“同一内容被拆成多个地址”这一层问题,它能让链接信号落到一个确定地址上,但不替代对内容质量、抓取可达性和索引状态的分别核查。