一个页面能不能被收录,先决条件是它有没有被蜘蛛发现。发现不保证抓取,抓取也不保证收录,但如果某个 URL 从来没有进入过发现队列,后面的环节都无从谈起。所以当收录不理想时,先别急着改内容,第一步往往是回头看看:这个 URL 到底是怎么被发现的,有没有被发现。
几条主要的发现渠道
站内链接
站内链接是最稳定、最不需要额外维护的发现途径。蜘蛛顺着一个已经抓取的页面往下走,只要能通过普通 a 标签到达,就大概率会被发现。它的好处是自带上下文:链接所在的页面主题、锚文本、链接在正文中的位置,都会影响后续对这个 URL 的判断。
XML sitemap
sitemap 的作用更接近一份清单,它不解决权重传递的问题,但能帮蜘蛛知道站点里还有哪些 URL 存在,尤其是那些入口很浅、或者需要多次点击才能到达的页面。需要注意的是,sitemap 里应该只放规范 URL,不要把带参数的变体、已下线的地址、状态码异常的地址一并塞进去,否则这份清单的可信度会下降。
外部链接与社交分享
外部链接带来的发现速度有时比站内更快,但可控性差。它更适合用在重要页面的启动阶段,不适合作为日常依赖。社交平台上的分享链接通常带跳转或参数,能不能被跟随并不确定,把它当成发现渠道之一可以,当成主力不现实。
主动提交接口
各家搜索平台提供的提交方式,本质上是把 URL 放进发现队列,而不是放进索引。提交成功只说明收到了,不说明会抓取,更不说明会收录。它的价值在于缩短等待时间,尤其适合新页面或时效性较强的内容。
优先级:先把站内到达性做扎实
如果只能选一件事做,那就是保证重要页面在站内是可到达的。判断方式很简单:从首页出发,用纯文本浏览器或者禁用 JS 的方式走一遍,看能不能点到目标页。以下几条比提交接口更值得先检查:
- 重要页面是否在导航、栏目页或相关推荐中出现,而不只是靠搜索框或表单跳转;
- 链接是否真的是 a 标签,而不是 onclick 事件或需要 JS 渲染后才生成的节点;
- 链接上是否挂了 nofollow 或其他阻止跟随的属性;
- 层级是否过深,一个页面需要点七八次才能到达,被抓到的概率会明显下降。
容易被忽略的细节
分页、筛选和排序参数是发现渠道里最容易失控的部分。它们本身不算错误,但数量可能远大于真实内容量。比较稳妥的做法是让主序列页可发现,把多条件组合的筛选结果收敛掉,不要指望它们全部被收录。
另外,sitemap 的更新时间和实际内容不一致也是常见问题。频繁改动 lastmod 却没有实质变化,会让这份文件逐渐失去参考价值。建议只在页面内容真正调整时更新,并保持文件分片和数量在合理范围内。
怎么确认发现真的发生了
光看提交成功提示不够,至少要用两个地方交叉验证:
- 服务器日志里是否出现了来自搜索蜘蛛的请求,请求的 URL 是否是你期望的那个版本;
- 抓取统计里是否出现了“已发现但尚未抓取”之类的状态,这类状态说明 URL 已经在队列里,只是还没轮到。
如果两边都没有痕迹,通常说明发现环节就断了,而不是抓取或索引出了问题。此时优先补站内入口,其次再考虑 sitemap 和提交。
把提交当成收录按钮,是收录问题里最常见的误解。提交只能让 URL 被看见,能不能走到最后,取决于页面本身值不值得留。
总结一下:站内链接负责稳定发现,sitemap 负责补齐清单,外部链接和主动提交负责加速。三者配合、顺序不乱,发现环节基本不会成为瓶颈;剩下的问题,就要回到抓取预算和页面质量上去看了。