常见问题

同一批 URL 既放进入口页又提交 sitemap:搜索蜘蛛会优先看哪个,两者要不要都保留

同一批 URL 既放进入口页又提交 sitemap 是很常见的做法,但不少人担心算不算重复提交、会不会浪费抓取配额。本文从 sitemap 与入口页链接各自的职责讲起,说明去重逻辑和影响抓取优先级的实际因素,并列出 URL 写法不一致、lastmod 失真等常见坑,最后给出用服务端日志验证的方法。

常见问题

同一批 URL 既放进入口页又提交 sitemap:搜索蜘蛛会优先看哪个,两者要不要都保留

结论先说:两者不冲突,各管一段

sitemap 是一份清单,作用是告诉搜索蜘蛛这里有一批 URL;入口页链接是在页面里给出可点击的路径,作用是让搜索蜘蛛在抓取时顺带发现新地址。一个偏提交,一个偏发现,同时存在通常不会被当成重复提交,也不会互相排斥。

sitemap 能做什么、不能做什么

  • 能做:把没有任何页面链接指向的孤立 URL 放进候选队列;用 lastmod 传递内容更新时间;URL 量大时用 sitemap 索引拆分,单个文件一般控制在 5 万条以内、未压缩 50MB 以内。
  • 不能做:不保证一定被抓取,也不保证一定被收录;解决不了页面内容重复、服务端频繁超时这类问题。
  • 注意:sitemap 地址一般放在 robots.txt 里声明,方便搜索蜘蛛找到;文件本身不要返回 404,也不要设置成必须登录才能访问。

入口页链接的价值在哪

入口页里的链接除了让搜索蜘蛛发现 URL,还附带了一层指向关系。搜索蜘蛛抓入口页时会把页面里的链接放进待抓取队列,这条路径和 sitemap 是并行的。如果入口页本身的抓取频次不错,新加的链接有时会比 sitemap 更早被发现。

别把 sitemap 当成提交了就一定抓的按钮,也别指望入口页链接能替代 sitemap 去处理成千上万条孤立地址。

同一 URL 出现两次,会不会重复抓

搜索引擎一般会先做 URL 归一化再去重,同一个地址在 sitemap 和入口页里各出现一次,通常不会因此抓两遍。至于先看哪个,没有公开的固定规则,实际表现更多取决于下面几件事:

  1. sitemap 里的 lastmod 和页面实际的修改时间是否对得上;
  2. 这个 URL 有没有站内真实链接指向,链接处于第几层;
  3. 服务端响应是否稳定,有没有频繁超时或返回 5xx;
  4. 站点整体分到的抓取配额和抓取频次。

两个都保留时常见的几个坑

  • URL 写法不一致:sitemap 里是 https 版本,入口页写成 http 版本,中间还要跳一次,多一跳就多一层损耗。
  • 入口页把 sitemap 全量抄一遍:页面体积变大,解析变慢,却没带来任何额外信息。
  • sitemap 里留着 404 或长期跳转的旧地址:搜索蜘蛛会把这些配额花在无效地址上。
  • lastmod 失真:一直不更新,更新时间信号就失效;每抓一次就改一遍,同样没有参考价值。

用日志验证谁在起作用

  1. 搜 sitemap 文件的访问记录,看搜索蜘蛛多久取一次、返回码是否正常、有没有被 robots.txt 挡住。
  2. 搜目标 URL 的抓取记录,对比它首次被抓的时间和入口页被抓的时间是否接近,大致判断走的是链接发现还是 sitemap 提交。
  3. 记录新增 URL 到首次被抓的间隔,用几天到几周的样本估自己站点的节奏,而不是直接套别人的周期。

小结

入口页链接和 sitemap 不是二选一的关系:前者负责顺着链接发现,后者负责兜住没人链的地址。真正需要花心思的是让两边的 URL 写法保持一致、让 sitemap 保持干净、让入口页不至于臃肿,然后用日志去验证实际效果,而不是凭感觉反复调整。