列表頁、归档頁、商品分類頁,只要有内容堆积,就會遇到分頁。分頁本身不是問题,問题是很多站点的翻頁结构没有邊界:頁碼可以無限递增,參數可以随意组合,翻頁入口藏在脚本里,最後蜘蛛把大量時間花在一层层列表上,真正的内容頁反而没抓几條。這篇文章整理一份分頁與翻頁的自查思路,重点是先把現状看清楚,再决定哪些翻頁要保留,哪些要收口。
先分清哪些頁面属于分頁
自查之前,先把站内所有會产生翻頁的位置列一遍,不要只盯着主分類。
- 分類列表、标簽頁、作者頁、归档頁
- 站内搜尋结果頁、篩選结果頁
- 评论分頁、论坛帖子分頁
- 文章或商品列表底部的传统翻頁
寫下来之後,标注每個位置的 URL 形式、能否被普通連結訪問、每頁多少條内容、最多能翻到第几頁。這一步做完,後面的判断會轻松很多。
URL 形式:稳定比好看更重要
分頁 URL 常见有几種:路径式、參數式、參數加排序。形式本身没有绝對好坏,關键是稳定且唯一。同一個第二頁,不要同时存在多個可訪問地址,否則蜘蛛會把它們当成不同頁面分別抓取。
需要確認几点:
- 頁碼參數是否可枚举。如果翻到很大的頁碼仍然返回正常頁面,等于给蜘蛛留了一條無限通道。
- 分頁參數是否和其他篩選參數叠加。叠加之後 URL 组合會成倍增長。
- 大小寫、尾斜杠是否一致。同一頁不應存在两個寫法都返回 200 的情况。
翻頁入口是否真的能被点到
很多站点用「加载更多」按钮或無限滚動,原始 HTML 里只有第一頁的内容,後續頁面靠接口請求拼接出来。自查方式很简單:查看该頁面的原始 HTML 源碼,看下一頁連結是否存在。
- 連結存在、只是被样式隐藏,問题不大。
- 連結不存在,最好在列表底部保留一段可抓取的普通翻頁連結。
- 翻頁完全走接口时,至少保證主要几頁能從站内連結或 Sitemap 到達。
深度與頁數:给翻頁设一個上限
蜘蛛不會無限翻,越深的頁碼被訪問的概率越低,而且越往後内容價值通常越低。建议结合业務確認三件事:
- 用戶實际會翻到多少頁,超過這個深度的頁面還有没有人看。
- 這些深层頁面是否還需要被搜尋用戶找到。
- 如果不需要,是否可以让深层分頁不再輸出可抓取連結,或者返回 404。
常见的處理是前若干頁正常保留,深层分頁不再提供下一頁連結,只保留跳轉到固定頁的入口。具体頁數没有统一标准,取决于内容量和用戶行為。
canonical 與收錄策略
分頁頁面的 canonical 容易寫错。几種常见做法:
- 每一頁都 canonical 到自己,适合希望分頁被收錄的情况。
- 所有分頁都 canonical 到第一頁,适合只保留第一頁,但會减少深层内容的發現入口。
- 分頁设為 noindex, follow,不收錄但保留連結,让蜘蛛仍能顺着翻下去。
三種都能用,關键是统一。不要一部分頁面指向自己、一部分指向第一頁,也不要让 canonical 和 noindex 给出互相矛盾的信号。
几個容易被忽略的分頁坑
- 最後一頁之後仍返回 200:超出最大頁碼還是正常頁面,等于没有终点。
- 空结果頁返回 200:翻到没有内容的頁碼,返回空白模板而不是 404,容易被当成薄頁面。
- 排序參數制造重复:同一批内容按時間、按热度各有一套 URL,内容相同地址不同。
- 缺少聚合頁:有些内容适合用一次性展示的聚合頁代替多頁翻動,既方便用戶也减少层級。
- Sitemap 里塞满分頁:Sitemap 更适合放第一頁和重要内容頁,不必把所有頁碼都提交。
给蜘蛛一條清晰的翻頁路径
- 確認第一頁可以被普通連結直接到達,不依赖脚本渲染。
- 確認翻頁連結是真實的連結标簽,指向可訪問地址。
- 確認頁碼不會無限增長,超出范围时返回 404 或跳到合理頁面。
- 確認同一頁只有一種 URL 形式,參數顺序和大小寫统一。
- 確認 canonical 或 noindex 策略在整站分頁上保持一致。
- 在服務器日誌或抓取統計里观察分頁 URL 的訪問占比,如果長期偏高,再回头收口。
分頁自查的目标不是把所有翻頁都挡掉,而是让蜘蛛清楚:哪几頁值得進,哪几頁到此為止。邊界清楚,抓取才有节奏。
做完這些检查,可以定期回到日誌里確認分頁 URL 的抓取比例有没有變化。站点内容量增長之後,分頁结构往往需要重新评估一次,尤其是在改版、換模板或調整 URL 規則的时候。