分頁是列表頁最常见的结构,也是最容易被忽略的一块。栏目第一頁往往有人盯着,翻到第 3、第 5 頁之後,标题、摘要、内鏈几乎没人再检查。時間一長,分頁頁容易變成三種狀態:重复的标题、稀薄的内容,以及一堆只有蜘蛛才會走到的地址。
為什么分頁值得單獨拿出来看
分頁同时牵扯三件事:URL 發現、抓取预算、内容重复判断。它既是站内連結的骨架,也是同一個列表被切成多份之後的产物。
- 每頁标题、H1 完全相同,搜尋引擎难以判断哪一頁该作為入口;
- 分頁地址被当成獨立頁面參與排名,和第 1 頁互相竞争;
- 翻頁只寫了 JS 点击事件,爬虫顺着走不下去,後面的内容長期不被發現;
- 每頁只放三五條,翻到後面内容過于稀薄。
第一步:先確認分頁的 URL 長什么样
把栏目翻到第 2 頁、第 3 頁,看地址栏的變化。
- 路径式:如 /news/page/2/,结构清晰,最容易處理;
- 參數式:如 /news?page=2,要留意別和排序、篩選參數混在一起,否則同一批内容會生出很多组合地址;
- 锚点式:如 /news#page=2,地址其實没變,後頁内容對爬虫不可见;
- 無限滚動:滚動时用 JS 追加内容,URL 全程不變,通常只能被發現第一屏。
後两種如果确實要用,至少补一個可点击的分頁連結区,让後頁内容有真實地址可以進入。
第二步:标题與 H1 是否做了区分
有的站点所有分頁都寫同一個栏目名,结果几十個頁面顶着同一張名片。建议给分頁加上頁序,例如栏目名加“第 2 頁”,H1 與頁面标题保持一致。摘要区域也尽量跟着頁碼變化,不要第一頁和第五頁展示完全相同的一段文字。
第三步:canonical 指向哪里
分頁的 canonical 一般指向自身,也就是第 2 頁指向第 2 頁。把全部分頁都指回第 1 頁,等于告诉搜尋引擎後頁内容不必單獨出現,翻頁内容會逐渐從索引里消失。反過来,如果每個分頁都被当成完全獨立的頁面去争排名,又容易互相分流。具体怎么選,要看這個栏目是希望第一頁承担入口,還是希望後頁的長尾内容也能被检索到。
判断标准可以简單一点:後頁里有没有用戶會搜尋的内容。如果有,就让它以自身地址存在;如果只是把同一批内容換個顺序,就別再額外制造新入口。
第四步:翻頁連結的抓取路径
打開頁面源碼,確認翻頁是可点击的真實連結,而不是只挂了 JS 事件的按钮。真實連結爬虫能顺着走,按钮不能。
- 保留“上一頁 / 下一頁”和頁碼列表即可,不必把 1 到 50 頁全部铺在頁面上;
- “跳到最後一頁”這類連結按需保留,它會让最後一頁被反复抓取;
- 頁碼連結文字寫清楚頁序,不要全站统一成“点击這里”。
第五步:内容量與薄頁面
每頁條數太少,翻到第十頁以後基本等于空頁。可以适当加大每頁條數,或者設定一個翻頁上限,超出部分用归档頁匯總。如果列表後面已经没有任何内容,记得返回正确的狀態碼或直接移除入口,而不是留一個空列表让爬虫反复来確認。
一份简易自查清單
- 翻到第 3 頁,看标题、H1、摘要是否和第一頁完全一样;
- 看分頁 URL 形態,確認没有參數组合泛滥;
- 查 canonical,確認没有全部指回第一頁;
- 看源碼,確認翻頁是可抓取的真實連結;
- 數一數每頁條數,判断後頁是否過于稀薄;
- 在日誌里搜分頁地址,看抓取频次是否正常。
观察一段時間再調整
分頁改動通常不會立刻反映在索引上。改完之後,隔一段時間看被抓取的地址數量,看後頁内容有没有出現在搜尋结果里,再决定是否繼續調整。一次性把分頁结构、canonical 和每頁條數全部改掉,出了問题很难定位到底是哪一步引起的。