做站点运营时,URL 往往是最容易被忽略的一层。内容更新、栏目调整、活动页上线,每次改动都可能在站内留下新的地址版本。对用户来说,多一个入口似乎无伤大雅;对蜘蛛来说,同一篇内容出现多个可访问地址,就意味着要在重复页面之间做判断,抓取精力也会被摊薄。
下面这份自查清单不追求一次改完,更适合按季度过一遍,把明显的重复入口收敛掉。
一、先确认“唯一地址”是什么
在动手之前,先给每篇内容定一个规范地址。规范地址应当满足几个条件:路径可读、参数尽量少、不依赖会话状态、不因用户来源不同而改变。确定之后,站内所有引用——导航、列表、相关推荐、站点地图——都应指向这个地址。
二、常见重复来源自查
1. 大小写与末尾斜杠
有些服务器对 /Article/123 和 /article/123 返回同一页面,有些则视为两个地址。末尾斜杠同理。建议在服务器或 CDN 层做统一跳转,选定一种写法后全站沿用,而不是靠 canonical 事后补救。
2. 跟踪参数与排序参数
- 来源标记、活动标记、分享标记等参数,如果只用于统计,不应出现在内链和站点地图里。
- 列表页的排序、筛选、每页数量参数,容易生成大量内容相近的地址,可以考虑用 robots.txt 限制抓取,或改为前端交互不改变地址。
- 会话 ID、打印参数、预览参数这类地址,最好直接禁止抓取。
3. 中文与特殊字符编码
中文路径在不同编码方式下可能出现多个形式。自查时可以直接复制浏览器地址栏的最终结果,确认站内链接、站点地图、canonical 使用的是同一种写法。若确实需要中文路径,保持编码一致比频繁更换规则更重要。
4. HTTP 与 HTTPS、带 www 与不带 www
这两组通常由服务器跳转处理。检查跳转是否一步到位,避免出现 A 跳 B、B 再跳 C 的链条。跳转链条越长,蜘蛛到达规范地址的路径就越绕。
三、canonical 与内链的一致性
canonical 标签是声明,不是命令。它能帮助搜索引擎理解你的偏好,但如果页面上的内链、站点地图、跳转规则各说各话,最终效果会打折扣。自查时重点看三处是否一致:
- 页面 canonical 指向的地址,是否就是内链实际使用的地址;
- 站点地图中列出的地址,是否与 canonical 一致;
- 旧地址是否通过 301 指向新地址,而不是返回 200 空页或直接 404。
如果同一篇内容有两个都能正常打开的地址,先想清楚保留哪一个,再决定另一个是跳转、禁止抓取还是下线,不要三种状态混着用。
四、用日志和抽样验证
改完之后不要只凭感觉。可以从蜘蛛访问日志里筛出高频抓取的地址,看看是否大量集中在带参数的重复页面上;也可以手动抽取几个栏目,用站内搜索或抓取工具列出实际可访问的 URL,和站点地图做对比。发现差异后再回到前面几步调整。
URL 规范不是一次性任务,而是随着栏目和活动不断变化的基础工作。把它纳入日常发布的检查项,比等到问题积累后再集中处理要轻松得多。