常见問题

蜘蛛池入口頁放出了連結,目标站被 robots.txt 挡住會怎样

蜘蛛池入口頁能做的,主要是把目标 URL 送進待抓取队列,真正能不能抓、能不能收錄,取决于目标站自身。本文說明目标站 robots.txt、meta robots 和 X-Robots-Tag 挡住抓取时會發生什么,区分 noindex 與 nofollow 的差別,並给出一份可以直接照着查的排查清單。

常见問题

蜘蛛池入口頁放出了連結,目标站被 robots.txt 挡住會怎样

做蜘蛛池的常见思路是:入口頁放上目标連結,等搜尋蜘蛛顺着連結爬到目标站。但很多人會忽略一件事——連結被發現頁面被抓取並不是一回事。如果目标站自己用 robots.txt 挡住了抓取,入口頁铺再多連結也不會有實质變化。

先分清三個环节

搜尋蜘蛛處理一個 URL,大致要经過三步:發現、抓取、索引。

  • 發現:搜尋蜘蛛在入口頁讀到連結,把目标 URL 放進待抓取队列,這一步不代表马上就會抓。
  • 抓取:搜尋蜘蛛真正請求目标 URL,拿到 HTML 内容。
  • 索引:内容经過解析和處理,進入可以被检索的資料库。

蜘蛛池能明顯影响的,基本只有第一步。後两步取决于目标站自身的狀態。

目标站禁止抓取时會發生什么

同样是“挡住搜尋蜘蛛”,不同的挡法结果並不一样。

  • robots.txt 寫 Disallow: /:搜尋蜘蛛會遵守規則不去抓取目标 URL。連結可能被發現了,但内容抓不到。長期的抓取失敗,也會影响搜尋引擎對该站点的抓取意愿。
  • 頁面 meta robots 寫 noindex:搜尋蜘蛛仍然會抓取頁面,但不會把它放進索引。抓取動作發生了,收錄结果却没有。
  • 服務端返回 X-Robots-Tag: noindex:效果和 meta 标簽類似,只是配置寫在 HTTP 响應头里,光看頁面源碼是發現不了的。

有一種情况容易被誤讀:某些搜尋引擎在“只有外鏈指向、却没有抓到内容”时,仍可能把 URL 展示出来,但通常没有摘要。這既不稳定,也不等于頁面被正常收錄,不适合当成可依赖的结果。

几個容易搞混的点

noindex 和 nofollow 不是一回事

noindex 管的是這一頁要不要進索引,nofollow 管的是這一頁上的連結要不要被跟随。只寫 noindex 的頁面,上面的連結通常還是會被跟随;只有寫成 noindex, nofollow 或單獨加 nofollow,才可能让連結不被繼續發現。入口頁里的連結即使被發現了,如果目标頁自己 noindex,最终结果依然是不收錄。

robots.txt 是站点級,meta 是頁面級

robots.txt 一條 Disallow 可能把整站挡住,影响面很大,改起来也快。meta robots 則只作用于單個頁面,需要逐頁检查。排查时不要只看其中一個。

入口頁能做的事情有限

入口頁负责“告知存在”,不负责“决定结果”。把它的作用理解成一個通知渠道,比期待它直接推動收錄更符合實际。

照着做的排查清單

  1. 直接訪問目标站的 /robots.txt,看是否存在 Disallow: / 或對搜尋蜘蛛的专门限制。
  2. 打開目标頁源碼,確認 meta robots 寫的是 noindex 還是 noindex, nofollow。
  3. 用抓包或接口工具查看响應头,確認有没有 X-Robots-Tag。
  4. 確認目标 URL 返回 200,而不是 301、302 鏈到別的地址,或者直接 404、5xx。
  5. 核對規范标簽,看是否有多余的 canonical 指向別的頁面。
  6. 翻服務器日誌,確認搜尋蜘蛛是否真的抓過目标 URL,而不是只抓了入口頁。

這些情况下先別指望入口頁

目标站整站被 robots.txt 挡住、長期返回 5xx、頁面内容在登入墙之後、域名本身處于被處理狀態——遇到這些,入口頁再铺連結也不會带来實质變化。顺序應该是先修目标站,再谈蜘蛛池。

把入口頁当成“告诉搜尋蜘蛛有這么個 URL”的渠道更合理。抓不抓、收不收,最终還是目标站自己说话。任何工具都無法承诺收錄或排名。

所以,当發現入口頁里明明放了連結、目标站却迟迟没有動静时,先別急着加頁面或者換域名,從上面的清單逐條對一遍,往往能更快定位問题。