网站收录

同一页面多个地址都能打开:先做 URL 收口再谈收录

同一份内容通过 http/https、www/非 www、结尾斜杠或参数顺序不同,可能产生多个可访问地址。本文梳理重复 URL 的常见来源,说明如何确定主版本、用 301 收口,并让内链和 sitemap 保持一致,减少重复内容和抓取浪费。

网站收录

同一页面多个地址都能打开:先做 URL 收口再谈收录

一个页面往往不止一个地址能打开:带 www 与不带 www、http 与 https、结尾有没有斜杠、参数顺序不同,甚至大小写混用,都可能返回同一份内容。对用户来说都能看,对搜索引擎来说却是多个 URL。收录阶段出现重复内容、权重分散、抓取次数被浪费,通常从这里开始。

先找出重复地址是从哪里来的

常见来源并不复杂,但容易漏掉:

  • 协议和主机名:http 与 https,www 与非 www,带默认端口和不带端口。
  • 路径细节:结尾斜杠有无、目录大小写、中文路径编码方式不同。
  • 参数:排序、筛选、会话 ID、跟踪参数、参数顺序变化。
  • 功能页:打印页、分享页、手机版独立地址、旧版入口。

这些地址如果都返回 200,蜘蛛会分别抓取、分别判断,最后可能只选一个留下,也可能留下多个相似版本。

确定主版本,用 301 收口

先选一个主版本。判断依据可以看外链最多的那个、日志里蜘蛛抓得最多的那个、sitemap 里一直声明的那个,以及用户最常用的访问方式。选好之后,其余版本统一做 301 永久重定向到主版本。

不建议用 302 长期代替 301,也不要用 JavaScript 跳转或 meta refresh 来做收口。这些方式可能被当成临时处理,蜘蛛仍会保留原地址。重定向链也要尽量短,避免 A 跳 B、B 再跳 C。

站内链接和 sitemap 要保持一致

重定向只是兜底,真正影响判断的是站内信号。导航、面包屑、文章内链、分页链接、sitemap 里出现的地址,都应该是主版本。如果一边 301 收口,一边内链还在大量指向旧地址,蜘蛛会持续发现旧 URL,收口速度会被拖慢。

canonical 可以作为补充,但不要把它当成唯一手段。页面能 301 的,优先 301;不能 301 的,比如参数页、打印页,再用 canonical 指向主版本,同时确认 canonical 地址本身返回 200 且可被抓取。

几个容易忽略的细节

  • 大小写:有些服务器区分大小写,/Page 和 /page 是两个地址;有些服务器不区分,但链接写法不统一仍会制造多个入口。
  • 结尾斜杠:/a 和 /a/ 是否都返回 200,要看服务器配置。目录型地址通常保留一种写法。
  • 参数顺序:?a=1&b=2 与 ?b=2&a=1 内容相同,但 URL 不同。可以通过服务器或 CDN 统一参数顺序,或对无实际意义的参数做处理。
  • 跟踪参数:utm、fbclid 之类参数最好在服务器端忽略,或通过 canonical 指向无参数版本,避免每个分享渠道都产生一个地址。

收口之后看什么指标

改动后不要只看收录量。可以按顺序观察:服务器日志里旧地址的抓取次数是否下降;新主版本的抓取和返回状态是否稳定;索引里重复或备用版本是否减少;内链和 sitemap 中是否还有旧地址残留。

如果旧地址被抓取后返回 301,这是正常过程。蜘蛛需要时间重新确认,通常不会立刻完成替换。大批量修改时建议分批做,先改一组目录或一种参数,观察日志和索引变化后再继续。

URL 收口的目标不是让所有地址消失,而是让搜索引擎清楚知道哪一个地址代表这份内容。主版本稳定、内链一致、重定向清晰,收录判断才会更干净。

最后提醒一句:不要为了让旧地址快速消失就返回 404 或 410,除非那些地址确实不再使用。正常做法是保留 301,让它把已有信号传递到主版本。