打開索引覆盖报告,你會看到一串狀態名:已编入索引、已發現但未编入索引、已抓取但未编入索引、重复網頁、已排除。它們看起来只是标簽,實际描述的是 URL 在流水线上的不同位置。把狀態讀對,排查方向才不容易跑偏。
先分清两件事:抓取和收錄不是一回事
抓取是蜘蛛把頁面 HTML 取回本地,收錄是把這份内容處理後放進索引,並認為它有资格參與检索。抓取成功只是拿到了材料,是否收錄還要看内容质量、重复程度、站点整体信号。所以“蜘蛛来過”和“頁面被收錄”之間,永遠隔着一层判断。
几個常见狀態分別代表什么
已發現但未编入索引
這個狀態說明連結已经被蜘蛛看到,可能来自内鏈、Sitemap、外鏈或主動提交,但還没有安排抓取。它停在队列里等着被排期。URL 總量大、日誌里抓取量有限的站点,堆积這個狀態很正常,重点是看它會不會長期不動。
已抓取但未编入索引
蜘蛛已经把頁面拿回去了,但索引没有收。這一步的含义更接近内容层面的判断,常见原因包括:
- 頁面主体内容太少,或大部分是模板、導航、广告位;
- 和站内其他頁面高度重复,没有獨立信息量;
- 正文需要交互才出現,初始 HTML 里几乎是空的;
- 站点整体可信度、外鏈與点击信号偏弱,新頁面需要更長的观察期。
重复網頁,系統選擇了其他規范版本
這通常不算错誤。它表示蜘蛛認為两個或多個 URL 内容太像,自己挑了一個作為代表。如果你不認可它的選擇,再去看 canonical、内鏈指向和參數處理是否一致。
為什么 URL 會長期停在“已發現”
發現和抓取之間隔着一條排队逻辑,影响排期的因素大致有几類:
- 入口位置:只出現在深层列表第 8 頁的 URL,被發現的机會天然更少;
- 站点抓取效率:响應慢、5xx 多、重定向鏈長,都會消耗有限的抓取額度;
- URL 结构:大量低價值 URL,比如篩選參數、站内搜尋结果頁、空列表頁,會稀释排期;
- 指令冲突:robots.txt 屏蔽、noindex、登入墙,让蜘蛛即使来了也走不進去。
按什么顺序排查更省力
- 先用 URL 检查類工具看單個 URL 的實际狀態,是没抓取、抓取失敗,還是抓了没收;
- 再翻服務器日誌,確認蜘蛛最近是否真的来過、频率如何、返回碼正不正常;
- 抓取失敗就修技術問题:超时、封禁、寫错的 robots 規則;
- 抓取成功但没收錄,回到内容:和同類頁面比,它有没有獨有的信息量;
- 内容没問题就补信号:站内相關頁面的内鏈、Sitemap 更新、外部引用,然後隔一段時間再看。
几個容易誤讀的细节
狀態會變,不代表操作失敗。收錄本身就是反复评估的過程,頁面可能先被收錄,之後因為内容變化或竞争關系被移出,過一阵又回来。
覆盖率报告里的數字不等于整站頁面總數。报告只統計它已知的 URL,還没被發現的頁面根本不會出現在里面。
把狀態当成线索,而不是结论:同一個狀態背後可能有好几種原因,只有把日誌、内容和站内结构放在一起看,才能定位到真正的那一個。
實际运营里,與其天天盯着“今天多了几個收錄”,不如定期抽查一批停在同一狀態超過几周的 URL,看它們有什么共同点:是入口太深、内容太薄,還是參數太乱。找到共性,處理一次往往能带動一批頁面往前走。