列表頁和归档頁往往是蜘蛛發現新 URL 的主要通道,而分頁决定了它能走多深。分頁没做好,新内容即使發布很久,也可能因為缺少可達連結而一直躺在那里等。
分頁連結要满足的三個基本條件
- 是真正的 a 标簽連結,带可訪問的 href,而不是 onclick 或纯 div;
- 每個頁碼對應一個稳定、可直達的 URL,直接打開第 5 頁也能看到第 5 頁的内容;
- 不依赖 Cookie 或會话狀態,同一地址每次返回同样的列表。
如果第 2 頁之後只能靠 AJAX 追加内容,而地址栏始终不變,蜘蛛拿到的就只有第一頁,後面的連結等于不存在。
翻頁控件里该放哪些連結
常见做法是同时给出上一頁、下一頁和若干頁碼。對抓取来说,“下一頁”最有價值,因為它形成一條连續路径;頁碼則方便蜘蛛直接跳到中段和末段。补上首尾頁連結,可以避免它為了到達最後一頁而逐頁爬完。
頁碼數量不必太多。列表里顯示 1 到 7 頁再加一個“末頁”通常够用,被省略的中間頁碼留在後台逻辑里,不要让几百個頁碼連結堆在頁面底部。
“查看全部”頁面要不要保留
把整類内容放在一個頁面里,确實能让蜘蛛一次抓到更多連結,但頁面体积、响應時間和重复内容的問题也會同时出現。折中做法是:只在條目數量可控的栏目啟用,並限制條數;數量大时,宁可多留几個分頁,也不要做成几萬條的超長頁面。
無限滚動與“加载更多”
無限滚動對用戶友好,對抓取却不友好——蜘蛛执行脚本的能力有限,能看到的往往只有首屏那几條。可行的兼容方式是保留一套普通分頁 URL 作為後备,並把首屏之外的連結以静態形式放在頁面里;“加载更多”按钮背後的地址也應该是可直接訪問的連結。
不必依赖 rel=prev/next
搜尋引擎已不再把 prev/next 当作索引信号,但也没必要专门去删。真正起作用的是頁面之間是否存在可点击的連結路径。把精力放在連結本身可用、URL 稳定上,比纠结這两個属性更實际。
翻頁抓取的顺序和上限
蜘蛛對深层分頁的抓取會明顯减少,通常越靠後的頁越难被频繁回訪。因此:
- 把最重要的内容放在列表前几頁,不要靠按時間倒序把優质内容压到深處;
- 控制分頁總數,避免日歷頁、空篩選结果頁产生大量無意义分頁;
- 列表頁本身不承载主要内容價值时,不必强求每頁都被频繁抓取,用 Sitemap 或内鏈把重要詳情頁直接暴露出来更有效。
分頁是一條通道,不是内容本身。如果日誌里顯示蜘蛛大量抓取翻頁 URL,却没有带出新的詳情頁,就该检查是不是翻頁太多、太深,或者詳情頁缺少其他入口。
回到日誌里驗證
調整之後,可以從訪問记錄里看几件事:翻頁 URL 的抓取占比、每次抓取是否带出新的詳情頁地址、深层頁碼的抓取频率是否下降。列表頁抓取量高並不等于效果好,關键是這些抓取有没有轉化成對新内容的發現。配合稳定的服務器响應和清晰的 Sitemap,分頁路径才能真正發挥作用。