先分清 noindex 和 robots.txt 拦截的区別
很多人在入口頁上加 noindex,目的是避免入口頁本身出現在搜尋结果里。但它和 robots.txt 里的 Disallow 是两件不同的事:
- robots.txt Disallow:告诉蜘蛛不要抓取這個 URL。既然不抓取,頁面里的連結自然也不會被解析到。
- meta noindex:告诉蜘蛛可以抓,但不要放進索引。頁面照样會被下载和解析,里面的連結也能被發現。
所以只加 noindex,不會像 Disallow 那样把入口頁變成盲区,搜尋蜘蛛仍然能顺着入口頁找到目标 URL。真正會切断發現鏈路的是 robots.txt 拦截,而不是 noindex 本身。
蜘蛛還會不會持續来抓這個入口頁
這里有個容易忽略的点:noindex 只是去掉索引资格,不代表蜘蛛會固定回訪。蜘蛛凭什么知道這個入口頁存在?通常是靠外部連結、蜘蛛池内部互鏈,或者 sitemap 提交。
常见情况是這样:入口頁本身有外鏈或其他頁面指向,noindex 之後仍然會被抓取;如果入口頁唯一的發現来源是 sitemap,而你又把它從 sitemap 里删掉了,那抓取次數會慢慢减少,最後目标連結也不再新鲜。
noindex 對目标 URL 的間接影响
直接影响有限,但有几處間接影响值得留意:
- 連結信号變弱。noindex 頁面不參與索引,連結一般仍會被跟進,但入口頁在搜尋系統里的分量通常低于可索引頁面,目标 URL 拿到的推荐信号不强。
- 抓取間隔拉長。入口頁長期無索引,蜘蛛重新訪問的周期可能變長,目标 URL 内容更新後的再次發現會變慢。
- 区域兴趣下降。如果入口頁本身模板化、内容稀薄,再加上 noindex,蜘蛛對整個目錄块的抓取意愿可能進一步降低。
如果想让入口頁承担传递信号的作用,就不该加 noindex;如果只是把入口頁当作纯粹的 URL 分發通道,noindex 是比較合理的選擇。
几種配置组合的實际效果
- noindex + 可抓取:蜘蛛能抓、能發現連結,入口頁不進索引。這是常见的通道型配置。
- robots.txt Disallow + 頁面内 noindex:蜘蛛既不抓取,也讀不到頁面里的 noindex。連結不會被發現,属于最差的组合,等于白做。
- nofollow + 可抓取:nofollow 現在更多是提示,蜘蛛可能仍會跟進,但不保證。它和 noindex 是两個维度的問题。
- canonical 指向他頁:頁面本身可能被合並處理,連結通常仍會被解析,但優先級不固定,不宜把它当成發現目标 URL 的主要手段。
怎么確認入口頁里的連結确實被看到了
看服務器日誌最直接。按 User-Agent 過滤出搜尋蜘蛛的請求,先看它有没有訪問入口頁,再看紧接着有没有請求同一批目标 URL。如果入口頁有訪問记錄、目标 URL 一個没来,問题通常出在連結寫法上,比如用 JavaScript 動態插入、放在 iframe 或图片按钮里,或者入口頁返回了異常狀態碼,而不是 noindex 造成的。這種情况下改 noindex 的設定没有意义。
做與不做的几点建议
- 只是不想让入口頁進搜尋结果:加 noindex,不要動 robots.txt。
- 想让入口頁帮目标 URL 传递信号:不要加 noindex,同时把入口頁内容做得像正常頁面一些。
- 別把 noindex 当成隐藏蜘蛛池的手段,它隐藏不了抓取行為,也挡不住別人看到頁面里的連結。
- 入口頁是否 noindex,應当根據它的定位决定,而不是习惯性加上去。
最後提醒一句:noindex 只决定這個 URL 本身能不能進入索引,能不能發現連結,取决于頁面是否被抓取,以及連結是否以搜尋蜘蛛可讀的形式寫在 HTML 里。