看服務器日誌时,经常能看到搜尋蜘蛛频繁訪問某個 URL,但過了一段時間,在搜尋结果里仍然找不到這個頁面。這时候容易产生一個誤解:蜘蛛来過,頁面就應该被收錄。實际上,抓取和收錄是两件不同的事,中間還隔着解析、去重、质量评估和索引决策等多個环节。
抓取和收錄不是一回事
抓取指蜘蛛把頁面下载下来,拿到 HTML、响應狀態碼、响應時間等信息。這一步只說明搜尋引擎“看到了”這個 URL,並不代表它認可頁面内容。
收錄,或者说進入索引,指搜尋引擎在抓取之後,對頁面内容進行解析、理解、比對,最终决定是否把這條 URL 放進索引库,並在合适的时候作為搜尋结果展現。抓取是收錄的前提,但不是保證。
從 URL 被發現到進入索引,大致會经過這些环节
- URL 發現:通過内鏈、sitemap、外鏈、歷史抓取记錄等方式,搜尋引擎知道有這個地址存在。
- 抓取調度:URL 進入待抓取队列,按站点權重、更新频率、服務器响應等因素安排抓取顺序。
- 抓取执行:蜘蛛請求頁面並拿到响應;如果狀態碼異常、超时、被 robots.txt 拦截,鏈路可能在這里中断。
- 解析與規范化:提取正文、标题、連結,處理 canonical、重定向、參數等,判断哪個 URL 是代表版本。
- 内容理解與去重:和其他頁面比對,看是否高度重复,是否属于同一主题的多個變体。
- 质量與索引决策:综合頁面质量、站点整体情况、用戶需求等信号,决定是否寫入索引。
- 索引寫入與更新:進入索引後,後續還會随頁面變化和抓取结果更新。
抓了却没收錄,常见卡点在哪里
- 重复内容:同一内容存在多個 URL,比如带參數版本、打印版、排序版本,索引里可能只保留其中一個,其余被折叠。
- 規范化指向別處:頁面 canonical 指向了另一個 URL,搜尋引擎會倾向于把信号集中到目标地址。
- 内容质量信号偏弱:頁面信息量少、模板化嚴重、缺少獨有内容,可能被判定為不值得單獨索引。
- 软 404 或狀態碼問题:頁面返回 200,但内容像错誤頁、空頁,容易被当作無效頁面處理。
- 依赖客戶端渲染:關键内容需要 JavaScript 执行後才出現,而渲染环节没有拿到完整内容。
- 抓取被限制:robots.txt 誤拦截、服務器频繁超时、需要登入才能看到正文。
怎么判断問题出在抓取還是收錄
排查时可以按顺序看几件事:
- 日誌里蜘蛛是否真的抓取了目标 URL,返回狀態碼是什么。
- 頁面是否被 robots.txt 或 meta robots 阻止。
- 查看頁面的 canonical 指向,確認没有把信号指向其他地址。
- 用抓取工具模拟渲染後的 HTML,對比蜘蛛可能看到的内容。
- 找同模板、同栏目下已经收錄的頁面做對比,看差异在内容量、内鏈還是结构。
抓取是入场券,收錄是另一套判断。看到蜘蛛来過,只能說明 URL 被發現並請求過,不能直接推導出會進入索引。
运营上可以做的几件事
與其反复提交 URL,不如把基础环节理顺:
- 用清晰的内鏈和 sitemap 保證重要頁面能被發現,减少孤儿 URL。
- 合並重复或高度相似的頁面,保留一個主版本,並用 canonical 明确指向。
- 给頁面增加獨有信息,减少纯模板堆砌,让每個 URL 有獨立存在的理由。
- 避免频繁改動 URL 结构;必须改时做好 301,並更新内鏈。
- 關注服務器稳定性和响應速度,减少蜘蛛抓取失敗的概率。
抓取和收錄之間没有一键通過的開關。把 URL 發現、抓取可訪問性、内容质量和規范化這几段路走顺,頁面進入索引的概率會更高,但最终是否收錄、何时收錄,仍由搜尋引擎根據自身判断决定。