很多站长看抓取日志时会发现一个现象:首页、栏目页被反复抓取,真正带内容的详情页却十天半月才来一次。原因通常不是蜘蛛懒,而是这些页面对它来说太远了——从入口走到它,要经过好几层点击。
点击深度与抓取深度不是一回事
点击深度是从站点入口到某个页面的最短点击次数,由内链结构决定,基本是你自己能控的。抓取深度是蜘蛛实际抓取时形成的层级分布,受抓取预算、链接权重、页面更新频率共同影响。两者相关但不相等:点击深度浅的页面更容易被优先抓,点击深度深的页面往往要等前面几层抓完才轮到。
蜘蛛为什么容易在浅层堆积
- 首页和栏目页链接数量最多,蜘蛛一进来就被大量 URL 分流,每条链接分到的关注度很低。
- 新出现的链接通常优先入队,老页面、深层页面排在后面。
- 列表分页一层套一层,第三十页之后的链接往往几个月不被触碰。
- 靠脚本渲染出来的链接,第一次抓取时可能根本不存在,等于断了路。
结果就是:浅层页面被反复抓,深层页面长期排队。
先确认自己的站点有多深
不用猜,从两处看即可。一是抓取日志,把被抓 URL 按路径层级归类,统计各层被抓次数;二是内链结构,随手挑几个详情页,看从首页出发最少几次点击能到。如果大部分正文页需要四跳以上,说明层级偏深,蜘蛛的抓取会明显偏向前几层。
压缩点击深度的常用做法
- 把重要入口放在栏目页首屏,而不是全站页脚。页脚塞太多链接,等于每条都不重要。
- 用聚合页或专题页做中转,把散落的详情页收拢到一两个页面下。注意聚合页本身要有实质内容,别做成纯链接堆。
- 分页给出明确的可抓链接。无限滚动和“点击加载更多”最好配一个普通链接版本,否则后面的内容蜘蛛很难自己翻到。
- 面包屑和上下级互链让深层页面有回程,也让蜘蛛从详情页反向发现同层内容。
- Sitemap 直接给深页入口,把它当作补路手段,而不是唯一手段。
深页不是塞进 Sitemap 就完事
Sitemap 能告诉蜘蛛这些 URL 存在,但不保证优先抓、优先收。如果这些页面在其他地方没有任何内链指向,抓取频率往往很低,更新也很难被及时看到。更常见的做法是:Sitemap 提供入口,内链提供路径,两者配合。
判断一个深层页面是否值得被抓,可以问自己:如果我是蜘蛛,除了 Sitemap,还有哪条路能走进来?答不上来,就得补链接。
几个容易踩的坑
- 把几万条链接一股脑塞进首页,看似缩短了深度,实际分散了权重,效果常常更差。
- 用筛选和排序参数生成大量深层 URL,让蜘蛛在无价值组合里打转。
- 层级中间塞了一堆没有内容的空壳中转页,蜘蛛进去之后无事可做。
- 只顾加链接,忘了让重要页面保持更新,蜘蛛来过一次发现没变化,下次就不急着来。
抓取深度是个结构问题,改版时顺手梳理一次内链层级,比事后到处补链接有效得多。先让重要页面离入口近一点,再谈抓取频次和预算,顺序才不会反。