同一个页面,因为 URL 写法不同而裂成好几个地址,是很多站点在运营中容易忽略的细节。对访客来说差别不大,但对蜘蛛来说,这是几个需要分别抓取、分别处理的地址。日志里多出来的请求、站点地图里的重复条目、外链指向不统一,都会让抓取预算花在重复内容上。
URL 裂变的常见来源
- 大小写混用:/About、/about、/ABOUT 在部分服务器上指向不同资源。
- 末尾斜杠:/news 与 /news/ 是否都能打开,且返回同一个页面。
- 默认文件名:/index.html、/index.php 与目录根地址并存。
- 协议与端口:http 与 https、带 443 端口与不带,是否都收敛到一处。
- 参数顺序:?a=1&b=2 与 ?b=2&a=1 指向同一结果,却生成了两个地址。
- 追踪参数:utm、from、spm 等随分享链接带进来,被内链或站点地图收录。
先确定唯一版本,再谈收敛
规范化的前提是内部先有共识:这个站点的 URL 采用什么风格。常见的约定是目录带末尾斜杠、文件不带斜杠,路径全部小写,参数只保留影响内容的字段。约定不必和别人的站一样,但要在团队内写下来,让编辑、开发、运营都用同一套规则。
约定好之后,服务器层面把其他写法 301 到唯一版本。这里要留意两点:一是重定向要指向最终地址,别出现 A→B→C 的链条;二是重定向要稳定,不要今天跳到带斜杠版本,明天又换回来。频繁变动的规则会让蜘蛛反复确认,浪费抓取机会。
具体可以做的几件事
- 把内链、导航、面包屑里的 URL 统一成规范写法,避免站内自造重复地址。
- 在站点地图里只提交规范地址,不提交重定向地址和带追踪参数的地址。
- canonical 标签与 301 保持一致,指向同一个最终地址,不要互相矛盾。
- 检查分享、广告投放、第三方接口生成的链接,尽量在落地页做一次跳转归位。
- 对已经存在的大小写混用地址,用重定向兜住,不要直接返回 404。
自查时看什么
- 打开服务器日志,按路径统计同一内容的多个写法,看哪个出现得最多。
- 用不同大小写、不同斜杠组合访问核心页面,确认返回状态码和最终地址。
- 抽查页面的 canonical、站点地图、内链三者是否指向一致。
- 观察重定向后是否出现链式跳转、循环跳转,或跳到了非规范地址。
URL 规范化不是一次性的工作。栏目调整、CMS 升级、CDN 配置变更,都可能让旧的规则失效。把它放进上线检查清单,隔一段时间用日志和站点地图对一遍,比出问题后再补救要省事得多。
同一个内容只留一个地址,是给蜘蛛和自己都省事的基本功。