常见問题

目标 URL 经常被抓取却没有收錄:先分清抓取和索引两件事

目标 URL 被抓取了很多次,索引里却始终查不到,是运营中很常见的問题。本文把抓取和收錄拆開解释,列出内容重复、noindex、canonical、狀態碼不稳定等常见原因,並给出一套可执行的排查顺序,帮助判断問题到底出在入口頁還是在目标頁面本身。

常见問题

目标 URL 经常被抓取却没有收錄:先分清抓取和索引两件事

在蜘蛛池和入口頁的日常运营里,最容易混淆的一件事就是:被抓取不等于會被收錄。日誌里看到搜尋蜘蛛频繁来訪,目标 URL 也返回 200,但索引里始终查不到,這種情况下先別急着繼續加入口頁,應该先分清抓取和索引是两套流程。

抓取和收錄分別發生了什么

抓取是爬虫把頁面下载回去,收錄是搜尋引擎在下载之後做的一系列處理:解析正文、判断重复、评估质量、决定是否放進索引、放進哪個索引。抓取只說明一件事——這個 URL 被發現了,而且服務器愿意把内容交出来,它不是收錄的承诺。

所以會出現两種常见現象:入口頁加了很多,抓取量上去了,收錄却没有變化;或者某個 URL 反复被抓,過一段時間仍然不在索引里。這两種情况的原因通常不在“發現”环节。

抓取正常却不收錄的常见原因

  • 内容與站内其他頁面、或與互联網上已有頁面高度重复,搜尋引擎認為没有新增價值。
  • 頁面主体内容太少,HTML 里只有導航、模板、广告位,真正的内容需要交互或登入才能看到。
  • 頁面本身是跳轉頁、中間頁,没有獨立内容,只承担轉發的角色。
  • HTML 头部或响應头里寫了 noindex,或者 X-Robots-Tag 限制了索引。
  • canonical 指向了另一個 URL,搜尋引擎把索引和信号都归到了那個地址上。
  • 狀態碼不稳定,間歇性返回 5xx、软 404,或者對爬虫返回了與用戶不同的内容。
  • 站点整体被信任的程度不够,新域名、新目錄通常需要更長的观察期。

建议的排查顺序

  1. 先從抓取日誌確認:返回碼是不是稳定 200,返回字节數是否和真實頁面一致,有没有被 WAF 或 CDN 拦成驗證頁。
  2. 查看 HTML 源碼里的 meta robots、canonical,以及 HTTP 响應头中的 X-Robots-Tag。
  3. 關閉 JavaScript 或使用纯文本抓取工具,看主体内容是否存在于初始 HTML 中。
  4. 把目标 URL 與站内相似頁面做對比,检查标题、正文、结构是否几乎一样。
  5. 換一個 UA 訪問同一地址,確認服務端没有對爬虫做差异化返回。
  6. 確認以上检查都通過後,再观察一段時間,而不是几小时就下结论。

入口頁在這件事里能做什么、不能做什么

入口頁解决的是發現問题:让搜尋蜘蛛知道有這么一批 URL 存在。它不解决收錄問题。入口頁數量翻倍,通常只是让同一批 URL 被更频繁地下载,並不會提高索引意愿。

如果目标 URL 長期不被收錄,繼續堆入口頁往往是無效劳動,甚至可能因為大量低质量中轉頁面,让整站的抓取预算被消耗在無價值的地址上。

抓取是通道,收錄是评估。用抓取量去判断收錄效果,方向一開始就错了。

更實际的做法

  • 保證目标 URL 返回稳定的 200,正文在初始 HTML 里就能讀到。
  • 一個内容只保留一個可訪問地址,其余版本用 301 归並,避免自我重复。
  • 用 sitemap 提交,並保持 lastmod 的真實性,不要每次全量刷新時間。
  • 關注日誌里的狀態碼分布,而不是只數搜尋蜘蛛的来訪次數。
  • 给新頁面留出足够的观察周期,再判断是否需要調整策略。

把抓取和收錄分開看,排查會清晰很多:抓取異常先查入口頁、robots 和服務器;抓取正常但没收錄,則要把注意力放回頁面内容、重复度和站点本身的信任度上。