列表頁是蜘蛛最常走的路径之一,尤其是电商、资讯和聚合類站点,首頁往下大多是分類頁與分頁。分頁结构设計得顺不顺,直接决定蜘蛛能翻到第几頁,以及翻頁时會不會把抓取预算浪費在重复内容上。
蜘蛛是怎么顺着“下一頁”走的
蜘蛛抓到列表第一頁後,會解析頁面里的連結。如果每頁只有“下一頁”指向第二頁,第二頁再指向第三頁,整條鏈路就是一串單鏈:第 10 頁要等前 9 頁都抓完,才可能被排上队。抓取队列按優先級與時間排序,連結越靠後、被發現得越晚,回訪間隔也可能被拉長。
如果分頁之外還有頁碼入口,比如“1 2 3 4 5 … 下一頁”,情况會好一些。蜘蛛可以在一次抓取里拿到多個分頁地址,而不是一格一格往前挪。
蜘蛛常见的止步点
- “下一頁”是按钮而不是連結,点击後由 JS 加载内容,HTML 里没有可解析的地址。
- 分頁連結指向带复杂參數的地址,被 robots.txt 或站内規則挡住,蜘蛛走到這里就断了。
- 靠後的頁碼没有直接入口,只能一頁頁点,蜘蛛翻到预算用完就停。
- 翻頁内容高度重复,标题、摘要、列表項几乎一样,蜘蛛繼續翻的動力下降。
- 分頁頁被全部 noindex,或者统一規范化到第一頁,連結發現路径會被削弱。
把分頁修成蜘蛛好走的样子
- 用真實的 a 标簽輸出分頁連結。JS 渲染的“加载更多”對蜘蛛来说等于没有入口。
- 保留一组可爬取的頁碼連結,或者至少保證“下一頁”始终是連結形式。
- 分頁頁不要全部 noindex,也不建议全部規范化到第一頁。常见做法是让第一頁自指,後續分頁也自指,再通過分頁關系标注表達序列。
- 每頁條目數別太少。一頁只有三五條时,翻十几頁才能覆盖一批内容,抓取與渲染成本都不划算。
- 如果内容确實需要一次性看全,可以提供一個“查看全部”頁面,同时保留分頁連結作為發現路径。
分頁也在花抓取预算
列表頁本身产出有限,但它占用請求額度。站点评級、URL 總量、抓取速度都會影响蜘蛛一天能抓多少。分頁层數多、頁面又薄,等于把预算摊在低價值頁面上。可以适当加大每頁條數,或用分類、标簽、专题等横向頁面提供更多入口,减少靠“一直点下一頁”来發現内容。
想確認蜘蛛是否翻到了後面几頁,直接看服務器訪問日誌里有没有 /page/2/、?paged=2 這類請求。只有第一頁有记錄,基本可以判断分頁鏈路在某處断了。
無限滚動的處理
無限滚動對用戶友好,但它通常依赖滚動事件或观察器触發請求,蜘蛛不會去滚動頁面。稳妥的做法是给每段内容一個可訪問的分頁地址,首屏之外的内容在 HTML 里保留連結,或者為關键列表提供预渲染版本。
分頁不是越深越好,也不是越浅越好。核心是让蜘蛛有一條清楚、可走、每一步都值得走的路径:連結真實可解析,翻頁顺序明确,内容不重复,頁面數量可控。做到這几点,蜘蛛翻到哪一頁就不再是运气問题。