網站收錄

抓取和收錄是两件事:日誌里的 200 不等于進了索引

服務器日誌里爬虫来得很勤,不代表頁面已经被收錄。抓取只是把内容取回,收錄還要经過解析、去重和质量判断。本文把這两件事拆開讲,說明日誌里常见的几種假信号,以及頁面被抓了却迟迟不進索引时可以從哪里開始自查。

網站收錄

抓取和收錄是两件事:日誌里的 200 不等于進了索引

做站点运营的人常有一個习惯:打開服務器日誌,看到搜尋引擎爬虫来訪次數不少,就預設收錄没問题。但日誌记錄的只是抓取,它和收錄是两件不同的事。把這两件事混在一起看,很容易得出错誤的结论,于是在错誤的方向上改代碼、調模板。

抓取和收錄各自在做什么

抓取指的是爬虫把 URL 對應的内容下载回去,包括 HTML、CSS、JS 和图片。這一步只關心“能不能拿到”和“拿到了什么”。收錄發生在抓取之後:搜尋引擎對頁面做解析、提取正文、判重、评估质量,再决定是否寫進索引库。只有進了索引库的頁面,才有可能出現在搜尋结果里。

所以鏈路大致是三层:抓取、索引、展示。日誌能反映第一层,索引报告能反映第二层,而排名和点击属于第三层。很多“收錄有問题”的判断,其實是在用第一层的資料去猜第二层的结果。

几個常见的誤判信号

日誌里返回 200

200 只說明這次請求成功,服務器把内容给到了。它不說明内容有價值,也不說明頁面會被收錄。一個空模板頁、一個參數组合出来的篩選頁,同样可以返回 200。

抓取频次變高

抓取變多可能只是站点整体狀態變好,或者爬虫發現了更多 URL。如果新增的 URL 大多是低價值頁面,抓取量上涨反而會挤占其他頁面的抓取机會。

提交了 sitemap 或做了主動推送

這些動作的作用是加快發現,让爬虫更早知道 URL 的存在,不构成收錄承诺。發現、抓取、收錄是三個依次發生的环节,任何一步都可能停下。

索引报告里的“已抓取,尚未编入索引”

這個狀態恰恰說明抓取和收錄被分開了:内容已经拿到,但系統還没决定把它放進索引。它是個中間態,可以停留很久,也可能一直不變化。

抓了却没收錄,通常先看這几處

  • 頁面本身是否被限制:meta robots 里的 noindex、X-Robots-Tag 响應头,都會让頁面在抓取後被排除。
  • 是否有近似重复的頁面:同一套模板套不同參數、多城市頁只換了地名,系統通常只留一版。
  • 正文是否真的可讀:用查看源代碼的方式確認正文是直接出現在 HTML 里,還是依赖 JS 执行後才生成。
  • canonical 指向哪里:如果 canonical 指向了另一個 URL,目前頁等于主動让位。
  • 頁面承担的功能:纯聚合、纯導航、内容极薄的頁面,被跳過的概率明顯更高。

抓取机會是一種有限资源

站点的抓取预算是相對固定的。如果大量抓取被消耗在排序參數、會话參數、無内容的列表頁上,真正需要被收錄的頁面就會排到後面。定期翻日誌,看爬虫把時間花在了哪些 URL 上,比盯着收錄總量更有意义。

抓取是過程,收錄是结果,展示又是另一回事。用日誌判断收錄,等于用第一步的資料去推断第三步的结论。

一個可执行的判断顺序

  1. 先用站点查询或索引报告確認頁面目前的狀態,是“已發現未抓取”“已抓取未编入索引”,還是根本查不到。
  2. 如果日誌顯示已被抓取,检查是否被 noindex 或 robots 規則挡住。
  3. 確認正文在不执行 JS 的情况下能否讀到,頁面主要内容的来源是否稳定。
  4. 排查站内是否存在内容高度相似的近亲頁面,明确哪一個才是希望被收錄的版本。
  5. 如果以上都没問题,就把注意力從技術细节轉到頁面本身:它是否提供了別處没有的信息。

把抓取和收錄分開之後,很多問题的定位會變得清楚:该修的是让頁面被抓到,還是让頁面值得被留下,處理方式並不相同。