做 URL 发现的时候,很多人会把 sitemap 和蜘蛛池当成两件不相干的事:sitemap 交给站长平台,蜘蛛池放在站外。其实这两者解决的是同一个问题的两端——一个告诉蜘蛛「我这里有哪些页面」,一个给蜘蛛一条「愿意走过来」的路。配合得好,抓取效率会有明显不同;配合得别扭,两边都在做无用功。
sitemap 解决的是「有什么」,不是「来不来」
sitemap 本质上是一份清单,它不会主动把蜘蛛拉过来。蜘蛛会不会按清单抓,取决于它对站点的整体信任度、抓取预算、页面更新频率等因素。清单写得再全,站点长期不更新、外部链接枯竭,抓取频次也不会因为提交了清单就突然上去。
所以常见的情况是:sitemap 里躺着几千条 URL,日志里每天只有几十次访问,而且集中在首页和几个老页面。这时候要补的往往不是清单,而是「发现路径」。
蜘蛛池负责的是「发现路径」
蜘蛛池的入口页放在站外,作用是通过外链让蜘蛛在爬别人的过程中撞见你的 URL,形成一个不太依赖站长平台的发现渠道。它不替代 sitemap,也不保证蜘蛛一定顺着走到目标页,只是在清单之外多打开一扇门。
两者别互相打架
- 不要把蜘蛛池的入口页塞进目标站的 sitemap。入口页和自己的站点没有内容关系,混进去只会让清单变脏,也会稀释真正需要抓取的 URL。
- sitemap 里尽量只放规范的、可以直接访问的页面。跳转页、带一堆参数的筛选页、需要登录才能看的页面,放进去多数情况下只是浪费抓取次数。
- lastmod 要真实。如果每次重新生成都把全部页面的 lastmod 刷新一遍,蜘蛛很快就会学会不信任这个字段。
- 单份 sitemap 建议控制规模,URL 数量和文件体积都有上限,过大就分片,并保持分片索引文件本身可访问。
一个可执行的配合节奏
- 新内容发布后,先确认页面本身可直达、状态码正常、没有莫名其妙的跳转链。
- 更新 sitemap 与分片索引,lastmod 只标真正改动过的页面。
- 在蜘蛛池的入口页里,用与页面主题有一定交集的锚文本链到目标页,分批投放,不要一次性堆几百条。
- 观察服务器日志,看这些目标 URL 有没有被访问、访问大致来自哪一批入口页,再决定要不要加量。
常见误区
- 把 sitemap 提交当成收录开关。提交只是把清单递过去,抓不抓、收不收是另一回事。
- 以为蜘蛛池能替代 sitemap。站内清单是基础,站外入口页是补充,长期只靠后者并不稳。
- 目标页和入口页主题完全不搭。这样即使蜘蛛来了,顺着走到目标页的意愿也不高。
- 只盯入口页的抓取量,不看目标页的到达量。入口页被访问一百次、目标页一次没到,说明链路中间有问题,继续加入口页没有意义。
这两件事都属于「提高被发现概率」的手段,不承诺收录速度或排名结果。真正能长期稳住抓取的,还是页面本身的内容质量、更新频率和站点整体的可访问性。
一个简单的判断方法
如果日志里目标页的访问几乎全部集中在 sitemap 更新后的那一小段时间,说明站外的发现路径太薄;反过来,如果入口页天天被抓、目标页却很少到,先去检查入口页到目标页的跳转方式和锚文本是否合理,而不是继续加入口页。分清问题出在清单还是出在路径上,动作才不会白做。