很多人排查收录问题时,第一反应是去改 sitemap、去提交 URL、去查服务器日志。这些都没错,但经常被跳过的一步是:这个页面在站内有几条链接指向它?如果答案接近零,那它基本就是在等运气。
抓取是顺着链接走出来的
搜索引擎的爬虫发现 URL 有几条路径:外链、sitemap、站内链接、以及历史抓取记录。其中稳定、可控、成本最低的是站内链接。sitemap 更像是把候选清单交上去,它提高了被发现的机会,但不保证爬虫会按表逐条跑一遍。
所以一个页面能不能被持续抓到,很大程度上取决于它在链接图里的位置:有没有稳定的入链,离首页有多远,这些链接是不是爬虫能读到的那一种。
三个可以先量化的检查点
- 入链条数:有多少个站内页面链接到它。个位数和几十条,抓取概率差别明显。
- 点击深度:从首页出发,最少点几次能到。深层页面如果只能靠一层层列表页翻下去,抓取频次往往很低。
- 链接来源类型:来自导航、面包屑、正文推荐,还是只在页脚或某个没人访问的归档页里出现。来源页面本身的抓取频次,会直接影响它把权重和爬虫带过来。
孤岛页面的几种典型形态
所谓孤岛页面,就是除 sitemap 之外几乎没有入口的页面。常见的成因有这几类:
- 只写进了 sitemap,站内没有任何链接指向它。
- 链接由 JS 在客户端渲染后才插入,而爬虫拿到的初始 HTML 里没有。
- 链接带上了 nofollow 或类似属性,等于告诉爬虫别跟。
- 分页层级过深,第 5 页往后的内容基本没有入口。
- 通过表单提交或站内搜索才能到达的结果页,天然缺少静态入口。
一套可执行的自查顺序
- 用站点抓取工具跑一遍全站,导出每个 URL 的入链数量和链接来源页面。
- 把入链数为 0 或只有个位数的 URL 单独列出来。
- 逐个确认:这些页面的链接在原始 HTML 里能不能直接看到,还是依赖脚本生成。
- 能加内链的加内链:从相关文章、专题页、列表页、面包屑里给出真实入口。
- 确认改动已上线后,再用 URL 提交工具给几个重点页面做个提醒。
加内链时的几个注意点
- 锚文本尽量描述目标页内容,不要清一色“点击这里”或“了解更多”。
- 不要在页脚堆全站链接,那种链接对爬虫来说是噪音,收益很低。
- 相关性优先。一篇讲 A 的文章去链一篇离题很远的 B,作用有限。
- 面包屑和分类导航是最基础的入口,先把这两块做干净。
调整之后怎么观察
内链改动不会立刻反映在收录上,通常需要几周时间让爬虫重新走一遍。观察时不要只盯收录条数,可以一起看:抓取频次有没有变化、日志里这些 URL 是否开始出现、索引覆盖报告里的状态有没有从“已发现,尚未抓取”往前推进。
如果补了内链、也确认链接能被读到,页面仍然长期不进来,那再回到内容质量和重复度上去找原因。顺序上建议先解决“能不能被发现”,再讨论“值不值得收录”,两者的排查方法完全不同。
内链是爬虫走的路,sitemap 是给它的地图。地图可以参考,但路不通,它还是到不了。