做收录核对时,常会遇到一种情况:页面本身只有一个,但搜索索引或站长后台里能看到多个近似地址。它们可能只是大小写不同,或者一个有尾斜杠、一个没有,又或者 http 和 https、带 www 和不带 www 同时可访问。这些变体不会立刻造成故障,却会让收录信号分散,也让后续排查变得混乱。
先确认是不是“同一内容”
不要看到 URL 不同就当成重复内容。先打开这些地址,确认返回的正文主体、标题、主要信息是否一致。如果内容差异很大,那属于另一个页面;如果只是 URL 写法不同,才进入规范化处理。
- 用无痕窗口访问,避免缓存和登录状态影响判断。
- 查看响应状态码,确认是 200、301 还是 302。
- 对比页面标题、H1、正文首段,判断是否同一内容。
按“从外到内”的顺序收口
URL 变体往往不止一层。比较稳妥的做法是先处理协议和主机名,再处理路径写法,最后处理参数和默认文档。
- 协议层:确定 http 还是 https 为唯一入口,另一个做 301 跳转。
- 主机层:确定带 www 还是不带 www,另一个做 301 跳转。
- 路径层:统一尾斜杠规则,目录形式与文件形式不要混用。
- 大小写层:路径部分尽量统一为小写,避免大小写变体各自可访问。
- 默认文档:如果 /index.html 和 / 都能打开,保留一个并跳转另一个。
规范地址要写进内链,而不只是 canonical
很多人只在页面头部加 canonical,却忘了站内链接仍指向旧写法。内链是爬虫发现 URL 的重要入口,如果导航、面包屑、文章推荐里混用多个变体,爬虫仍会反复抓到不同地址。
- 检查全站导航和页脚链接是否统一。
- 检查文章正文里的站内链接,尤其是历史内容。
- 检查 sitemap 中是否混入了非规范地址。
- 检查 RSS、分享按钮和接口返回的地址。
canonical 是提示,不是强制命令。内链和跳转越一致,规范地址被稳定识别的可能性越高。
跳转链路不要绕远
如果 http 先跳到 https,再跳到带 www,再跳到去尾斜杠,链路越长,抓取和交接越容易出问题。尽量让每个非规范地址一步跳到最终地址,避免中间多次跳转。
- 用重定向检查工具查看完整跳转链。
- 把多跳合并成一次 301。
- 不要用 302 做永久规范化,除非确实只是临时调整。
观察期看什么
收口之后,收录不会立刻按预期变化。可以观察这些指标:
- 站长后台中重复 URL 的抓取次数是否下降。
- 规范地址是否逐渐替代变体出现在索引中。
- 内链是否还有遗漏的旧写法。
- 服务器日志里是否仍有大量变体被请求。
如果变体仍然被频繁抓取,优先回查内链、sitemap 和外部链接,而不是反复改 canonical。URL 规范化是一个需要持续维护的基础工作,做得越早,后面排查收录问题时越省力。