经常有這種情况:日誌里能看到蜘蛛来抓過頁面,返回 200,但過了一段時間,在搜尋结果里仍然找不到這個 URL。于是有人判断“蜘蛛不收錄”,或者反复提交、調整參數。其實更准确的说法是:抓取和收錄是两個狀態,蜘蛛来過只說明抓取环节發生過,並不代表頁面已经進入索引。
抓取和收錄分別指什么
抓取,是搜尋引擎的爬虫按照 URL 去获取頁面内容的過程。它關心的是能不能訪問、返回什么狀態碼、内容是否可渲染。收錄,則是頁面经過分析後進入搜尋索引,可以在结果中被检索到。两者之間還有若干判断环节,不能直接画等号。
抓取是“来過”,收錄是“留下来”。来過不一定留下来,留下来之前還會被反复评估。
從抓取到收錄,中間可能卡在哪
一個 URL 從被發現到進入索引,通常會经過這些环节。任何一环不通過,都可能停在“已抓取,未收錄”或“已發現,未抓取”的狀態。
- URL 發現:内鏈、sitemap、外鏈等路径是否能把 URL 送到蜘蛛面前。
- 抓取:服務器是否稳定响應,robots.txt 是否放行,狀態碼是否正常。
- 渲染:如果主要内容依赖 JS,渲染失敗會让蜘蛛看到空頁面或残缺内容。
- 内容提取:正文、标题、摘要等能否被清晰识別,還是被大量模板、彈窗、無關模块淹没。
- 規范化:多個 URL 指向近似内容时,搜尋引擎需要判断哪個是主版本。
- 质量判断:頁面是否提供獨特信息,是否與站内已有頁面高度重复。
這些环节並不總按固定顺序發生,也不是一次判断就永久定论。但排查时按這個顺序看,通常比盲目提交 URL 更有效。
日常排查可以看哪几個地方
先看抓取日誌和狀態碼
確認蜘蛛是否真的来過、频率如何、返回的是 200 還是 3xx、4xx、5xx。如果日誌里只有少量請求,重点應放在 URL 發現和内鏈上;如果請求频繁但返回異常,先修服務器和狀態碼。
再看索引报告和 site 查询
索引报告里的“已發現”“已抓取但未编入索引”“已排除”等狀態,能帮助区分問题出在抓取前還是抓取後。site 查询可以作為辅助,但不等于完整的索引資料,不宜只凭它下结论。
最後回到頁面自身
检查标题和正文是否清晰,是否與站内其他頁面高度相似,canonical 是否指向自己或正确的主版本,重要内鏈是否可達。頁面质量問题和規范化問题,往往不會在日誌里直接暴露,却會持續影响收錄结果。
几個容易誤判的情况
- 抓取频次高不等于收錄好:蜘蛛可能只是在反复確認,或者抓取的是低價值頁面。
- 提交 sitemap 不等于收錄:sitemap 主要帮助發現 URL,是否抓取和收錄仍要看其他條件。
- 頁面更新後舊版本還在:索引更新需要時間,短期看到舊标题或舊摘要並不一定異常。
- 收錄量波動就急着改站:日常小幅波動可能来自索引調整,先观察再决定是否排查。
一個可执行的检查顺序
- 用日誌確認蜘蛛来過没有,返回狀態是否正常。
- 確認頁面不需要登入、没有被 robots.txt 拦住、没有错誤的重定向。
- 检查渲染後主要内容是否可见,标题和正文是否完整。
- 查看 canonical、參數、大小寫等 URL 寫法是否收敛到主版本。
- 對比站内近似頁面,判断是否存在重复或低價值問题。
- 確認内鏈和 sitemap 能把 URL 送到蜘蛛可發現的路径上。
- 完成以上检查後,给索引更新留出观察時間,不要频繁改動同一批頁面。
抓取是收錄的前提,但收錄不是抓取的必然结果。把“蜘蛛来過”和“頁面已收錄”分開看,排查时就不會只盯着日誌或只盯着 site 查询,而是能顺着抓取、渲染、規范化、质量這條线,找到真正卡住的位置。