在蜘蛛池和入口頁的日常运营中,noindex 是一個常被誤讀的指令。很多人的担心是:入口頁加了 noindex,是不是頁面里的目标連結也一並失效、搜尋蜘蛛不會再跟了?回答這個問题之前,得先把 noindex 和 nofollow 各自管什么分清楚。
noindex 與 nofollow 各管什么
noindex 的作用對象是“頁面”。它告诉搜尋引擎:這個頁面可以被抓取,但不要把它放進搜尋结果里。它本身並不表達“不要跟踪這個頁面上的連結”。
nofollow 的作用對象是“連結”。寫在 a 标簽上时,表示该連結指向的地址與本站内容质量無關;寫在頁面級指令里(noindex, nofollow)时,則表示本頁的連結都不要跟随。
两者可以單獨使用,也可以组合。只寫 noindex 而不寫 nofollow,在主流搜尋引擎的實現中,頁面依然會被正常抓取,頁面里的普通 a 連結依然有机會被發現。
入口頁 noindex 後,目标連結通常仍會被發現
搜尋引擎抓取一個頁面时會解析 HTML 並提取其中的連結,這一步和“是否把该頁加入索引”属于两個环节。因此,只要入口頁本身能被正常抓取(没有被 robots.txt 屏蔽、没有持續返回错誤狀態),頁面里的标准連結就有机會進入待抓取队列。
当然有两点邊界需要留意:
- 入口頁自己不會出現在搜尋结果中,它無法作為“可被用戶点击”的入口带来訪問,連結發現只能依靠爬虫路径。
- 連結被發現,不等于目标 URL 一定被大量抓取,更不等于被收錄。中間還隔着抓取预算、目标頁狀態、内容质量等因素。
哪些情况會让連結真的不被跟
- robots.txt 用 Disallow 屏蔽了入口頁:頁面抓不到,連結自然無從提取。
- 頁面級指令寫成 noindex, nofollow,或响應头里是 X-Robots-Tag: noindex, nofollow。
- 目标連結本身带 rel="nofollow"、rel="sponsored" 或 rel="ugc"。
- 連結由需要用戶交互才触發的脚本生成,或依赖不常执行的渲染路径。
- 入口頁持續返回 4xx、5xx,爬虫拿不到正文内容。
蜘蛛池场景里的几個常见誤区
第一種誤区是把 noindex 当成“安全鎖”,以為加上它就能降低被判定為異常的風險。實际上 noindex 並不阻止抓取,入口頁仍會被正常請求,服務端日誌里照样能看到蜘蛛訪問记錄。
第二種誤区是“反正入口頁會被 noindex,那它就没價值”,于是干脆把入口頁也硬推入索引,结果堆出一批内容單薄、彼此高度相似的頁面。入口頁是否要進索引,應看它自身是否有獨立内容價值,而不是為了“留着给蜘蛛看”。
第三種誤区是只改指令、不看日誌。noindex 是否按预期生效、目标連結是否真的被跟到,最直接的驗證手段還是服務端日誌:观察目标 URL 上是否出現對應的爬虫 User-Agent 請求。
noindex 决定的是“這個頁面能不能被收錄”,而不是“這個頁面里的連結會不會被發現”。把两件事分開判断,很多疑惑就自然消解了。
實操上怎么做更稳妥
- 先明确目的:如果只是不想让入口頁出現在搜尋结果里,寫 noindex, follow;如果连連結也不想被跟,才寫 noindex, nofollow。
- 检查指令位置:meta 只作用于目前 HTML 頁;X-Robots-Tag 作用于该响應,注意別誤伤同域的其他文件。
- 入口頁里的目标連結保持為标准 a 标簽加可直接抓取的 href,避免用脚本临时拼装或用图片代替。
- 用日誌驗證目标 URL 的抓取情况,而不是僅凭指令寫法推断结果。
- 別用 noindex 去掩盖内容或结构問题,它只影响索引,不解决质量問题。
把指令和目的對應清楚:想控制“收不收錄”就用 noindex,想控制“跟不跟連結”就用 nofollow。剩下的判断,交给抓取日誌来驗證。