搜索抓取

站内没有入口的页面,蜘蛛还能不能抓到

站内没有链接指向的页面,只靠 Sitemap 单独提交,抓取往往很有限。本文梳理孤岛页面的常见来源、用日志和站内爬取做排查的方法,以及按需求分类处理内链、做 301 或 410 的取舍思路,并提醒补链之后要关注抓取响应和服务器承载。

搜索抓取

站内没有入口的页面,蜘蛛还能不能抓到

有些 URL 从上线那天起就没被任何站内链接指过:它们可能来自批量生成的落地页、被撤下导航的老栏目,或者只在 Sitemap 里出现过一次。这类页面在日志里往往只有零星几次抓取,甚至长期为零。它们通常被称为孤岛页面,问题不在于页面本身好坏,而在于蜘蛛找不到一条稳定的路径走到它。

蜘蛛发现 URL 的几条通道

外链、Sitemap、站内链接是三条主要通道。外链不由你控制,Sitemap 是一份候选清单,只有站内链接是你能持续维护、并且蜘蛛每次抓取都会重新读取的路径。把 URL 写进 Sitemap 相当于递了一张名片,但站内没有一条路通向它,蜘蛛对它的抓取优先级通常不会高。

所以判断一个页面是不是孤岛,不能只看 Sitemap 里有没有,而要看从首页出发,经过几次点击能到达它。

常见的孤岛页面来源

  • 改版时保留了页面,但导航和面包屑已经不再指向它
  • 按模板批量生成的城市页、型号页,只在 Sitemap 里存在
  • 用户提交内容、评论的独立页,没有任何聚合入口
  • 已经下线的活动页,URL 还能访问但站内没有链接
  • 参数页、筛选组合页,被工具采集后塞进了清单

怎么把孤岛找出来

  1. 从服务器日志提取被蜘蛛抓取过的 URL,和站内链接可到达的 URL 做差集
  2. 用站内搜索或爬虫工具从首页出发抓一遍,看哪些 URL 不在结果里
  3. 对比 Sitemap 与实际内链覆盖,差距大的部分通常就是孤岛集中区
  4. 抽查这些 URL 的响应状态,确认是 200、301 还是已经变成软 404

分类处理,而不是一股脑补链接

不是所有孤岛都值得救。判断标准可以简单一点:这个页面有没有独立的搜索需求,有没有真实用户会需要它。

  • 有需求、内容还在维护:补一条稳定入口,比如相关推荐、标签聚合页、栏目二级导航
  • 内容过时但仍有访问:做 301 指向新的等价页面,让用户和信号一起过去
  • 批量生成、内容单薄:考虑合并或设为 410,别为了凑数量留在 Sitemap 里
  • 只在特定场景使用的页面:可以不进导航,但至少从一个能被抓到的聚合页链接过去

内链入口的位置也有区别。导航和面包屑是站内最稳定的路径,正文链接上下文更强但容易被改动,页脚链接堆得太多反而像模板噪声。入口数量不用多,一两条来自相关内容的链接,通常比在页脚挂一排有用。

别用内链数量去凑抓取量。几十条指向同一个页面的链接,不会让它更快被处理,反而可能让蜘蛛把这一片区域当成链接农场。

处理完之后要看什么

补完内链之后,观察日志里这些 URL 的抓取次数和状态码变化,确认请求是分散到各个页面,而不是集中在少数几个。孤岛页面长期没人访问,服务器和缓存对它们往往没有准备,第一次被抓时容易出现超时或 5xx,这类响应会影响后续的抓取节奏。

如果站点承载有限,更实际的做法是先把最值得保留的一批页面接回内链,剩下的降低优先级,而不是一次性把几千个 URL 全部塞进 Sitemap 等着蜘蛛来。

最后,孤岛不是一次性问题。改版、下线栏目、调整导航都会重新制造一批,定期做一次内链覆盖的复查,比事后补救省事得多。