先问一个问题。你有没有算过,百度蜘蛛一天到底来你站几趟?
我头几年从来没想过这事,总觉得蜘蛛爱来不来,我做我的内容就行。直到有次翻日志,发现人家一天就来十几次,全耗在那些没用的分页和筛选页上。我那些真正想让它看的内容页,它压根没进去。我这才恍然大悟,原来蜘蛛的时间也是有限的,它每次来能抓的页面数是固定的,这个额度就叫抓取预算。
这事的逻辑跟快递员送货差不多。你家有五百件包裹要送,快递员今天只能跑一百个点。结果其中八十个点都是空门面、没人的仓库,真正有人的家只跑了二十个。你说冤不冤。蜘蛛也一样,它的额度就那么多,你给它一堆垃圾链接让它爬,真正重要的页面它就走不到了。
那怎么算这个预算呢。说白了看两个东西,一个是蜘蛛来的频率,一个是每次爬行的页面上限。站越大、更新越勤、服务器越快,这个额度就越高。反过来,站慢得像老牛拉车,或者一堆重复低质页面把路口堵死,额度自然就被压缩。
问题在于,大多数小站根本不知道自己的额度被浪费在哪。我教你怎么查。翻 access log,把蜘蛛访问的 URL 拉出来,按类型归类。你会发现大头往往不是文章页,而是各种分页、标签页、带参数的筛选链接。这些页面本身没什么价值,却占着蜘蛛大半的时间,这就是典型的浪费。
省预算的招其实不复杂。第一,把没价值的分页和筛选页面用 robots.txt 挡掉,别让蜘蛛进去。第二,把重复内容用 canonical 指到主页面上去。第三,把 sitemap 做干净,只放你真正想让蜘蛛抓的地址。第四,给重要的页面留下浅一点的点击路径,别让蜘蛛点五层才找到。就这么几招下去,你会发现同样的蜘蛛来访量,被收录的内容页反而变多了。
还有个细节很多人忽略。你站的 URL 结构如果变来变去,蜘蛛每次来的路径都不一样,它就得重新摸索。稳定压倒一切,这一点我吃过亏。早期我改过两次 URL 结构,结果那两个月收录几乎停摆,等蜘蛛重新适应过来才慢慢恢复。
说到底,抓取预算不是让你去求蜘蛛多来,而是把它的时间用在刀刃上。同样的额度,用得聪明和用得糊涂,收录结果能差出一大截。这个道理,我做站到第三年才真正嚼明白。
—— 来自 挖的客 - 优秀网站分类目录 的分享