列表頁在蜘蛛池里的實际角色
很多人把入口頁理解成一張張獨立頁面,真正跑起来會發現,承担 URL 分發任務最多的其實是列表頁。蜘蛛從入口進来,顺着連結一层层往下走,能走多遠、走到哪些目标頁,很大程度取决于列表和分頁的结构。入口頁本身寫得再規整,如果列表结构混乱,後面的 URL 依然沉在下面出不来。
分頁的三種常见寫法
静態路径分頁
類似 /list/2.html、/page/3/ 這種寫法,URL 干净、可缓存、容易被反复抓取,在蜘蛛池里通常是首選。
參數分頁
?page=2 這類參數分頁也能被抓,但要注意參數顺序、大小寫和多余跟踪參數带来的重复。同一個列表出現 ?page=2、?page=02、?page=2&utm 多個版本,等于把抓取次數拆成几份。建议统一參數拼接規則,多余參數在服務端直接 301 到規范地址。
JS 加载更多與無限滚動
這两種方式對浏览体驗不错,但對 URL 發現不太友好:如果列表資料由接口异步返回,HTML 里没有對應的 a 标簽,蜘蛛就看不到這些連結。要用的话,至少保留一份静態降級連結,或者把翻頁入口放在可抓取的位置。
每頁放多少條連結
没有统一數字,但可以從两個极端避開:
- 一頁塞進上百條連結,單頁權重被摊薄,蜘蛛也不一定每條都跟;
- 一頁只放三五個連結,頁面层級被迫拉深,不少 URL 因為跳數太多而抓不到。
做入口頁分發时,常见做法是每頁 15~30 條,重要目标頁尽量放在前两頁,让它們在更少的点击次數内被触達。
分頁數量和翻頁深度
翻頁越往後,被訪問的概率越低。如果日誌里第 1、2 頁訪問频繁,第 20 頁之後几乎没有记錄,說明後面的分頁基本是浪費。两個處理方向:
- 控制總頁數,不要為了凑數量批量生成没有實际内容的分頁;
- 把真正有價值的 URL 集中到浅层分頁,深层分頁只保留必要的歷史归档。
归档頁和标簽頁的取舍
归档頁按時間排列,结构稳定,URL 一旦生成基本不用改,适合長期做 URL 發現的载体。标簽頁則容易失控:一個站几百上千個标簽,彼此内容高度交叉,翻来覆去都是同一批連結。
如果确實要用标簽頁,建议:
- 限制标簽數量,只保留有實际聚合意义的;
- 给低價值标簽頁加 noindex,但要清楚 noindex 只影响收錄,頁面里的連結仍可能被跟随;
- 不要把标簽頁当成主要分發入口,它更适合做补充。
列表和分頁的作用是把蜘蛛送到目标頁,而不是自己成為内容。结构越简單、层級越浅,越容易達到目的。
怎么驗證這套结构有没有效
還是回到日誌。重点看三件事:列表頁和翻頁被訪問的频率、後面几頁有没有被抓過、目标頁的首次訪問是来自列表還是首頁。如果翻頁几乎零訪問,先检查連結是不是静態可抓取,再检查是否被 robots、nofollow 或者前端路由挡住。
结构上的調整通常不會立刻看到變化,也不保證一定带来收錄,但至少能让蜘蛛少走弯路,把有限的抓取次數用在真正想被看到的 URL 上。