搜尋抓取

分頁與抓取路径:翻頁連結怎么放,蜘蛛才會繼續往里走

分頁是蜘蛛發現更多 URL 的重要路径,但翻頁連結如果依赖 JS、按钮或屏蔽規則,蜘蛛可能只抓第一頁。本文說明分頁連結的可抓取寫法、canonical 與 noindex 的取舍,以及如何让蜘蛛顺着分頁走得更深。

搜尋抓取

分頁與抓取路径:翻頁連結怎么放,蜘蛛才會繼續往里走

分頁是蜘蛛走進列表深處的路

列表頁、分類頁、搜尋结果頁通常都有分頁。對蜘蛛来说,分頁連結不只是给用戶翻頁用的,它還是 URL 發現的重要通道。第一頁里的商品、文章、帖子數量有限,後面几頁的 URL 往往只能通過“下一頁”或頁碼連結被蜘蛛看到。如果翻頁路径断了,蜘蛛可能只抓第一頁,後面的内容即使已经發布,也很久不會被發現。

但分頁路径能不能走通,不取决于頁面上有没有“下一頁”几個字,而取决于連結是否以蜘蛛能识別的方式存在。

蜘蛛認什么样的翻頁連結

最稳妥的做法是使用标准的 带 href 的 a 标簽。蜘蛛拿到 HTML 後,可以直接從 href 里提取 URL。以下几種寫法容易让路径中断:

  • 用按钮或 div 加 onclick 實現翻頁,没有真實 href。
  • 翻頁連結由 JavaScript 在点击後動態插入,首屏 HTML 里没有。
  • 無限滚動只在用戶滚動时加载新内容,蜘蛛不會主動滚動。
  • 用 nofollow 或 robots.txt 屏蔽分頁 URL,蜘蛛可能不再跟進去。

如果站点必须用 JS 渲染分頁,至少保證分頁連結出現在首屏 HTML 中,或者為列表提供可抓取的分頁视图。不要假设蜘蛛會执行所有交互。

canonical 與 noindex:別把後續頁挡在门外

分頁頁之間内容相似,很多站点會用 canonical 或 noindex 處理。這里有一個常见誤区:把第二頁、第三頁的 canonical 全部指向第一頁。這样做可能让蜘蛛認為後續頁只是第一頁的副本,從而减少對它們的抓取。更合理的做法是让每個分頁頁自 canonical,即 canonical 指向自己。如果确實不希望分頁頁被收錄,可以用 noindex,但 noindex 不等于 nofollow,蜘蛛仍可能抓取並發現其中的連結。要保留 URL 發現能力,就不要把分頁連結全部屏蔽。

分頁頁是否被收錄,和它是否被用来發現新 URL,是两件事。可以不让分頁頁進索引,但不要切断蜘蛛顺着翻頁走的路。

分頁深度與抓取预算

蜘蛛不會無限翻頁。列表有 100 頁,不代表蜘蛛會一路翻到第 100 頁。它會根據連結權重、抓取预算和頁面更新频率决定走多深。如果你希望蜘蛛多翻几頁,可以考虑:

  • 把重要内容尽量放在前几頁,或者提供“按時間排序”“按热度排序”的入口,让新内容更早出現在浅层。
  • 用分類頁、聚合頁作為中間层,避免所有内容都堆在一條分頁鏈上。
  • 在 Sitemap 中补充重要分頁 URL,帮助蜘蛛發現,但不必把所有分頁都放進去。
  • 观察日誌中分頁 URL 的抓取情况,如果第二頁之後很少被抓,說明路径或權重有問题。

分頁與内鏈、Sitemap 的配合

分頁連結本身就是内鏈结构的一部分。它應该和其他内鏈一样,出現在頁面中可被抓取的位置,而不是只放在依赖 JS 的组件里。對于内容量大的站点,可以把分頁和分類頁、标簽頁结合:分類頁负责聚合,分頁负责深入列表,Sitemap 负责补充漏掉的 URL。三者分工不同,但目标一致,都是让蜘蛛有路可走。

最後,分頁請求數量多,對服務器响應速度更敏感。如果翻頁接口慢或经常超时,蜘蛛可能提前結束這條路径。保持分頁頁面的稳定响應,比單纯增加頁碼數量更重要。