搜索抓取

搜索蜘蛛抓取:多子域与备用域名入口分散的梳理方法

当站点从单一域名扩展为主站、多个子域和备用域名后,搜索蜘蛛面对的入口会变得分散,无效 host 会消耗抓取机会。本文从 host 清单、日志与 Sitemap 反查、链接与重定向收敛、解析与证书稳定性四个方面,给出一套可执行的入口整理思路。

搜索抓取

搜索蜘蛛抓取:多子域与备用域名入口分散的梳理方法

当站点从单一域名扩展成主站、多个子域、备用域名甚至对象存储域名时,搜索蜘蛛面对的入口会变得分散。同一份内容可能被多个 host 指向,也可能因为某些子域长期不可达而白白消耗抓取机会。下面讨论的是如何把这些入口梳理清楚,让发现效率回到可控状态。

先分清哪些 host 真正需要被收录

梳理的第一步不是改代码,而是列清单。

  • 主域名:对外宣传、内链指向、Sitemap 声明的唯一规范入口。
  • 业务子域:如帮助中心、社区、商城,确有独立内容且需要被搜索到的,保留并单独维护 Sitemap。
  • 备用或老域名:通常只做 301,不参与抓取。
  • 测试与预发环境:一律用访问控制挡住,不要让它出现在任何公开链接里。
  • CDN 与对象存储域名:只承载静态资源,不应出现在页面锚点或 Sitemap 中。

用日志和 Sitemap 反查入口分布

  1. 把一段时间内的抓取日志按 host 分组统计,看蜘蛛把请求花在了哪些域名上。
  2. 检查各 host 的返回码分布,长期 4xx、5xx 或超时的 host 基本是无效入口。
  3. 核对 Sitemap 与实际可抓的 host 是否一致,避免索引文件里混入已废弃的域名。
  4. 抽查页面源码中的内链,确认是否使用绝对 URL,以及绝对 URL 指向的是哪个 host。

这一步做完,通常能发现两类问题:一类是本该被抓的 host 没有入口,另一类是不该被抓的 host 反而占了不少请求。

入口收敛:让链接、Sitemap、重定向说同一件事

收敛的核心是“唯一”。同一份内容只保留一个规范 host,其余入口用 301 指向它。

  • 站内链接统一使用绝对地址,并指向规范 host,避免相对链接在不同子域下解析出不同结果。
  • Sitemap 按 host 拆分或合并时,只列需要被抓的 URL,不要顺手把备用域名也写进去。
  • 跨子域跳转如果是常态,可以考虑用主域下的路径替代子域,减少 host 切换带来的额外解析与连接开销。
  • 老域名上的 301 要指向最终地址,不要在主域与备用域之间来回跳。

服务器与解析层面的稳定性

多 host 结构对稳定性的要求更高,因为任何一个 host 异常都会单独影响一批入口。

  • 确认每个对外 host 的 DNS 解析指向正确且稳定,不要在不同线路下指向不同源站。
  • 证书覆盖所有对外 host,包括带 www 与不带 www 的写法,避免握手失败造成抓取中断。
  • 关注各 host 的响应时间差异,某个 host 明显偏慢时,整体抓取节奏也会被拖低。
  • 定期检查是否有 host 已经下线却仍被内链引用,这类链接会持续产生无效请求。

观察收敛后的效果

调整之后不建议立刻下结论。按周对比抓取日志中的 host 分布,看无效 host 的占比是否下降、内容页的抓取请求是否回升。如果某些子域的抓取量被压缩过多,再判断是入口确实被收敛了,还是 Sitemap 与内链漏掉了应有的入口。

入口整理是长期的维护动作,重点是让每个 URL 只有一个明确的来源,而不是一次性把所有域名都删掉。