站点运营

站点运营:分頁與“加载更多”自查,別让蜘蛛翻不到第二頁

分頁是蜘蛛繼續向下抓取的主要通道,但“加载更多”、無限滚動、參數翻頁都可能把這條路堵住。本文從分頁形態、翻頁連結、canonical 設定和日誌观察几個角度,整理一份可执行的自查清單,帮助运营者確認蜘蛛能否顺利翻到第二頁及之後。

站点运营

站点运营:分頁與“加载更多”自查,別让蜘蛛翻不到第二頁

内容型站点很难把所有文章都铺在首頁,分頁、翻頁、“加载更多”就成了蜘蛛繼續往下走的通道。通道断了,蜘蛛不一定报错,只是安静地停在第一頁——你在後台看不到任何異常,收錄量却迟迟不见起色。這篇自查清單围绕分頁结构本身,帮你確認蜘蛛能不能顺利翻到第二頁、第三頁。

先分清站点用的是哪種分頁

  • 传统分頁:形如 /list/?page=2 或 /list/2.html,翻頁連結寫在頁面上,蜘蛛顺着 a 标簽走。
  • “加载更多”按钮:首屏只给一部分,点击後由 JavaScript 追加内容。
  • 無限滚動:滚動到底部自動加载,没有獨立的翻頁地址。

三種形態對蜘蛛的友好程度不同。传统分頁最容易被發現,後两種要看實現方式——如果翻頁後地址不變、内容靠脚本注入,蜘蛛很可能只看到首屏那几條。

分頁自查清單

  1. 在關閉 JavaScript 的情况下打開列表頁,检查分頁連結是否還存在。如果“下一頁”只是一個 button,蜘蛛通常不會去点它。
  2. 複製“下一頁”的連結地址,看是否為可訪問的獨立 URL。參數式、路径式都可以,關键是要能直接打開。
  3. 手動改一下頁碼,翻到靠後的一頁(比如第 10 頁),確認仍然有内容,而不是空白頁或报错。
  4. 检查分頁連結是否带有 rel="next" / rel="prev",或者至少在頁面上有清晰的文字锚点。
  5. 確認分頁頁面的 title、description 有区分(例如带上“第 2 頁”),不要全部照抄第一頁。
  6. 查看第 2 頁以後的 canonical 指向哪里。若全部指向第一頁,等于告诉搜尋引擎“後面几頁不用看”。

“加载更多”和無限滚動的處理

這两種交互對用戶友好,對蜘蛛不友好,因為内容不在初始 HTML 里。常见的折中做法是:保留一個普通的分頁地址作為兜底(如 /list/2.html),按钮点击後用脚本改地址;或者首屏以下的内容由服務端渲染輸出,脚本只负责交互。至少要让每一批内容都有一個可以直接打開的 URL,否則蜘蛛翻頁這件事只能靠猜。

分頁參數別太随意

排序、篩選、每頁條數這些參數,如果都能生成可訪問的地址,就很容易组合出大量内容相近的頁面。蜘蛛撞進去,會在一堆重复列表里消耗抓取配額。建议對這些參數做限制:能通過 robots.txt 屏蔽的屏蔽,不方便屏蔽的用 canonical 收敛,或者加 noindex。

列表頁本身也要克制

有些站点把文章的完整正文直接輸出在列表頁,翻几頁之後,同一篇内容在列表地址和詳情地址各出現一次,重复度很高。更稳妥的做法是列表頁只给标题、摘要或前一两段,正文留在詳情頁。這样既减轻頁面体积,也让摘要有一個明确的归属地址。

用抓取日誌確認蜘蛛真的翻頁了

打開服務器日誌或抓取統計,搜尋列表頁的地址,看有没有出現 page=2、page=3 之類的记錄。如果只有第一頁反复被訪問,說明翻頁入口對蜘蛛不可用,前面几項自查大概率存在問题。日誌里的抓取频率、狀態碼和訪問路径,比任何推测都直接。

提示:分頁不是越多越好。列表頁通常只需保留前若干頁的可抓取入口,更早的内容交给分類頁、标簽頁或站内搜尋去承接,避免让蜘蛛在深层翻頁里反复打轉。

分頁是站点结构里比較容易被忽略的一环,因為它平时看起来“能点、能翻”。但對蜘蛛来说,能不能点、能不能翻,取决于連結是否寫在 HTML 里、地址是否獨立可訪問。把這几項確認一遍,通常比反复提交 Sitemap 更有實际意义。