给蜘蛛池入口頁加上 noindex,是不少站点运营者會做的選擇:既想让入口頁承担連結分發的作用,又不想让它出現在搜尋结果里。加完之後最常见的疑問就是——搜尋蜘蛛還會不會顺着頁面里的連結,繼續去抓目标 URL?
noindex 管的是索引,不是抓取
noindex 是一個索引层面的指令,它表達的是“不要把這一頁放進索引”,而不是“不要来抓這一頁”。只要頁面本身没有被 robots.txt 屏蔽,搜尋蜘蛛依然可以正常請求、下载和解析它。解析之後,頁面里的 <a href> 這類普通連結仍然會被提取出来,作為新的 URL 候選進入待抓取队列。
所以從抓取鏈路上看,noindex 並没有切断“入口頁 → 目标 URL”這條路。真正被改變的是另一件事:入口頁自己不會出現在搜尋结果中。
哪些寫法會真正影响連結被發現
和 noindex 容易混淆的是以下几種情况,它們對連結發現的影响完全不同:
- robots.txt 里 disallow 了入口頁:蜘蛛不能抓取頁面内容,自然也就讀不到里面的連結,連結發現會被直接掐断。
- 連結本身带 rel="nofollow":属于對單條連結的提示,蜘蛛是否跟随由搜尋引擎自行判断,不确定性較大。
- 連結依赖 JavaScript 才能插入:需要经過渲染环节才能看到連結,發現时机會被推迟,能否被抓取决于渲染與抓取资源的分配。
- 連結放在登入墙、人机驗證之後:頁面内容拿不到,連結同样拿不到。
可以這样理解:noindex 影响的是“要不要收錄這一頁”,robots.txt 影响的是“能不能讀這一頁”,nofollow 影响的是“這條連結值不值得跟”。三者的作用点並不一样。
入口頁用 noindex 时的几個注意点
- 確認寫的是 noindex 而不是 none。meta robots 里只寫 noindex 时,跟随行為預設仍然是 follow;如果想寫明确一些,可以用 noindex, follow。
- X-Robots-Tag 與 meta robots 二選一即可。HTTP 响應头里的 X-Robots-Tag: noindex 同样只作用于索引层面,對頁内連結的發現没有直接阻断作用。
- 不要把 noindex 当成控制抓取频率的工具。它一般不會明顯减少蜘蛛對入口頁的訪問,抓取节奏更多和站点整体响應速度、更新频率、歷史表現有關。
- 入口頁數量很大时,大量 noindex 頁面同样會占用一部分抓取资源,只是不會被索引,這一点在做批量入口頁时需要心里有數。
怎么驗證連結有没有被繼續抓取
與其猜测,不如用几组可對照的信号来判断:
- 看服務器日誌里目标 URL 是否出現了搜尋蜘蛛的訪問记錄,重点看訪問時間是否集中在入口頁被抓取之後。
- 用站点管理後台的 URL 检查工具查看入口頁狀態,確認返回的是“已排除:noindex”而不是“已被 robots.txt 屏蔽”。
- 抽查目标 URL 的抓取情况,注意区分“被抓取”和“被收錄”,這两件事並不等同。
如果入口頁在 robots.txt 里被屏蔽,同时又期待蜘蛛顺着連結去抓目标 URL,這是自相矛盾的設定,比對日誌时很容易誤判成“蜘蛛不来”。
小结
入口頁加 noindex 之後,搜尋蜘蛛通常仍會抓取该頁並跟随其中的普通連結,noindex 只是让入口頁自己不進入索引。真正需要留意的是 robots.txt 屏蔽、nofollow、JS 渲染和登入墙這几類會改變連結發現路径的設定。建议把入口頁的指令寫清楚,再用服務器日誌和管理後台的抓取记錄交叉核對,而不是僅凭 noindex 三個字就下结论。