常见問题

投放蜘蛛池前,robots 設定里最容易挡住搜尋蜘蛛的几處

很多站点投放蜘蛛池後發現搜尋蜘蛛没来,追查日誌才發現是 robots.txt 或頁面級 robots 把請求挡在门外。本文梳理常见 robots 配置誤区,包括 User-agent 寫错、Disallow 范围過大、屏蔽 CSS/JS、meta noindex 和 X-Robots-Tag,並给出投放前的检查清單和驗證方法。

常见問题

投放蜘蛛池前,robots 設定里最容易挡住搜尋蜘蛛的几處

做蜘蛛池投放时,很多人把注意力放在入口頁數量、URL 清單和抓取频次上,却忽略了一個更前置的問题:搜尋蜘蛛能不能進入你的站点。如果 robots.txt 或頁面級 robots 設定把蜘蛛挡在门外,入口頁再多、URL 提交再频繁,抓取也不會發生。

robots.txt 里最常见的三類誤封

1. User-agent 寫错或 Disallow 范围過大

有些站点為了屏蔽某個采集器,直接寫了 Disallow: /,或者把 User-agent 寫成不完整名稱,结果搜尋蜘蛛也被一起挡住。還有一種情况是規則太宽,例如 Disallow: /*?*,把带參數的入口頁全部拦截,而蜘蛛池投放的目标 URL 往往就带參數。

投放前建议逐條看 robots.txt,確認没有针對 Googlebot、Bingbot、Baiduspider 等常用搜尋蜘蛛的封禁規則。

2. 屏蔽了 CSS、JS 等静態资源

如果 robots.txt 里禁止抓取 CSS、JS,搜尋蜘蛛可能無法渲染頁面。對于依赖 JS 輸出連結的入口頁,後果更明顯:蜘蛛能進来,却看不到目标 URL。投放前至少確認常用的样式和脚本目錄没有被封。

3. sitemap 地址寫错或指向舊文件

robots.txt 中的 Sitemap 指令如果填错,或者指向已经废弃的 sitemap,會削弱 URL 發現效率。蜘蛛池可以作為补充,但不能替代正确的 sitemap 声明。投放期間最好保持 sitemap 與站内實际 URL 同步更新。

頁面級 robots:meta 标簽和 HTTP 头

robots.txt 管的是“能不能抓”,頁面級 robots 管的是“抓到之後怎么處理”。常见组合有:

  • noindex:頁面可以被抓,但不會進入索引。入口頁如果誤加 noindex,蜘蛛可能仍會跟進連結,但入口頁本身不會被收錄。
  • nofollow:不影响目前頁抓取,但會提示搜尋蜘蛛不要追踪頁面上的連結。目标 URL 如果只靠這個入口頁連結,跟進概率會降低。
  • none:相当于 noindex 加 nofollow,通常是彻底放弃這個頁面。

除了 meta 标簽,還要留意 HTTP 响應头里的 X-Robots-Tag。有些服務器、CDN 或安全策略會统一加上這個头,頁面源碼里看不出来,但蜘蛛能讀到。投放前可以用抓取工具查看响應头,確認没有意外的 noindex 或 nofollow。

投放前的 robots 检查清單

  1. 打開 robots.txt,確認没有 Disallow: / 或针對搜尋蜘蛛的全站封禁。
  2. 检查 User-agent 拼寫,避免規則誤伤正常搜尋蜘蛛。
  3. 確認 CSS、JS、图片等渲染资源没有被封禁。
  4. 核對 Sitemap 地址是否能正常訪問,内容是否為最新。
  5. 抽查入口頁和目标頁的 meta robots,確認没有誤加 noindex、nofollow。
  6. 查看 HTTP 响應头,確認没有 X-Robots-Tag 冲突。
  7. 用抓取诊断工具或服務器日誌驗證搜尋蜘蛛的返回狀態。

驗證时看什么

配置改完後,不要只看 robots.txt 文本。更可靠的是看服務器日誌里搜尋蜘蛛的請求:它有没有請求入口頁,返回的是 200 還是 403、404,有没有繼續請求目标 URL。如果日誌里只有少數請求,或者狀態碼異常,說明問题可能不在投放量,而在訪問權限或服務器响應。

robots 設定是抓取的前置條件,不是收錄的保證。解除誤封之後,搜尋蜘蛛是否抓取、是否收錄,仍取决于頁面质量、站点整体情况和抓取预算。

蜘蛛池、sitemap、内鏈和主動提交都属于 URL 發現手段,但它們都建立在“搜尋蜘蛛能正常訪問”的基础上。投放前花几分钟检查 robots,比事後反复加量更有效。