站点一大,收錄核對就變成一件做不完的事。几十萬條 URL 逐個查並不現實,于是很多人退回到两個偷懒的做法:看索引覆盖报告的總量曲线,或者抽查首頁和几個热门詳情頁,然後推断全站情况。這两種做法漏掉的問题往往是一致的——出問题的常常不是首頁和最热的那几頁,而是模板批量生成的列表頁、分頁、聚合頁和深层詳情頁。
更可行的方式是把全站 URL 先分层,再做抽样核對。抽样不是為了省事,它的目的是先回答一個問题:是哪一類頁面在拖後腿。
為什么按分层抽样,而不是随机抽
收錄率的高低,主要受頁面模板和連結位置影响,而不是随机分布。随机抽 100 條地址,如果站内多數是詳情頁,抽出来的样本也會以詳情頁為主,列表頁、分頁這類占比不高但問题集中的類型几乎抽不到。分层抽样的作用,是保證每一類頁面都有固定數量的样本。
第一层:按頁面模板分
先對着站点的 URL 结构,把地址归到几個稳定的模板里,例如:
- 首頁與一級频道頁
- 栏目、列表頁
- 内容詳情頁
- 标簽、专题、聚合頁
- 分頁與篩選结果頁
- 站内搜尋、用戶中心等工具型頁面
- 多語言版本或分站入口
每一類至少抽 20 到 30 條地址。數量太少,一两條異常就能把整层的结论带偏。
第二层:按從入口到頁面的距离分
同一個模板,放在首頁直连的位置和放在第三、第四层連結後面,被抓取的节奏往往差很多。可以在每层模板里再按首頁直達、两級以内、三級以上分一下,看看收錄情况是不是随着距离變遠而明顯下降。如果下降很陡,問题多半在連結结构,而不是頁面内容本身。
第三层:按更新频率分
長期不更新的頁面和每天有新内容的頁面,抓取节奏本来就不一样。把样本按每日更新、每周更新、基本不更新再标一遍,能避免把“更新慢所以抓得慢”誤判成“頁面有問题”。
抽样结果记成一張表
建议每個样本至少记錄下面几項,字段固定,方便下次對比:
- 样本 URL 與所属模板
- 連結深度(從首頁点几次能到)
- 它是否應该被收錄(有些頁面本来就不该進索引)
- 目前能否在索引里查到
- 最近一次被抓取的時間
- 备注:參數、canonical 指向、是否被 robots 規則挡住等
拿到表之後先看哪里
先看层與层之間的差距,再看层内部的差异。某一层的收錄率整体偏低,通常說明這一层的模板或規則有問题,比如地址带參數、内容過于稀薄、主内容被模板挤占、canonical 指向了別的地址。如果某一层整体正常,只有個別地址不對,那更可能是單頁問题,不必動整层策略。
還要注意区分抓取和收錄:日誌里有抓取记錄,只說明蜘蛛来過,不代表頁面進了索引;反過来,索引里還留着某個地址,也可能只是還没更新,不代表目前還能正常訪問。
几個容易被忽略的誤区
- 把索引覆盖报告的總量当成收錄健康度,忽略结构變化
- 只看一次抽样结果,不看它随時間怎么變
- 把某一层的结论直接套到單個頁面上
- 把“没被抓取”和“抓了没收錄”混在一起讨论
抽样核對的價值不在于替代全量,而在于先把問题定位到某一類頁面,再决定要不要為這一层做定向的全量比對。
最後,把這件事變成固定動作:大改版後跑一次,日常每月跑一次,结论记錄下来。层與层之間的比例變化,往往比單次的绝對數字更有參考價值。