常见問题

入口頁用 X-Robots-Tag 响應头做限制,搜尋蜘蛛還能發現目标連結吗?

X-Robots-Tag 寫在 HTTP 响應头里,不像 meta 标簽那样容易看见,很多蜘蛛池入口頁在不经意間被 CDN 或服務器加上了 noindex、nofollow。本文說明它和 robots.txt、meta robots 的区別,不同取值對連結跟踪的影响,以及如何用 curl 和日誌排查配置問题。

常见問题

入口頁用 X-Robots-Tag 响應头做限制,搜尋蜘蛛還能發現目标連結吗?

做蜘蛛池入口頁的人,通常會把注意力放在連結放在哪、robots.txt 怎么寫、meta 标簽有没有加 nofollow 上,却容易忽略一個更隐蔽的位置:HTTP 响應头里的 X-Robots-Tag。它不寫在 HTML 源碼里,用浏览器查看源代碼根本看不到,一旦被服務器或 CDN 預設加上,搜尋蜘蛛可能连頁面上的目标連結都不會去跟踪。

X-Robots-Tag 和另外两種指令的区別

控制搜尋蜘蛛的常见手段有三種,作用位置和生效时机都不一样:

  • robots.txt:放在站点根目錄,告诉蜘蛛哪些路径可以抓、哪些不可以。它在抓取之前生效,被禁止的頁面蜘蛛通常不會請求。
  • meta robots:寫在 HTML 的 head 区域,頁面被抓取之後才被讀到,用来控制是否索引、是否跟踪頁面上的連結。
  • X-Robots-Tag:寫在 HTTP 响應头里,由 Web 服務器、CDN、反向代理下發。它的作用范围比 meta 更广,能作用于图片、PDF 等非 HTML 文件,也能按目錄批量下發。

正因為 X-Robots-Tag 在头部而不在頁面里,很多入口頁配置出問题时,站長在頁面上翻半天也找不到原因。

不同取值對目标連結發現的影响

X-Robots-Tag 可以带多個值,用逗号分隔。對蜘蛛池入口頁来说,下面几個值要特別注意。

noindex 和 none

noindex 的含义是不要把這個頁面放進索引。它主要影响頁面本身的收錄狀態,並不等于禁止跟踪頁面上的連結。搜尋引擎需要先抓到頁面、讀到指令,才知道它不该被索引,所以頁面上的連結通常仍有被跟踪的可能。不過這属于各家的實現细节,長期把入口頁放在 noindex 狀態下,連結被發現和被赋予的重视程度可能下降,不适合当成一種稳定做法。

none 相当于同时包含 noindex 和 nofollow,影响面更大。

nofollow

nofollow 是直接和連結跟踪相關的值。放在响應头里时,等于告诉蜘蛛「不要跟踪這個頁面上出現的連結」。對入口頁来说,這一條几乎是致命的:頁面能被抓取,但里面的目标 URL 不會顺着連結被走到。需要注意的是,主流搜尋引擎對 nofollow 的處理属于提示性信号,不保證百分百不跟踪,實际表現要看蜘蛛日誌,不要凭猜测下结论。

noarchive、nosnippet 等

noarchive 影响是否提供網頁快照,nosnippet 影响摘要展示,notranslate 影响翻译功能。這几個對連結發現基本没有直接作用,但配置含义容易和 noindex 混淆,改配置时不要一起批量加上。

入口頁常见的誤配置场景

  • 整套站点為了「保護内容」,在 Nginx 或 Apache 全局加了一行 X-Robots-Tag: noindex,结果所有入口頁都被覆盖。
  • CDN 或 WAF 的預設安全策略里带了 nofollow,站長只看了 HTML,没查响應头。
  • 反向代理把測試环境的头部原样带到线上。
  • 程序框架在輸出非 HTML 文件时统一加了一段头部規則,而入口頁正好走了同一條規則。
只检查頁面源碼,不检查响應头,等于漏掉了一半的抓取指令。

怎么確認入口頁有没有被响應头限制

  1. 用命令行請求一次入口頁,例如把請求头打印出来,只看响應头部分,重点找有没有 X-Robots-Tag 這一行。
  2. 用浏览器開發者工具的網絡面板刷新入口頁,在响應头列表里核對同样的一行。
  3. 把返回结果和目标 URL 的蜘蛛日誌對照:如果入口頁訪問日誌里有蜘蛛、目标 URL 的日誌里長期没有来自该入口的抓取,就要怀疑連結是否被指令挡住。
  4. 检查同目錄下的其他頁面,確認是單頁問题還是整個目錄或整站的問题。

一些實际處理建议

  • 如果本意是让蜘蛛發現連結,就不要给入口頁加 nofollow,也不建议長期挂 noindex 再指望連結被顺走。
  • 确實需要屏蔽抓取时,優先在 robots.txt 里寫清楚路径,职责更明确,也更方便以後排查。
  • 修改服務器或 CDN 配置後,務必重新請求一次頁面確認头部已经變化,再去看日誌。
  • 把响應头检查纳入入口頁上线的固定流程,和检查連結位置、狀態碼同級對待。

搜尋蜘蛛會不會跟踪入口頁上的目标連結,取决于抓取、索引、連結跟踪等多個环节的共同作用,X-Robots-Tag 只是其中一环。它不能保證連結一定被發現,但配置错誤时确實會让前面的工作白做,值得花几分钟確認一下。