很多人把「蜘蛛来过」和「页面被收录」当成一件事,其实中间还隔着一步:先被发现,再排队被抓。一个 URL 如果从来没进入过蜘蛛的候选清单,后面所有关于抓取预算、抓取频次的讨论都没有意义。所以新页面发布之后,先要解决的是「能不能被发现」。
发现和抓取是两个阶段
蜘蛛的工作大致是这样:从已知 URL 出发,读取页面内容,把里面出现的新 URL 提取出来加入候选清单,然后按某种优先级决定下一次去抓谁。提取 URL 这一步就是「发现」。被发现只说明你进了清单,不代表马上会被抓,也不代表抓完就会收录。
理解这一点之后,就能明白为什么有些页面几个月没动静:不是抓取环节出了问题,而是根本没有从任何地方被提取到。
通路一:站内链接,最稳定的一条
对绝大多数站点来说,内链是发现新页面最可靠的方式。蜘蛛抓一个栏目页时,会把页面上出现的链接一并带走,新页面只要挂在已经有抓取活动的页面上,就有机会被发现。
几个容易踩的点:
- 链接要能被解析。用 a href 写在 HTML 里最稳妥。如果链接是 JS 执行后才插入 DOM、或者要点击按钮才生成,发现可能会延迟,甚至不发生。
- 出发页面要选对。首页、栏目页、列表页、最近更新模块这类本来就被频繁抓取的页面,是最合适的起点。
- 别把新页埋在深处。从入口点几次能到,比 URL 字符串有几层更重要。
- 孤立页面没有出路。只在站内搜索或表单提交后才出现的页面,基本要靠 Sitemap 或外链补救。
另外提一句,nofollow 主要影响的是权重传递层面的处理,并不等于该链接一定会被无视,不同搜索引擎的处理也不完全一致。所以不要把 nofollow 当成「既不传权重又完全不暴露 URL」的开关,重要页面还是给它正常的链接入口。
通路二:XML Sitemap,给清单做兜底
Sitemap 的价值不在于加快抓取,而在于把容易漏掉的 URL 主动交到蜘蛛手上。它特别适合三类页面:刚发布还没有内链的新页、层级很深的老页、以及站内确实没有入口的孤立页。
用的时候注意几点:
- 只放你希望被抓取、且能正常返回 200 的 URL,别把重定向、参数页、已经下线的地址塞进去。
- lastmod 写真实时间,批量改成一个时间戳会让这个字段失去参考价值。
- URL 数量多的时候做好分片,并维护一个 Sitemap 索引文件,方便蜘蛛按需读取。
- 提交只是一个候选动作,不代表会立刻被抓,更不代表收录。
通路三:外部引用,能帮上但不完全可控
外部链接、社交平台分享、行业聚合页、被转载的文章,都可能让蜘蛛从站外走到你的新页面。它的问题是不可控:什么时候出现、出现在哪个页面、对方是否允许抓取,都取决于外部环境。
比较实际的做法是:把外部引用当成补充渠道,而不是主力渠道。新页面发布后,站内入口先铺好,再考虑通过正常的合作关系获取引用。
还有些辅助入口值得留意
- RSS / Atom 订阅源,对时效性内容的发现有一定帮助。
- 标签页、归档页、热门文章模块,本身就是内链的一部分。
- 搜索引擎站长平台提供的 URL 提交入口或 IndexNow 类协议,可以作为孤立页面的补充手段,但各家的接受程度和响应方式不同。
怎么确认发现真的发生了
与其猜,不如查服务器日志。按蜘蛛的 User-Agent 过滤,看新 URL 有没有出现过请求记录,以及请求的返回状态是什么。一个可落地的排查顺序:
- 确认新页面至少有一个站内 HTML 链接指向它。
- 确认该 URL 已写入 Sitemap,且地址本身能正常访问。
- 查日志,看是否已有蜘蛛请求该 URL。
- 如果完全没有请求,检查入口页是否被 robots.txt 挡掉、是否被 WAF 或防火墙拦截、页面是否返回 5xx。
- 以上都正常但仍无请求,再考虑补充外部引用或走站长平台提交。
几个常见误判
- 「提交了 Sitemap 就等于被收录」——提交只是提供候选,抓取和收录是后面的事。
- 「页面一发出去蜘蛛就该来」——没有入口的页面,蜘蛛没有理由知道它存在。
- 「内链多了就一定好」——重复堆砌同一批链接,收益递减,还可能分散对真正重要页面的注意力。
把发现这一步做扎实,比纠结抓取频次更实际:先让 URL 进入清单,再谈抓取和收录。