搜尋抓取

分頁與加载更多:列表頁怎么把新 URL 交出去

列表頁往往是新内容被發現的第一站,但分頁做成按钮、加载更多靠脚本、翻頁連結不可直接訪問时,地址就交不出去。本文拆解分頁連結的常见形態、無限滚動的补救做法、分頁深度與最後一頁的處理,以及列表頁常见的几類失誤。

搜尋抓取

分頁與加载更多:列表頁怎么把新 URL 交出去

新内容上线後能不能被搜尋蜘蛛看到,很大程度取决于它在哪條鏈路上第一次露脸。對多數内容站来说,這條路不是首頁,而是列表頁——分類頁、标簽頁、专题頁和常規分頁。列表頁承担的是持續交出地址的职责,分頁形態设計得別扭,新 URL 就會卡在第二頁之後。

分頁連結的两種常见形態

一類是路径式,例如 /category/page/2/;一類是參數式,例如 /category?page=2。路径式地址獨立、便于直接訪問和統計,參數式實現成本低但容易出現重复地址。無论選哪種,都要保證分頁地址能被單獨打開、内容與目前頁一致。

別只看下一頁按钮,看 HTML 里有没有 href

不少前端把分頁做成按钮加事件监听,渲染後 href 為空或是 javascript:void(0)。蜘蛛顺着 HTML 走,看不到可用地址,翻頁鏈路就在這里断掉。建议保留真實 a 标簽,href 指向可訪問的分頁地址,再由脚本接管無刷新体驗。

加载更多與無限滚動的补救

無限滚動的主要内容地址通常不在初始 HTML 里,需要額外补位:

  • 首屏渲染时輸出前若干條的真實連結,而不是占位骨架;
  • 提供普通分頁地址作為兜底入口,让不执行脚本的抓取也能走通;
  • 列表接口若可公開訪問,確認返回的是可解析的地址集合,避免只给内部 ID。

分頁深度與最後一頁的處理

分頁越深,地址越靠後,走到那里的可能性越低。常见的做法是把每頁條數控制在合理范围,让新内容尽量落在前三頁;同时检查「最後一頁」是否可点、是否被誤设為不可抓取。若分頁被 robots.txt 或 meta 屏蔽,顺着分頁發現新地址這條路就基本失效了,只剩 Sitemap 一條通道。

另外注意分頁連結的排序逻辑:按發布時間倒序的列表,新内容天然靠前;按热度或人工排序的列表,新内容可能長期沉底,這时需要額外的「最新」入口。

列表頁常见失誤清單

  1. 分頁按钮無 href,或 href 指向统一占位地址;
  2. 翻頁請求只在同頁内替換内容,地址栏不變;
  3. 分頁地址返回空列表或软 404,内容實际存在;
  4. 列表條目摘要截断时把标题連結一並省略;
  5. 移動端和桌面端輸出两套不同連結,只有一套可訪問;
  6. 分頁數量巨大但每頁僅几條,目錄被稀释。
列表頁是把新地址交出去的第一道闸门。闸门顺畅,後續抓取才有机會發生;闸门別扭,内容本身再好也只能排队等待。

和 Sitemap、内鏈互相补位

不要把發現压力全压在分頁上。可在 Sitemap 中按更新時間组织重要地址,同时在正文内鏈中把新内容與已有相關頁互相引用,让地址有第二條進入路径。列表頁负责广度,内鏈负责權重與上下文,Sitemap 负责兜底,三者配合比單点優化更稳。日常巡检时,可以打開無脚本环境看一眼列表頁,確認新地址确實出現在源碼中,這比任何工具报告都直接。