先说结论:noindex 管的是「這一頁能不能進索引」,不是「這一頁里的連結能不能被跟着爬」。只要入口頁本身還能被抓取,搜尋蜘蛛解析完 HTML 之後,通常仍會把里面的目标 URL 放進待抓队列。所以入口頁加 noindex,不會直接切断連結發現這條路。但它會改變一些別的東西,值得單獨说清楚。
noindex 和 robots.txt 屏蔽是两回事
這两個经常被混着用,實际作用差得很遠。
- noindex:頁面可以被抓取,蜘蛛能讀到内容,只是不建议把這一頁本身放進索引。
- robots.txt disallow:蜘蛛拿不到頁面内容,自然也就看不到里面的連結,這是會真正阻断發現的寫法。
很多站長以為给入口頁加 noindex 就等于「藏起来」,但藏起来的同时連結也一起消失了,那其實是 disallow 的效果。想保留連結發現、只是不想让入口頁出現在结果里,用 noindex 更合适。
入口頁 noindex 後,連結通常還能被發現
搜尋蜘蛛抓到一個頁面後,會解析 HTML 里的 a 标簽、收集其中的 URL,再决定後續抓不抓。noindex 只影响第一步「要不要收錄這一頁」,不影响「要不要把連結记下来」。所以绝大多數情况下,連結發現照常進行。
不過這個结论有几個前提,缺一個结果就可能不一样:
- 入口頁返回 200,不是 403、404 或 5xx;
- 入口頁没有被 robots.txt 拦在门外;
- 連結是服務端輸出的 HTML,不是抓取时還不存在的 JS 内容;
- 連結没有加 nofollow、ugc、sponsored 這類属性;
- 頁面没有登入墙、驗證碼或 WAF 拦截挡住。
哪些情况會「顺带」影响連結發現
noindex 本身不阻止跟随,但實际項目里常和別的因素叠在一起,現象看起来就像 noindex 惹的祸。
noindex 和 canonical 混用
入口頁设了 noindex,同时又用 canonical 指向自己,两個信号會互相打架。對連結發現的影响通常不大,但會让你在排查現象时更难判断,建议配置保持單一、意图明确。
抓取预算被入口頁消耗掉
noindex 頁面照样會被爬,照样占抓取配額。如果入口頁數量很大、内容又薄,蜘蛛可能把時間花在這些頁面上,目标站的抓取节奏被挤压。這是运营层面的問题,不是「noindex 導致連結不被發現」。
入口頁長期不被重新訪問
如果入口頁没什么外鏈、内容也長期不變,蜘蛛重新造訪的間隔會拉長,新加的連結發現得就慢。這属于抓取調度,和 noindex 没有直接關系。
實际配置时可以參考這几点
- 入口頁用 noindex, follow(follow 是預設行為),保留連結跟随。
- 确實只想做連結發現、不想入口頁被收錄,別用 disallow,用 noindex 更稳妥。
- 同一批入口頁不要一邊 noindex、一邊又指望它带来收錄,目标要提前想清楚。
- 也可以用响應头 X-Robots-Tag 設定 noindex,效果和 meta 标簽一致。
- 定期看服務器日誌,確認蜘蛛有没有請求入口頁,以及有没有繼續請求目标 URL。
怎么驗證實际情况
在訪問日誌里筛出入口頁路径,看返回碼和 UA,再對照同一時間或之後的记錄里,目标 URL 有没有被請求。搜尋平台的 URL 检查、抓取統計也能作為參考,但不必把某一天的數字当成定论。连續观察一段時間,比只看一次資料可靠得多。
小结:noindex 影响的是入口頁自身的收錄,不是連結的發現。真正會切断發現的是 disallow、nofollow,以及蜘蛛根本拿不到 HTML 内容這些情况。
把「能不能發現」和「會不會收錄」分開看,很多現象就解释得通了。入口頁用 noindex 是很常见的做法,關键還是保證頁面可抓取、連結可解析、抓取配額別被無谓浪費。