搜尋抓取

蜘蛛在哪一步停下:一次抓取路径的排查顺序

頁面長期没被抓取,先別急着重复提交。把問题拆成没發現、發現了但没抓、抓了没索引三類,再按服務器日誌、内鏈路径、Sitemap 一致性、响應鏈路、内容差异的顺序排查,通常能定位到具体断点。本文整理一套可复用的检查流程,帮你把抓取路径上的阻碍逐個排除。

搜尋抓取

蜘蛛在哪一步停下:一次抓取路径的排查顺序

站点运营中常见的困惑是:某些頁面長期没有出現在抓取日誌里。原因可能在上游——蜘蛛根本不知道有這些 URL;也可能在中游——知道了却走不過去;還可能在下游——抓到了但没被索引。把這三段分開看,排查會清晰很多。

先分清三種“没抓到”

  • 没發現:日誌里完全没有该 URL 的訪問记錄。問题多出在入口、内鏈、Sitemap 或 robots 允许范围。
  • 發現了但没抓:Sitemap 或外鏈里出現了,但蜘蛛没来。可能是排队、被限速,或服務器响應不稳定。
  • 抓了没索引:日誌有訪問、狀態碼正常,却没有進入索引。這通常属于内容與质量层面,已经不在抓取路径上。

分清類型之後再决定往哪個方向排查,能避免一上来就重复提交 URL 或堆外鏈。

第一步:用日誌還原蜘蛛的走法

服務器日誌是能證明蜘蛛實际走過哪里的資料。至少要能筛出搜尋引擎 UA,並按狀態碼、路径、時間做分组。

  • 看狀態碼分布:大量 3xx 說明跳轉鏈太長,大量 5xx 或 429 說明抓取被拒或被限。
  • 看路径分布:蜘蛛集中在你不在意的列表頁、篩選頁,還是深入到了詳情頁。
  • 看時間分布:抓取是否集中在某個时段,是否與站点备份、批量任務重叠。

如果日誌里只看到首頁和少量栏目頁,問题多半在連結结构;如果詳情頁被抓但反复失敗,更可能是响應鏈路。

第二步:從入口頁手動走一遍

關掉搜尋框和站内推荐,從首頁開始,只用連結点击到目标頁,记錄步數與每一跳的頁面類型。這是最直接的抓取路径測試。

  1. 首頁是否能在一到两次点击内到達主要栏目。
  2. 栏目頁是否把詳情頁放在預設可见区域,而不是需要篩選或排序才出現。
  3. 分頁是否使用可抓取的連結,而不是纯按钮事件。
  4. 列表頁是否存在大量參數组合,把同一批詳情頁重复指向。

如果目标頁在点击路径中根本走不到,Sitemap 可以作為补救入口,但不應成為唯一入口。

第三步:核對 Sitemap 與真實 URL 的一致性

Sitemap 的價值在于告诉蜘蛛“這里有哪些地址”,但它無法替代内鏈。常见問题有三類:

  • 列出的 URL 返回 404、301,或需要登入才能訪問。
  • 寫的是參數版地址,頁面上 canonical 却指向另一個版本。
  • lastmod 被批量刷成目前時間,失去參考意义。

建议定期抽检:随机取 Sitemap 中的若干條,確認狀態碼、canonical 與頁面内容是否一致。URL 數量大的站点可以按目錄抽样。

第四步:检查响應鏈路里的隐性成本

即便連結结构没問题,蜘蛛也可能因為服務器端体驗差而减少回訪。重点看以下指标:

  • TTFB:整体响應時間偏長时,抓取並發會受影响。
  • 重定向鏈:一次跳轉可以接受,连續多次會消耗抓取配額。
  • 限速與拦截:429 與防火墙規則會让蜘蛛降低频率。
  • CDN 與缓存:不同节点返回不同内容,可能让蜘蛛拿到空頁或错誤版本。
抓取频率不是求来的,而是站点稳定性與内容更新节奏共同形成的结果。

第五步:處理抓得到但不被選中的情况

這一步已经超出纯抓取問题,但仍值得一起排查,因為很多“没收錄”的誤判来自這里。

  • 頁面主体内容是否與其他頁面高度重复。
  • 是否存在 noindex、robots 規則,或 canonical 指向他處。
  • 頁面是否依赖脚本渲染,蜘蛛执行後拿不到主要内容。

针對這類頁面,優先做内容差异化與结构清晰化,而不是反复提交。

一個可复用的排查顺序

  1. 用日誌確認蜘蛛是否来過、来過几次、结果如何。
  2. 手動点击確認内鏈路径是否存在断点。
  3. 核對 Sitemap 中 URL 的可訪問性與一致性。
  4. 检查服務器响應、重定向、限速與缓存表現。
  5. 最後再评估内容层面的抓取與收錄條件。

按這個顺序走,多數“蜘蛛不来”的問题都能落到具体环节。剩下的就是修好那一环,然後给它一点時間。