頁面被收錄這件事,最容易被誤判的地方是:把“我能在搜尋结果里看到”当成唯一标准。實际上,搜尋引擎並没有提供一個對所有站点開放的、實时的索引查询接口。你能用的几種手段各有誤差范围,交叉核對才有參考價值。
先明确:你要確認的是哪個狀態
在動手核對之前,先把問题拆成三個不同的問题:
- 被抓取:爬虫来過,服務器日誌里有訪問记錄。
- 被索引:URL 進入了索引库,具备被检索的资格。
- 能展現:在某個具体查询下出現了结果。
三者不是必然递進的關系。抓取失敗当然不會收錄;抓取成功也可能因為质量、重复、規范等原因没有進入索引;已经進了索引,也可能因為查询词、地域、個性化而不出現在你眼前。
方式一:site 指令與精确查询
它能回答什么
site 指令适合做數量級和目錄級的判断。比如想知道某個目錄下大致有多少 URL 進入了索引,用 site 加上目錄路径去查,通常比逐個查單頁更高效。
誤差在哪
- 结果是估算值,會随查询時間、資料中心不同而波動,前後差几十條並不代表内容被删。
- 结果可能被合並或补充處理,不一定會把全部 URL 都列出来。
- 把完整 URL 加引号查询,只能說明這個地址出現在某條结果里,不能證明它是索引中的代表頁。
- 该指令本身也會受站点權重、地域影响,新站或低權重站点的结果往往不全。
所以 site 适合看趋势,不适合用来给單頁下结论。
方式二:站点管理後台的 URL 检查工具
這類工具通常能给出更细的狀態,例如“已编入索引”“已發現但未编入索引”“已抓取但未编入索引”“被 robots.txt 屏蔽”等。它的價值在于把狀態分類,而不是简單回答有或没有。
- 它针對的是目前 URL 及其規范代表頁的判断结果,比 site 指令更贴近單頁。
- 不同工具、不同站点属性的判定口径不完全一致,同一 URL 在两個後台里狀態不同並不罕见。
- 狀態是快照,不會實时刷新;刚提交的 URL 顯示未收錄属于正常情况,不必反复点。
方式三:服務器日誌與抓取记錄
日誌能回答的是“爬虫来没来、来了几次、取走的是什么”。它對判断是否被索引只能做旁證:
抓取记錄只能證明爬虫讀過這個 URL,不能證明它被保留在索引里。反過来,某段時間日誌中没有某個 URL,也不代表它已從索引中移除——爬虫可能只是還没再来。
值得關注的细节包括:返回碼是否為 200、是否被重定向鏈中轉、响應体大小是否與頁面内容相符、是否有大量參數變体被反复抓取。
把三種方式放在一起看
- 單頁在管理後台顯示“已编入索引”,site 查询也能找到,基本可以確認。
- 後台顯示“已抓取但未编入索引”,site 也查不到,問题更可能在质量或規范,而不是可訪問性。
- 後台顯示“已發現但未编入索引”,日誌里几乎没有该 URL,更像是抓取层面的優先級問题。
- site 查不到但後台顯示已收錄,優先信後台,site 结果不全很常见。
- 两種方式都顯示未收錄,但日誌中有正常 200 抓取,可以先观察一段時間,不必立刻改结构。
常见誤判
- 用带 www 的地址去查一個不带 www 的 URL,于是得出未收錄的结论。
- 内容被折叠在标簽頁或点击展開里,查询關鍵詞匹配不到,誤以為没收錄。
- 把搜尋结果里的站内其他頁面当成目标頁,只看标题没有核對 URL。
- 把第三方工具的資料当作官方口径,工具之間的差异會放大判断誤差。
核對时的小习惯
记錄每次核對的時間、用的哪種方式、当时的结论。收錄狀態本来就是動態的,能對比的往往是同一口径下的變化。如果精力有限,優先放在頁面的實际價值和可訪問性上,而不是反复刷新一個狀態标簽。