搜尋抓取

抓取路径的死胡同:落地頁没有出口連結时,蜘蛛會停在哪里

蜘蛛是顺着連結一层层走站点的,如果頁面正文里没有可抓取的出口連結,這條路径就到此為止。本文說明死胡同頁面的常见形態、它對抓取路径的實际影响,以及用面包屑、相關推荐、聚合頁和 Sitemap 补充出口的做法,並给出用日誌驗證效果的方式。

搜尋抓取

抓取路径的死胡同:落地頁没有出口連結时,蜘蛛會停在哪里

蜘蛛抓取站点的方式,本质上是顺着連結一层层走。入口给得再好,如果某個頁面里没有指向其他頁面的可抓取連結,這條路径就到此為止。运营里常说的死胡同頁面,指的就是這類只有入口、没有出口的 URL。

什么样的頁面算死胡同

判断标准很简單:把頁面当纯 HTML 打開,看正文区域有多少條能被爬虫讀到的 a 标簽連結。如果除了導航和頁脚的全站連結之外一條内鏈都没有,這個頁面在抓取路径上基本就是终点。

  • 专题頁、活動頁,只有一張長图和几個按钮
  • 詳情頁没有相關推荐,也没有上一篇下一篇
  • 列表頁翻到最後一頁,没有回到首頁或栏目的連結
  • 附件頁、PDF、演示頁,只提供下载不提供返回
  • 跳轉靠 onclick 或 div 点击,没有 href

蜘蛛走進死胡同之後會怎样

不會报错,也不會因此被惩罚,只是這條路径没有下一步。带来的影响是間接的:

  • 頁面里的新内容缺少第二條發現路径,只能等 Sitemap 或外鏈
  • 抓取频次靠首頁和栏目的推送维持,一旦導航調整就容易掉队
  • 從主干分出来的抓取预算没有回流到其他頁面

所以要区分清楚:死胡同影响的是路径的连續性,不是單頁能不能被抓。頁面本身该被抓還是會抓。

给死胡同补出口的几個做法

  1. 面包屑:至少让蜘蛛能回到栏目頁和首頁,這是成本最低的出口。
  2. 相關推荐:放 3 到 8 條同栏目或同标簽連結,覆盖真正相關的頁面。
  3. 上下篇導航:适合内容型站点,能形成一條横向路径。
  4. 标簽或聚合頁:把同類頁面收進一個可抓取的列表頁。
  5. Sitemap 补充:确實不想加内鏈的頁面,至少在地图里保留發現入口。

這些出口都必须是 a 标簽加 href,寫在服務端返回的 HTML 里。用按钮加 JS 跳轉,蜘蛛讀不到,等于没有。

出口連結不要堆在同一處

有些站点意识到死胡同問题之後,會在頁脚塞几十條全站連結,或者每個頁面都放一大块热门推荐。结果是每個頁面長得都一样,蜘蛛走到哪里看到的都是同一批 URL,路径等于原地打轉。

出口連結的作用不是數量多,而是让蜘蛛從目前頁走到下一批還没抓過的頁面。指向同一批頁面的連結放十處,效果和放一處差不多。

用日誌驗證出口是否有效

打開服務器日誌,挑几個典型的落地頁,看蜘蛛在這次請求之後紧接着訪問了哪些 URL。如果大量請求後面跟着的是首頁或直接登出,說明出口没起到作用;如果能看到從詳情頁走到同類詳情頁,路径就是通的。再把日誌和 Sitemap 的抓取记錄對照一下,可以判断哪些頁面是靠地图兜底、哪些是靠内鏈自然發現的。

小结

  • 先確認頁面正文里有没有可抓取的 a 連結
  • 出口連結優先指向栏目頁、同類頁、聚合頁
  • 避免全站统一的大块連結,让路径有分叉
  • 确實不加内鏈的頁面,用 Sitemap 保留發現入口