站点运营

站点运营:分頁與翻頁自查,把列表頁的深层地址收好

列表頁翻頁地址一多,蜘蛛的抓取就容易分散。這篇讲清分頁地址的常见形式、翻頁連結怎么寫、深翻頁是否要保留、分頁頁的 canonical 该指向哪里,並附一份可以直接照着核對的自查清單,帮栏目列表頁把地址做直、把連結做實。

站点运营

站点运营:分頁與翻頁自查,把列表頁的深层地址收好

列表頁、归档頁、标簽頁往往數量庞大,翻頁地址一多,蜘蛛在路上花的時間就多。分頁本身不是問题,問题在于分頁的寫法是否让蜘蛛容易判断主次,是否把真正有價值的詳情頁挡在了後面。

先看清分頁地址的样子

常见的分頁形式有几種:路径式 /list/page/2/、參數式 /list?p=2,以及靠按钮触發的加载更多。前两種對蜘蛛友好,能直接請求;按钮触發但實际仍發出可抓取請求的,也不算差;纯前端切換、地址始终不變的那種,蜘蛛通常只能看到第一頁。

把栏目下所有分頁形式列一遍,标出哪些能獨立打開、哪些不能。不能獨立打開的,考虑给它一個可訪問的地址,或者至少让第一頁承担被發現的责任。

翻頁連結要能被点開

用真實的連結

下一頁、上一頁、頁碼數字最好都是 a 标簽,href 指向真實地址。用 JavaScript 监听点击再跳轉,蜘蛛不一定跟得下去。把翻頁按钮做成 span 或 div 的情况也不少,改起来成本不高,收益却很直接。

加载更多與無限滚動

無限滚動适合浏览,不适合抓取。比較稳妥的做法是:首屏之後仍保留分頁地址,滚動到底部时把下一頁的連結以可点击形式补上;或者為被滚動加载的内容准备一份分頁视图。不要求两套完全一样,但至少让後續内容有一個稳定入口。

深翻頁要不要留

一個栏目如果有一百頁,第十頁之後的内容往往流量很小、重复度却高。可以设一個阈值:超過一定頁數後,把舊内容收進归档匯總頁,或者按時間、分類拆分栏目,让每個列表的深度可控。

另一些站点選擇對深翻頁加 noindex,頁面仍可訪問但不去争排名。這样做要小心:noindex 不等于不抓取,蜘蛛依然會請求;如果不想浪費額度,可以在 robots.txt 里屏蔽带特定頁碼參數的地址,但被屏蔽的頁面上的連結也不會被跟随,需要權衡。

分頁頁的規范化

分頁頁的 canonical 一般指向自身,不要全部指向第一頁。把第 2 頁 canonical 到第 1 頁,等于告诉搜尋引擎後面几頁是重复内容,頁面上指向詳情頁的連結價值會被削弱。rel=“prev”和 rel=“next”現在已经不是必须項,不必再為它纠结,把連結结构做清楚更重要。

另外,同一列表通過篩選參數可能生成大量地址,這些组合地址如果再叠上翻頁,數量會成倍增加。參數頁该收敛的收敛,分頁地址尽量只保留主干那一條。

一份简要自查清單

  1. 栏目下的分頁地址能否直接打開,返回 200 而不是被重定向到首頁。
  2. 翻頁連結是否為可点击的 a 标簽,href 是否完整。
  3. 頁碼數量是否與内容量匹配,有没有空頁、跳頁或重复頁。
  4. 第 2 頁之後的内容,能否通過站内連結到達。
  5. 分頁頁的 canonical 是否指向自身,没有统一指向第一頁。
  6. 無限滚動的頁面是否留有可抓取的後續入口。
  7. Sitemap 里是否混入了大量分頁地址,占用了清單名額。
分頁的目标不是让蜘蛛翻完每一頁,而是让它知道内容在哪、值不值得繼續。把地址做直、把連結做實,比追求頁數完整更有用。

調整之後,隔一段時間看看日誌里分頁地址的抓取比例是否變化,詳情頁的抓取次數有没有上升。資料不必期待立刻见效,方向對了,慢慢會稳。