站点运营

站点运营:URL 规范化自查,别让同一篇内容散成多个地址

同一份内容出现多个可访问地址,会让抓取和数据统计都变得零散。这篇文章从大小写、末尾斜杠、查询参数、www 与协议等常见来源入手,给出一份 URL 规范化自查清单,并说明 canonical 与 301 各自适合用在哪里、处理顺序怎么排。

站点运营

站点运营:URL 规范化自查,别让同一篇内容散成多个地址

URL 规范化到底在解决什么问题

同一个页面,如果从不同入口访问会得到不同的地址,比如大小写不同、末尾多了或少了一个斜杠、带上了一串跟踪参数,那么站内链接、外链、Sitemap 里出现的地址就可能是散开的。对搜索引擎来说,这些地址可能被当成多个页面分别处理,抓取资源分散,站点运营者在统计流量时也容易对不上账。URL 规范化要做的,就是给每份内容定一个标准地址,其他变体通过 301 或 canonical 归拢过去。

常见的重复地址来源

大小写与末尾斜杠

部分服务器对路径大小写不敏感,/About 和 /about 都能打开;另一些则只认一种。末尾斜杠同理,/list 和 /list/ 是否等价,取决于服务器配置和框架路由。建议全站统一为小写,并明确目录型地址带斜杠、文件型地址不带斜杠,然后在服务器层面把例外情况 301 到标准形式。不要长期靠页面里的 canonical 兜底,301 更干净。

查询参数

分页、排序、筛选、打印页、utm 跟踪码、session id 都会生成新地址。先把它们列出来,逐项判断:哪些参数是内容本身需要的,比如分页;哪些只是来源标记,比如 utm。后者可以统一 301,或者用 canonical 指向不带参数的版本。筛选类参数要格外小心,多条件组合会成倍膨胀地址数量,对抓取预算不友好。

协议与域名变体

http 与 https、带 www 与不带 www、旧域名、测试域名、CDN 回源域名,都可能能访问同一份内容。选定一个主地址,其余在服务器或 CDN 层做整站 301。改版换域名时,这条尤其要逐条验证,别留下能打开却没人管的旧入口。

自查清单

  • 全站链接与导航是否统一小写,末尾斜杠风格是否一致;
  • http 是否整站跳转到 https,且不形成多层跳转;
  • 带 www 与不带 www 是否只保留一个入口;
  • 分页地址是否稳定可抓取,而不是带一堆临时参数;
  • 跟踪参数是否在落地时就剥掉;
  • Sitemap 与内链里是否只出现标准地址;
  • canonical 是否自指向真实可访问的 200 页面;
  • 旧域名与测试域名的解析是否已经下线或 301。

canonical 的正确用法

canonical 是一个提示,不是强制指令,搜索引擎有权忽略。因此它适合做兜底,不适合当主力。使用时注意几点:一是尽量自指向,即标准页指向自己;二是目标必须是可访问的 200 页面,不能指向 404 或跳转链上的地址;三是同一页面不要输出多个互相冲突的 canonical;四是不要为了凑数据把不相关的页面互相指向。分页场景常见的错误是把所有分页都指向第一页,这会让后续页面的内容难以被单独发现,建议按实际策略处理,或者让每页自指向。

比较稳妥的处理顺序

  1. 先用服务器日志和站点查询,把能打开同一内容的地址尽量列全;
  2. 为每类内容选定一个标准地址;
  3. 在服务器或 CDN 层做 301,把变体收敛到标准地址;
  4. 统一站内链接、导航、Sitemap 中的地址写法;
  5. 用 canonical 处理无法 301 的少数情况;
  6. 观察一段时间,看日志中变体地址的请求是否下降。

验证与观察

改完不是立刻就能看到变化,通常需要几周时间让搜索引擎重新抓取和处理。可以定期看服务器日志里变体地址的访问量、看抓取统计中标准地址的占比是否上升,以及检查是否又冒出了新的变体。同时留意别在收敛过程中制造出新的重定向链,跳转层数越多,抓取成本越高。

URL 规范化不是一次性动作。新栏目上线、改版、做投放活动时,都要顺手检查一遍地址是否统一,否则旧问题会以新的形式回来。