搜尋抓取

noindex 下的 URL 發現:抓取與索引不是一回事

noindex 只管最终要不要進索引,不管搜尋蜘蛛来不来。頁面只要有内鏈、Sitemap 或外鏈入口,就可能被抓取,日誌里出現抓取记錄並不代表設定失效。本文按頁面類型拆開讲:哪些适合用 noindex,哪些更适合用狀態碼,以及 robots.txt 屏蔽與 noindex 同时使用时的注意点。

搜尋抓取

noindex 下的 URL 發現:抓取與索引不是一回事

很多站長把 noindex 当成“這個頁面別管了”的總開關,實际上它管的是索引,不管抓取。頁面加上 noindex 之後,搜尋蜘蛛照样可能来,只是讀到指令後不把它放進索引。理解這條分界线,能避免不少誤判:日誌里看到某個 URL 反复被抓,不等于設定失效;反過来,想让頁面彻底安静下来,單靠 noindex 也不够。

noindex 控制的是索引,不是發現

搜尋蜘蛛發現 URL 的路径没有變:内鏈、Sitemap、外鏈、上一轮留下的抓取队列。只要頁面還有入口,它就有可能被排進抓取列表。抓取完成之後,蜘蛛讀到頁面 head 里的 robots meta,或者响應头里的 X-Robots-Tag,才决定不進索引。

于是會出現三種狀態並存的情况:被發現了、被抓取了、但不被索引。日誌里的抓取记錄反映的是“發現”這一层,和最终索引结果對不上,是正常的。

按頁面類型拆開處理

确實不该出現在搜尋结果里的頁面

比如後台入口、測試頁、會員中心。這類頁面如果站内還有連結指向它,用 noindex 是對的;如果連結已经清理干净,又不希望它消耗抓取次數,可以考虑用 robots.txt 屏蔽。但两者搭配有前提。

robots.txt 的 Disallow 會让搜尋蜘蛛根本讀不到頁面里的 noindex。如果這條 URL 已经被外部連結指向,屏蔽抓取反而可能让它以“只有連結、没有内容”的形式留下记錄。所以先確認頁面是否已经被索引、是否有外鏈,再决定是屏蔽抓取還是只加 noindex。

留在站内但不需要索引的頁面

分頁的第二頁以後、排序參數頁、站内搜尋结果頁,這類 URL 通常希望被抓到一部分,好顺着連結繼續往下走,但不希望它們自己出現在结果里。noindex 可以用,重点是別把内鏈一並砍掉,否則後面的内容頁也跟着失去入口。

已经下线的頁面

内容彻底刪除时,noindex 並不是首選。noindex 頁面仍然會被反复抓取,占用抓取次數。返回 404 或 410 更直接,也能让搜尋蜘蛛逐步把這條 URL 從待抓队列里清掉,比一直挂着一個“存在但不索引”的空壳更省事。

robots meta 與 X-Robots-Tag 的差別

robots meta 只能寫在 HTML 的 head 里,對 PDF、图片、视频這類非 HTML 文件無效。這類资源要用响應头里的 X-Robots-Tag。另一個常见坑是 noindex 和 canonical 同时出現在頁面上,两邊指向不同的判断结果,信号叠加後處理方式不好预测,建议同一頁面只保留一種明确意图。

核對顺序

  1. 先確認這個 URL 是否真的有站内入口,日誌里的抓取是来自内鏈、Sitemap,還是外部連結。
  2. 再確認 robots meta 或 X-Robots-Tag 的寫法是否被正确讀取,是否存在模板覆盖或位置放错。
  3. 如果同时用了 robots.txt 屏蔽,先判断頁面是否已经在外鏈或歷史索引里出現過。
  4. 看抓取频率:noindex 頁面如果被抓得很勤,說明入口太多,或者 Sitemap 里還挂着它。
  5. 最後决定是保留抓取、减少入口,還是改用狀態碼處理。

小结

noindex 是一條關于结果的指令,不是關于訪問的指令。把“要不要被發現”“要不要被抓”“要不要進索引”当成三件事分開看,日誌里的資料才不容易被誤讀。多數情况下,處理顺序是:先理清入口,再决定抓取策略,最後才轮到索引狀態。