很多站点把 URL 发现押在单一渠道上:要么只提交 Sitemap,要么只等蜘蛛顺着链接自己走。实际运行中,这几条路径的覆盖面并不相同,也各有断点。把它们当成互相备份的入口,比指望某一条“足够快”更现实。
Sitemap:解决“存在性”,不解决“重要性”
Sitemap 的价值在于把 URL 清单直接摆到蜘蛛面前,尤其适合新站、层级较深的页面,以及内链暂时覆盖不到的内容。它不负责说明哪条更重要,priority 和 changefreq 的参考价值有限,真正影响抓取顺序的往往是站内结构和外部信号。
使用时有几个细节值得注意:Sitemap 里只放能返回 200 且允许被抓取的 URL;不要把重定向链、404、被 robots 屏蔽的地址混进去。URL 数量多时按类型分片,并保持索引文件本身可正常访问。
内链:解决“路径”与“相对重要性”
蜘蛛在站内主要靠链接移动。一个页面如果没有任何站内链接指向它,即便写进了 Sitemap,被持续发现的概率也会低不少。内链的作用有两层:一是给出到达路径,二是通过链接位置和数量表达相对权重。
常见问题不是链接太少,而是链接都堆在页脚或全站导航里,正文区域缺少指向深层的链接。正文中的上下文链接、分类页到详情页的列表链接、面包屑,这几类位置对抓取路径的帮助更直接。
外链:从站外带来第一次拜访
对于全新域名或长期没有抓取记录的页面,外链常常是最初的发现入口。外链不需要多,几条来自可抓取页面的真实链接,就可能让蜘蛛首次到达。之后是否继续抓取,取决于站内结构能否让它找到更多 URL。
三条路径的交集与断点
把三条路径放在一起看,能看到一些典型断点:
- Sitemap 有 URL,但页面缺少内链入口,被抓一次后没有后续抓取。
- 内链结构完整,但 Sitemap 长期不更新,新页面要等较久才被顺带发现。
- 外链引来了蜘蛛,落地页却是软 404 或需要登录,抓取在入口处就停住了。
逐项对照排查,通常比笼统地说“抓取慢”更有方向。
服务器与响应:所有路径的底座
无论蜘蛛从哪条路径进来,后续动作都依赖服务器能稳定响应。同一个小时间窗内反复超时或返回 5xx,会让这次发现路径的价值打折。检查时看三件事:状态码是否稳定在 200、响应时间是否波动过大、是否存在对蜘蛛的限速或验证拦截。
一段可执行的检查顺序
- 拉取最近一周的服务器日志,过滤蜘蛛 UA,看它主要落在哪些目录。
- 对比 Sitemap 中的 URL 与实际被抓取的 URL,找出“只提交不抓取”的部分。
- 抽查这些 URL 是否有正文内链入口,页面层级是否过深。
- 确认返回码、canonical、robots meta 三者是否一致。
- 对外链来源做一次抽样,看落地页是否仍可正常访问。
URL 发现是多条路径共同作用的结果,没有哪一条能单独完成全部工作。把每条路径的断点找出来,比反复提交 Sitemap 更有意义。