列表頁和分頁入口是站点URL發現的主干道之一。很多站点首頁、栏目頁更新频繁,爬虫抓取也积极,但翻到第二頁、第三頁之後的連結往往被忽略。原因不一定是内容不好,而是分頁结构對爬虫不够友好,或者把大量翻頁URL變成了低质量重复頁面。分頁做得好,能帮助搜尋蜘蛛沿着列表逐层發現詳情頁;做得乱,則會浪費抓取预算,還可能让重要内容長期沉在深层。
分頁入口在URL發現中的位置
搜尋蜘蛛發現URL的路径通常有几類:首頁導航、栏目頁、站点地图、外鏈和分頁。分頁的特殊之處在于,它连接的是同一類内容的多個頁面,數量可能很多,而且會随内容增加不断出現新頁。如果分頁連結只靠JavaScript点击触發,或者翻頁地址被robots.txt誤封,蜘蛛就只能看到列表第一頁。對内容量較大的站点来说,這等于把大量舊内容放在一個不易被發現的角落。
常见分頁形態與抓取風險
數字翻頁
传统的?page=2、/list/2/等形式對爬虫比較友好,只要連結是普通a标簽,蜘蛛就能顺着抓取。需要注意的是分頁頁面的canonical。如果所有分頁都指向第一頁,後續頁可能被当成重复内容,失去作為入口的意义。合理的做法是分頁頁canonical指向自身,同时让第一頁保持稳定URL。若分頁只是摘要列表,不打算參與排名,也可以保留可抓取但用noindex處理,具体看栏目規划。
加载更多與無限滚動
点击按钮追加内容、滚動到底部自動加载,這些交互對用戶友好,但對蜘蛛不友好。初始HTML里如果没有下一頁的連結,蜘蛛通常只能抓到第一頁。解决思路是提供可抓取的a标簽,例如在列表底部放“查看下一頁”連結,或者在首次加载的HTML中包含後續頁入口。也可在站点地图中提交重点列表的分頁地址,但不要把所有參數组合都塞進去。
參數分頁與篩選
排序、價格区間、标簽篩選等參數會组合出大量URL,有些组合内容重复或為空,容易形成爬虫陷阱。建议保留核心分頁路径,對無價值的篩選组合用robots.txt屏蔽或加noindex。分頁參數不要叠加會话ID、追踪參數,否則同一頁會裂變成多個地址。服務器端可對參數顺序做規范化,减少重复URL。
站点运营的落地做法
- 全站统一翻頁規則,如/list/page/2/或?page=2,避免同一栏目出現多種分頁格式。
- 翻頁連結使用普通a标簽,不要只依赖onclick或前端路由。
- 分頁頁面的title和h1带上頁碼或内容区間,避免所有頁完全一样。
- 對需要收錄的分頁,canonical指向自身;對不需要的篩選頁,用noindex或robots屏蔽。
- 在HTML站点地图頁或栏目索引中给重点列表的若干頁入口,帮助蜘蛛發現深层内容。
- 观察服務器日誌中蜘蛛對分頁的抓取频次。如果長期只抓第一頁,检查是否被JS隐藏、被robots誤封或响應過慢。
服務器维護與抓取压力
分頁頁通常要查询資料库,翻頁越深,偏移量越大,响應可能越慢。爬虫密集抓取时,分頁可能拖慢服務器。可以给分頁加缓存,限制最大頁數,對确實無内容的頁碼返回404或410。若列表是動態生成,考虑静態化或增加缓存层。不要為了省资源把所有分頁都noindex,這會影响URL發現,需要结合栏目重要程度權衡。服務器稳定、响應及时,蜘蛛才更愿意繼續翻頁。
内容更新與分頁的關系
新内容通常出現在列表第一頁,舊内容逐渐下沉。蜘蛛通過第一頁發現新連結,但歷史内容還需要通過分頁、時間归档、标簽聚合等入口被發現。栏目規划时,可以設定“按時間归档”“热门列表”“相關推荐”等替代入口,减少對深层分頁的依赖。定期检查分頁是否有空頁、重复頁或失效頁,避免软404堆积。分頁不是越多越好,能通過其他入口發現的URL,不必强行制造大量翻頁。
分頁的價值在于帮助用戶和搜尋蜘蛛繼續發現内容。先保證連結可抓取、狀態碼正常、頁面不重复,再考虑是否用蜘蛛池或外鏈引導抓取。结构清晰的分頁,比短期抓取量更有長期意义。
把分頁当成站点结构的一部分来维護:统一規則、保留入口、控制參數、观察日誌、兼顾服務器压力。這样搜尋蜘蛛在發現URL时會更顺畅,站点运营也能更清楚地知道哪些内容被看到、哪些還需要补入口。