先把問题問清楚
「這個頁面收錄了吗」這句话里,其實压着三個不同的問题:蜘蛛有没有来抓過、頁面有没有進索引、以及它在搜尋结果里能不能被用戶看到。抓取属于爬虫行為,索引是搜尋引擎對頁面完成處理後的存储狀態,展示則是检索與排序的结果。三者會先後發生,也可能在任意一环停下。很多誤判,都源于用某一個环节的證據去回答另一個环节的問题。
site: 查询能回答什么
site: 是最常用的方法,也是最容易被過度解讀的方法。它本质上是一次带有限制的搜尋,返回的是搜尋引擎当下愿意展示的、来自该域名的一部分结果,而不是一份完整的收錄清單。
- 结果數量是估算值,會随查询時間、地区和資料中心波動,把數字当成精确收錄量没有意义。
- 頁面刚進索引或刚被剔除时,site: 的结果往往滞後,通常要等下一次資料刷新才會体現。
- 用 site: 指定具体 URL 时,寫法和參數會影响结果。带追踪參數、末尾斜杠不一致的地址,可能查不到本体。
- 查不到不等于没收錄,只說明這次查询没有把它带出来。
更稳一点的用法是:用頁面上一句獨特的正文去检索,看返回结果里是否出現该 URL。這比單纯依赖 site: 更接近真實情况。
網址检查提供的是哪類信息
搜尋控制台里的網址检查,會给出一個明确的狀態标簽,例如「網址在索引中」「已抓取,尚未编入索引」「已發現,尚未抓取」等。它的價值在于把狀態從「有没有」推進到「卡在哪一步」,對排查問题非常有用。
注意两点:一是這個狀態是抓取时的快照,可能滞後于頁面的最新變化;二是检查的是你提交的那個地址,如果同一内容存在多個 URL 變体,被检查的那一個和用戶實际搜到的那一個未必是同一條记錄。看狀態时,顺手確認一下規范地址指向谁。
日誌只能證明抓取
服務器日誌里出現某個 URL 的請求记錄,說明蜘蛛来過。僅此而已。它可以用来判断最後一次抓取時間、返回狀態碼、抓取频次和抓取的是哪個變体地址,但不能作為收錄的依據。
如果一個頁面在日誌里長期反复被抓取,却始终查不到索引狀態,通常要回到頁面本身去看:内容是否偏薄、是否與站内其他頁面高度相似、是否有技術层面的阻挡。這些属于索引侧的問题,不是靠多抓几次能解决的。
一套可复用的交叉驗證顺序
- 先在日誌里確認最近的抓取時間、返回狀態碼以及被抓取的具体地址。
- 再用網址检查看索引狀態,判断是停在發現、抓取還是索引环节。
- 然後用頁面里的獨特句子做一次自然检索,確認它是否真的能被搜到。
- 如果三種信号互相冲突,以「用戶實际能否搜到」為主要參考,同时注意個性化、地区和時間的干扰。
收錄狀態是動態的。任何一次检查都只代表当下,不能当作長期结论贴在一個頁面上。
三種常见的誤判
- 日誌有抓取,就認為已收錄。抓取是前置動作,抓完仍可能在索引环节被筛掉。
- site: 查不到,就認為被惩罚。更常见的原因是查询本身没覆盖到,或者地址寫法不一致。
- 網址检查顯示在索引中,普通搜尋却找不到,就断定被封。索引與展示是两件事,查不到可能只是關鍵詞、排序或竞争頁面的問题。
把這些方法当成互相印證的證據鏈,而不是互相替代的快捷键,判断會稳很多。真正需要關注的,往往不是某個頁面当下是否在索引里,而是它為什么會停在前一個环节。