蜘蛛池知识

蜘蛛池入口頁的分頁與加载更多:蜘蛛能不能翻到後面的列表

列表頁只露出第一頁,後面的内容往往就失去了被發現的路径。這篇文章梳理传统 URL 分頁、加载更多和無限滚動三種形態各自的問题,给出让後續頁面可被連結、可獨立訪問的折中做法,並附上一份從初始 HTML 到翻頁内容的检查顺序,方便落地排查。

蜘蛛池知识

蜘蛛池入口頁的分頁與加载更多:蜘蛛能不能翻到後面的列表

分頁為什么值得單獨拿出来讲

很多站点首頁和栏目頁做得不错,但内容其實藏在第二頁、第三頁之後。蜘蛛顺着連結走到列表頁,只看到十條連結,再往下就断了,後面的内容等于没有被發現的机會。入口頁把蜘蛛請進来是一回事,能不能让它繼續往深處走是另一回事。

蜘蛛池的作用是提供更多入口和連結路径,但如果入口頁後面是一堵墙,再多入口也只是把蜘蛛带到同一堵墙前面。分頁属于离内容最近的一层结构,這一层做通了,收益往往比多加几個入口更直接。

三種常见的分頁形態

1. 传统 URL 分頁

形如 /list/2.html 或 /list?page=2。這是對蜘蛛最友好的一種:每頁都有獨立 URL,連結寫在 HTML 里,蜘蛛可以顺着 a 标簽一路点下去。要注意的是參數寫法统一,別一部分用 ?page=,一部分用 ?p=,一部分用 /page/2/,同一份内容被拆成好几套 URL,反而增加归一负担。

2. 加载更多 / 無限滚動

点一下按钮或者滚到底部才加载下一批,内容靠 JS 請求接口取回。對用戶流畅,對蜘蛛就不一定了:如果按钮只是個 div,第二頁的資料也不在初始 HTML 里,蜘蛛看到的就永遠是第一頁。

3. 上一頁 / 下一頁連結缺失或不可点

有的分頁控件完全由 JS 渲染,有的把翻頁做成了 button,還有的只在鼠标悬停时才出現。這些在浏览器里都正常,但對抓取来说约等于没有連結。連結是不是真實存在,比連結好不好看重要得多。

無限滚動想被翻到,通常有几種折中做法

  • 首屏之外补一组静態連結:在列表頁底部或侧栏,把後續几頁的 URL 用 a 标簽列出来,即使用戶主要靠滚動。
  • 分頁 URL 可獨立訪問:让 /list?page=3 直接能打開完整 HTML,而不是必须点按钮才存在的狀態。
  • 滚動到底时同步改地址:用 history API 把目前批次寫進 URL,至少让不同批次的内容各自有可訪問地址。
  • 列表頁保留一條清晰的上級入口:從栏目頁、频道頁能直接点到分頁,不要只能靠首頁一路滚下去。

几個容易被忽略的细节

  1. 分頁連結不要全部指向第一頁,或者用 JS 统一跳轉,那等于告诉蜘蛛這里只有一頁。
  2. 每頁放多少條没有标准答案,連結太多會稀释權重,太少則层級過深,按内容量調整即可。
  3. 翻到最後一頁要有明确收尾,返回空列表或者重复第一頁内容都不太合适。
  4. 篩選、排序參數容易生成大量近似 URL,建议對這些组合加 canonical 或直接屏蔽,別让抓取预算耗在重复頁上。
  5. 分頁 URL 的生命周期要管住,栏目調整後老的分頁地址尽量保留跳轉,不要直接留個 404。
一個简單的判断方式:把浏览器 JS 關掉,打開列表頁,看看還能不能顺着連結点到第二頁、第三頁。如果点不到,蜘蛛大概率也点不到。

落地时的检查顺序

先看列表頁初始 HTML 里有没有翻頁連結,再看這些連結是不是真實的 a 标簽、href 是否可直接訪問,最後看翻頁後的内容是不是真的換了。三步都過了,分頁這條路径才算通。至于這些頁面最终會不會被收錄、多久被收錄,取决于内容本身和整体站点质量,分頁只解决“能不能被走到”這一段。