内容型站点很难把所有文章都铺在首頁,分頁、翻頁、“加载更多”就成了蜘蛛繼續往下走的通道。通道断了,蜘蛛不一定报错,只是安静地停在第一頁——你在後台看不到任何異常,收錄量却迟迟不见起色。這篇自查清單围绕分頁结构本身,帮你確認蜘蛛能不能顺利翻到第二頁、第三頁。
先分清站点用的是哪種分頁
- 传统分頁:形如 /list/?page=2 或 /list/2.html,翻頁連結寫在頁面上,蜘蛛顺着 a 标簽走。
- “加载更多”按钮:首屏只给一部分,点击後由 JavaScript 追加内容。
- 無限滚動:滚動到底部自動加载,没有獨立的翻頁地址。
三種形態對蜘蛛的友好程度不同。传统分頁最容易被發現,後两種要看實現方式——如果翻頁後地址不變、内容靠脚本注入,蜘蛛很可能只看到首屏那几條。
分頁自查清單
- 在關閉 JavaScript 的情况下打開列表頁,检查分頁連結是否還存在。如果“下一頁”只是一個 button,蜘蛛通常不會去点它。
- 複製“下一頁”的連結地址,看是否為可訪問的獨立 URL。參數式、路径式都可以,關键是要能直接打開。
- 手動改一下頁碼,翻到靠後的一頁(比如第 10 頁),確認仍然有内容,而不是空白頁或报错。
- 检查分頁連結是否带有 rel="next" / rel="prev",或者至少在頁面上有清晰的文字锚点。
- 確認分頁頁面的 title、description 有区分(例如带上“第 2 頁”),不要全部照抄第一頁。
- 查看第 2 頁以後的 canonical 指向哪里。若全部指向第一頁,等于告诉搜尋引擎“後面几頁不用看”。
“加载更多”和無限滚動的處理
這两種交互對用戶友好,對蜘蛛不友好,因為内容不在初始 HTML 里。常见的折中做法是:保留一個普通的分頁地址作為兜底(如 /list/2.html),按钮点击後用脚本改地址;或者首屏以下的内容由服務端渲染輸出,脚本只负责交互。至少要让每一批内容都有一個可以直接打開的 URL,否則蜘蛛翻頁這件事只能靠猜。
分頁參數別太随意
排序、篩選、每頁條數這些參數,如果都能生成可訪問的地址,就很容易组合出大量内容相近的頁面。蜘蛛撞進去,會在一堆重复列表里消耗抓取配額。建议對這些參數做限制:能通過 robots.txt 屏蔽的屏蔽,不方便屏蔽的用 canonical 收敛,或者加 noindex。
列表頁本身也要克制
有些站点把文章的完整正文直接輸出在列表頁,翻几頁之後,同一篇内容在列表地址和詳情地址各出現一次,重复度很高。更稳妥的做法是列表頁只给标题、摘要或前一两段,正文留在詳情頁。這样既减轻頁面体积,也让摘要有一個明确的归属地址。
用抓取日誌確認蜘蛛真的翻頁了
打開服務器日誌或抓取統計,搜尋列表頁的地址,看有没有出現 page=2、page=3 之類的记錄。如果只有第一頁反复被訪問,說明翻頁入口對蜘蛛不可用,前面几項自查大概率存在問题。日誌里的抓取频率、狀態碼和訪問路径,比任何推测都直接。
提示:分頁不是越多越好。列表頁通常只需保留前若干頁的可抓取入口,更早的内容交给分類頁、标簽頁或站内搜尋去承接,避免让蜘蛛在深层翻頁里反复打轉。
分頁是站点结构里比較容易被忽略的一环,因為它平时看起来“能点、能翻”。但對蜘蛛来说,能不能点、能不能翻,取决于連結是否寫在 HTML 里、地址是否獨立可訪問。把這几項確認一遍,通常比反复提交 Sitemap 更有實际意义。