栏目列表頁往往是站点里被抓取最多的頁面之一,但很多运营者只盯着第一頁,後面的第 2 頁、第 3 頁乃至更深的分頁几乎没人管。结果是:舊内容沉在列表深處,蜘蛛在翻頁鏈上兜圈子,用戶想找几個月前的文章只能靠站内搜尋。分頁看起来是個小功能,實际上决定了栏目能不能被顺利走完。
先分清你的分頁属于哪種形態
- 路径式:如 /news/page/2/,结构清晰,容易被理解成同一栏目的延續。
- 參數式:如 /news?page=2,能用,但要避免和排序、篩選參數混在同一條地址里。
- 按钮式:翻頁連結是普通 a 标簽,還是靠点击事件拼接地址,差別很大。後者多數情况下蜘蛛走不到。
- 無限滚動或“加载更多”:视觉上流畅,但如果没有可訪問的翻頁地址作為兜底,等于把後面的内容藏了起来。
分頁自查清單
一、翻頁連結必须是真實可点的連結
最快的判断方法:鼠标悬停看狀態栏、右键看能否複製出地址。如果翻頁靠脚本拼接參數,蜘蛛很难繼續向後走,第二頁之後的内容就只能依赖其他入口被發現。把“下一頁”“末頁”“頁碼”做成普通連結,是改動成本最低的一步。
二、分頁參數尽量收敛成一種
常见問题是同一栏目同时存在 ?page=2、?paged=2、?p=2 等寫法,站内連結混用,導致同一個列表出現多套地址。建议固定一種路径或參數形式,所有翻頁入口保持一致,歷史遗留寫法做跳轉處理,减少重复請求。
三、标题與描述別複製粘贴
如果第 2 頁的标题和第一頁一模一样,用戶和蜘蛛都分不清這是哪一段内容。可以在标题里带上頁碼或時間范围,例如“行业動態 第 2 頁”;描述里也可以說明這是列表的第几頁,帮助点击前的判断。
四、頁碼深度和每頁條數要算一算
每頁 10 條、栏目共 500 條内容,就意味着 50 頁。指望蜘蛛一路翻到第 50 頁並不現實。可以适当調大每頁條數(15 到 30 條是常见区間),同时用子分類、标簽、時間归档等方式,给舊内容留出更短的入口,而不是全部压在翻頁鏈上。
五、“加载更多”要留一條後路
如果前端采用無限滚動,建议同时保留传统分頁地址,或者在追加内容时同步更新地址栏,让每一次内容延伸都有對應的地址可訪問、可分享、可被抓取。否則列表在视觉上很長,在代碼层面却只有一屏。
六、去日誌里看翻頁有没有被走到
在服務器日誌中篩選分頁路径,观察蜘蛛是否訪問過第 2、3 頁,訪問是否稳定,是否出現大量參數變体被反复請求。日誌比主观猜测可靠得多,也能帮你判断每頁條數調整後是變好了還是變糟了。
調整之後怎么驗證
- 關閉 JavaScript,用纯文本方式打開栏目頁,看還能不能点到第二頁。
- 挑一個較深的頁碼,直接在地址栏輸入訪問,確認返回正常且内容對得上。
- 检查站内所有翻頁入口,確認參數寫法统一、没有多余變体。
- 观察一段時間日誌,看翻頁抓取是否稳定,有没有異常參數被持續請求。
分頁不是越深越好,也不是越少越好。目标是让栏目里的每條内容,都能在少數几次点击内被用戶和蜘蛛找到,同时不给服務器制造大量重复且無意义的請求。