列表頁和分頁地址,通常是蜘蛛發現站内新内容最主要的通道之一。比起 Sitemap,蜘蛛更常顺着频道頁一頁頁往下翻。如果翻頁环节出了問题,後面詳情頁质量再高,也可能一直没人来。
分頁為什么值得單獨检查
很多站点把精力花在詳情頁的标题和正文上,却預設列表頁“本来就那样”。實际上分頁同时涉及 URL 形態、連結渲染、狀態碼、元信息四件事,每一件都會影响蜘蛛能不能顺利往下走。
常见的几類分頁問题
1. 同一個列表有多個地址
列表首頁既能通過 /news/ 打開,也能通過 /news/?page=1 打開;第二頁有时是 ?page=2,有时是 /news/page/2/。同一份内容對應多套地址,抓取预算被摊薄,連結關系也被拆開。建议固定一種翻頁寫法,並让第一頁始终指向不带參數的地址。
2. 翻頁連結点得動,蜘蛛抓不到
“加载更多”或無限滚動如果只靠 JavaScript 事件触發,源碼里没有對應的 a 标簽,蜘蛛就没有下一步可走。可以在關閉 JavaScript 的情况下再打開一次列表頁,或者直接看源碼里有没有 href。
3. 越界頁碼返回 200 和空列表
列表只有 20 頁,訪問 ?page=999 仍然返回 200,标题正常但列表為空,這属于典型的空壳地址。蜘蛛會把這些地址记下来反复回訪。越界时應返回 404,或者至少给出明确的空狀態提示。
4. 分頁頁面的标题完全一样
第 3 頁和第 7 頁的 title、描述、H1 一模一样,只有列表内容不同。這本身不算致命,但标题里带上頁碼或区分标识,排查和判断时會方便很多。
自查清單
- 從列表首頁手動翻到第 3 頁,记錄 URL 的變化規律,確認只有一種寫法。
- 查看翻頁連結是否為 a 标簽,href 是否指向真實地址。
- 在關閉 JavaScript 的狀態下打開列表頁,看能否繼續翻頁。
- 訪問一個遠超總頁數的頁碼,確認返回的狀態碼。
- 检查每頁展示條數:太少會增加翻頁层級,太多會让單頁体积偏大。
- 確認分頁地址有没有被塞進 Sitemap,通常只需放列表第一頁。
- 检查分頁頁面的 canonical 指向哪里。
- 抽查抓取日誌,看蜘蛛是否真的訪問到了第 2、3 頁之後的地址。
canonical 與索引取舍
分頁頁面一般建议 canonical 指向自己。把它們统一指向列表第一頁,等于告诉搜尋引擎後面几頁不重要,同时切断了從這些頁面繼續發現新文章的路径。如果确實不希望分頁頁參與索引,可以用 noindex,follow 處理,保留連結可追踪性,而不是直接屏蔽抓取。
翻頁與排序參數叠加
列表頁往往還带排序和篩選,翻頁时两者叠加,會拼出大量组合地址。自查时留意是否存在“排序 + 頁碼”無限增長的入口,必要时限制可選排序項,或者让排序结果不被連結指向。
控制翻頁深度
翻到第 50 頁以後,内容價值通常已经很低,但地址依然存在。可以考虑限制可翻頁的范围,或者超過一定頁數後不再輸出翻頁連結,让抓取集中在前面的有效区間。
分頁本身不复杂,难点在于它同时承担“内容入口”和“地址管理”两個角色。把 URL 形態统一、把連結做成可抓取的、把越界地址處理干净,通常比事後补救省力得多。