搜尋抓取

同一批頁面被反复抓取:内鏈里的重复路径是怎么形成的

蜘蛛的抓取時間有限,而同一個 URL 如果能在站内被多條路线走到,它就會被反复重走。重复路径不一定带来更多收錄,却會挤占抓取资源。本文梳理重复路径的常见来源、用日誌判断的方法,以及收敛路径时该保留什么、该去掉什么。

搜尋抓取

同一批頁面被反复抓取:内鏈里的重复路径是怎么形成的

重复路径不是“連結多”,而是“路线重复”

站内連結多,不等于路径多。判断标准是:從入口頁出發,到達同一個 URL 需要经過多少條不同的中間頁组合。如果同一批詳情頁既能從栏目列表進,又能從标簽頁進,還能從“猜你喜欢”進,而且這些模块在站内大面积重复出現,蜘蛛每次来都要把這些路线重走一遍。

常见的几種重复路径来源

  • 面包屑、列表頁、标簽頁、归档頁(按時間、按作者)同时指向同一批内容;
  • 全站頁脚或侧栏的“热门文章 / 最新文章”模块,出現在每一頁,形成一個指向同一批 URL 的固定通道;
  • 同一頁面上多個模块指向同一個目标,比如标题、缩略图、按钮、“阅讀全文”四個連結;
  • 分頁序列被不同入口重复引用,第 2 頁之後的 URL 既在分頁鏈里,又在标簽頁里;
  • 站内搜尋頁、篩選頁生成了可被抓取的 URL,且结果頁被別的頁面大量引用。

為什么這件事值得管

抓取资源是按站点分配的,蜘蛛在單位時間内能走的路有限。重复路径本身不直接導致問题,但它會挤占本可以用在新頁面、深层頁面上的時間,也會让日誌看起来“抓取量很大”,實际上唯一 URL 很少。

判断抓取是否健康,看的不该是總請求數,而是“唯一 URL 數”與“重复抓取占比”這两個數放在一起看。

用日誌大致判断

  1. 統計一段時間内被請求的 URL 與去重後的 URL 數量,算出重复率;
  2. 看高频被抓的 URL 名單,如果集中在少量頁面上,多半是某個全站模块或分頁鏈在反复把它們送出去;
  3. 观察蜘蛛進入深层頁时带的来源頁面信息(如果日誌有记錄),能看出它主要在走哪條路线。

收敛路径的几個做法

  • 一個目标 URL 在一個頁面里只保留一條最自然的連結,其余位置用文本或图片替代;
  • 全站性的推荐模块控制數量,並優先指向真正需要被抓取的頁面,不要每次都是同一批;
  • 标簽頁、归档頁、篩選頁這類聚合入口,保留少量有检索價值的,其余用 robots 或 noindex 處理;
  • 分頁序列尽量保持單一来源,不要让同一頁内容從三條分頁鏈都能到達;
  • 内鏈结构調整後要观察几周再判断,蜘蛛的路径习惯不會当天改變。

不要為了收敛而断掉路径

收敛的前提是有替代路径。如果為了让某個模块“干净”而把通往深层頁的唯一入口删掉,结果是那些頁面變成孤岛,得不偿失。調整时先確認每一個需要被抓的 URL,至少還有一條從入口出發的稳定路径,再動手删减。

另外,收敛路径不等于關掉所有入口。新舊路径切換期間,舊入口建议保留一段時間,等日誌里蜘蛛已经稳定走新路线,再逐步撤掉。