蜘蛛池的入口页本身通常不是最终要推的页面,它的价值在于被蜘蛛发现,然后把蜘蛛引到真正需要被抓取的目标页。所以出口怎么设,往往比入口页写得多漂亮更关键。
先分清入口页的职责
入口页要做的事主要有两件:一是能被蜘蛛稳定访问到,二是能提供一条清晰的、指向目标页的路径。它不需要承载太多内容,也不需要把所有访问都留在自己身上。如果入口页只堆关键词、不给出可走的链接,蜘蛛抓完就结束,链路也就断了。
常见的几种衔接方式
1. 直接的 a 标签链接
最稳的方式还是在入口页正文或导航里放可抓取的普通链接,指向目标页。链接要能直接访问,不要包在 JS 点击事件里,也不要用 onclick 代替 href。数量上不必多,几条清晰的即可,重在蜘蛛能顺着走。
2. 跳转的用法
301 和 302 可以作为补充,但要注意语义差别:301 表示长期转移,蜘蛛一般会把抓取重点迁到新地址;302 是临时跳转,蜘蛛可能仍保留原地址作为抓取对象。如果入口页只是临时指个方向,302 更合适;如果确实是永久替换,才用 301。JS 跳转蜘蛛不一定执行,把它当成唯一通道风险较大。
3. sitemap 与推送做补充
入口页能承载的链接有限,sitemap、RSS 和主动推送可以作为补充通道。它们和入口页并不冲突,但要注意 URL 保持一致,不要同一个页面用多个版本反复提交,否则容易分散抓取。
出口设置的常见误区
- 入口页只链到首页,目标页始终没机会被走到。
- 链接指向需要登录或返回 4xx、5xx 的页面,蜘蛛走到一半就断了。
- 用跳转层层嵌套,蜘蛛跟到第三跳往往就放弃。
- 出口链接全部加 nofollow,等于没给路径。
- 同一批入口页都指向完全相同的少数几个地址,抓取集中度太高,价值有限。
几条实操建议
- 先想清楚目标页是哪些,再决定入口页放什么链接,而不是先建池后找用途。
- 每条路径保持短,入口页到目标页尽量控制在一到两跳。
- 定期在日志里看目标页有没有被真实抓取到,没抓到的链路就要回头检查。
- 入口页链接更新后给蜘蛛一点重新发现的时间,不要频繁改动结构。
- 目标页自身要能正常访问、有基本内容,否则蜘蛛到了也留不下。
入口页的出口更像一条路,而不是一个开关。路修得通、走得顺,蜘蛛才可能继续往前;至于最终是否被索引,还要看目标页本身的质量和站点的整体情况。