站点运营

站点运营:分頁與列表頁自查,別让内容断在翻頁這一步

列表頁與分頁是站内内容被發現的主要通道,但翻頁常因脚本渲染、地址不稳定、没有终点而中断。這篇整理了几個容易忽略的检查点,包括翻頁連結是否真實可抓、分頁地址的形態、無限滚動的替代入口、分頁标题與描述的寫法,並附一份可以照着做的自查清單。

站点运营

站点运营:分頁與列表頁自查,別让内容断在翻頁這一步

列表頁和分頁,是站内大多數内容被發現的通道。栏目頁、标簽頁、专题頁、站内搜尋结果頁,只要條目超過一屏,就會有翻頁。平时看抓取總量似乎没什么異常,但翻到第三頁之後的地址往往長期没有訪問记錄——這通常不是蜘蛛不愿意走,而是翻頁這條路本身被切断了。

分頁最容易断的三個地方

  • 翻頁靠脚本渲染:頁面上只有按钮和点击事件,服務端返回的 HTML 里没有可跟随的連結,客戶端讀到第一頁就到此為止。
  • 地址不稳定:分頁地址里混入會變化的參數,同一頁碼今天一個地址、明天又一個,之前訪問過的内容無法形成稳定入口。
  • 没有明确终点:列表可以無限往後翻,或者最後一頁之後仍返回空列表,白白产生一批没有内容的地址。

逐項检查

1. 翻頁是不是真正的連結

用最简單的办法驗證:在浏览器里關閉 JavaScript,打開列表頁,看看“下一頁”還能不能点。如果關掉脚本就点不動,說明這一层是脚本生成的,需要改成服務端輸出的普通連結,至少保證首頁、末頁和相邻頁碼有真實的 <a href>。

2. 分頁地址的形態

常见的有两種:路径式(/list/page/2/)和參數式(/list?page=2)。两種都能用,關键是稳定、可预测、可拼接。如果地址里带了會话标识、時間戳、随机串,就會出現同一頁多個地址的情况,既浪費抓取,也容易让入口分散。能固定成規則化路径的,尽量固定。

3. 加载更多與無限滚動

無限滚動對訪客体驗友好,但對抓取不友好:後面的條目只有滚動才會被加载。折中做法是保留一個普通的分頁入口,比如在列表底部提供“查看全部”或頁碼連結,让不执行脚本的客戶端也能繼續往下走。

4. 分頁頁面的标题與描述

很多站点所有分頁共用同一個标题與描述,看起来像一批重复頁面。建议在标题里带上頁碼或该頁的内容特征,比如栏目名加“第 2 頁”。描述不必逐頁重寫,但至少要避免與首頁出現完全相同的整段文字。

5. 收錄取舍與規范化

分頁要不要出現在搜尋结果里,没有统一答案。列表頁本身的信息價值有限,但它是通向詳情頁的通道。比較稳的做法是:让分頁可以被抓取和跟進,同时把詳情頁作為主要收錄對象;如果确實不想让分頁出現在结果里,也要用明确的方式表達,而不是直接阻断抓取。

一份可以照着做的自查清單

  1. 關閉 JavaScript,確認翻頁連結仍然可用。
  2. 随机抽三個栏目,從第一頁点到最後一頁,看是否都能到達。
  3. 检查分頁地址是否带随机參數或會话标识。
  4. 確認列表有明确的結束,不产生空頁。
  5. 核對分頁頁面的标题是否與首頁重复。
  6. 對照抓取日誌,看第二頁之後的地址是否有訪問记錄。

發現問题後怎么改

優先修“翻不動”的問题,也就是把脚本渲染的翻頁換成服務端可輸出的連結;其次處理地址不稳定,把規則固定下来;最後再考虑标题描述這類细节。改完之後,用日誌观察一到两周,看深层分頁是否開始出現訪問,比只盯總抓取量更有意义。

分頁不是装饰,它是内容的第二條腿。列表頁翻不動,後面再好的内容也很难被發現。