先给结论:在多數搜尋引擎的規則里,X-Robots-Tag: noindex 的作用是告诉搜尋蜘蛛不要索引這個頁面,而不是不要抓取這個頁面,也不是不要跟随頁面上的連結。所以,入口頁即使被标记為 noindex,搜尋蜘蛛在抓取它时,通常仍會解析 HTML,並發現里面的目标 URL。但目标 URL 最终能不能被抓取、被收錄,還要看其他條件。
noindex 和 nofollow 是两件事
很多站長把 noindex 和 nofollow 混在一起理解。简單说:
- noindex 管的是這個頁面要不要出現在搜尋结果里。
- nofollow 管的是要不要跟随頁面上的連結。
如果入口頁只設定了 X-Robots-Tag: noindex,没有加 nofollow,搜尋蜘蛛通常還是會繼續看頁面里的 a 标簽,把目标 URL 放進待抓取队列。相反,如果設定成 noindex, nofollow,那么入口頁不僅不被索引,里面的連結也可能不被跟随,目标 URL 的發現就會受影响。
noindex 管的是“要不要收錄這個頁面”,nofollow 管的是“要不要跟随這個連結”。
X-Robots-Tag 和 meta robots 有什么区別
X-Robots-Tag 是 HTTP 响應头里的指令,meta robots 是寫在 HTML 里的指令。两者都能传達 noindex、nofollow 等要求,但 X-Robots-Tag 可以作用于非 HTML 资源,也更适合在服務器或 CDN 层统一配置。
對蜘蛛池入口頁来说,如果你在响應头里只加了 X-Robots-Tag: noindex,頁面正文里的連結仍然可能被搜尋蜘蛛讀取。需要注意的是,HTTP 头里的指令和 HTML 里的 meta robots 如果同时存在,搜尋引擎會综合判断,一般以更嚴格的限制為准。所以不要一邊在头部寫 noindex,一邊又在頁面里寫 index,這样容易造成混乱。
搜尋蜘蛛的常见處理路径
- 搜尋蜘蛛請求入口頁,拿到 HTTP 响應头和 HTML 内容。
- 看到 noindex 指令後,通常會把入口頁标记為不索引。
- 如果同时没有 nofollow,蜘蛛會繼續解析頁面里的連結,發現目标 URL。
- 目标 URL 是否被抓取,取决于目标頁自身的 robots.txt、服務器响應、内容质量、抓取预算等因素。
- 如果入口頁被 robots.txt 禁止抓取,蜘蛛根本拿不到 HTML,也就看不到里面的連結。
所以,X-Robots-Tag: noindex 不必然阻断目标 URL 的發現,但它也不是一個推荐用来“隐藏入口頁又想被發現連結”的常規做法。入口頁本身不進索引,意味着它不會在搜尋结果里展示,這通常正是使用 noindex 的目的。
容易踩的坑
- 把 noindex 当成 nofollow 用:结果入口頁不收錄,但連結仍被跟随,目标 URL 照样可能被發現。
- 指令拼寫错誤:比如寫成 noindexx 或 no-index,搜尋引擎無法识別,入口頁可能反而被索引。
- 同时用 robots.txt 禁止抓取:這會让蜘蛛無法讀取入口頁内容,連結發現直接失效。
- 入口頁返回 200 但連結是 JavaScript 動態插入:即使没有 noindex,也可能因為渲染問题而發現不到目标 URL。
- 以為 noindex 會传递權重:noindex 頁面通常不參與排名,頁面上的連結即使被跟随,也不代表能传递和正常頁面相同的信号。
實操建议
- 先明确目的:只是不想让入口頁被索引,還是不想让蜘蛛跟連結。前者用 noindex,後者才考虑 nofollow。
- 如果既不想索引入口頁,又希望目标 URL 有机會被發現,可以只设 X-Robots-Tag: noindex,不要加 nofollow。
- 不要把 robots.txt 和 X-Robots-Tag 混着乱用。robots.txt 禁止抓取會直接阻断發現連結的路径。
- 入口頁保持可訪問、返回 200、HTML 里有正常的 a href 連結,不要只依赖脚本或按钮点击。
- 通過服務器日誌或搜尋平台工具观察抓取情况,但不要期待立刻见效,抓取和發現都需要時間。
總结一下:蜘蛛池入口頁設定 X-Robots-Tag: noindex 後,搜尋蜘蛛通常仍可能發現頁面里的目标 URL,前提是頁面能被抓取、連結能被解析、並且没有 nofollow 等額外限制。實际运营中,更稳妥的做法是先想清楚入口頁要不要被索引,再决定用 noindex 還是 nofollow,避免因為一個响應头設定错誤,影响後續的 URL 發現和站点运营节奏。