網站收錄

robots.txt、noindex 和登入限制:拦住收錄的三種手段別用混

robots.txt、noindex、登入墙分別卡在發現抓取、進入索引、内容可见這三個不同环节,用错位置就會出現屏蔽了還被收錄、解除後迟迟不恢复的情况。本文梳理三者的作用范围、常见誤用、资源屏蔽的副作用,以及解除限制後的自查顺序。

網站收錄

robots.txt、noindex 和登入限制:拦住收錄的三種手段別用混

讨论收錄問题时,很多人把“抓不到”和“不收錄”当成同一件事。實际處理一個 URL 大致要经過几步:發現、抓取、渲染、判断质量、進入索引。不同手段卡的是不同环节,用错位置就會出現“我明明屏蔽了,怎么還被索引”,或者“屏蔽解除了,怎么還是没動静”。

三種手段分別拦在哪一步

  • robots.txt:拦的是抓取。被 Disallow 的地址,蜘蛛通常不會去取内容,你寫在頁面里的 meta robots 或 noindex,它自然也讀不到。
  • noindex(meta 标簽或 X-Robots-Tag):拦的是索引。前提是蜘蛛能抓到頁面、讀到這個指令,之後才會把已收錄的地址移除。
  • 登入墙、權限校驗、IP 限制:拦的是内容本身。蜘蛛和未登入用戶一样看不到正文,頁面即使被收錄,往往也是空壳或不完整狀態。

最常见的誤用:拿 robots.txt 当 noindex 用

想让某個頁面從索引里消失,正确做法是让它保持可抓取,同时返回 noindex。如果先用 robots.txt 把它封了,蜘蛛讀不到 noindex,頁面可能長期以“僅顯示網址、没有描述”的形式留在结果里,看起来像屏蔽失效,其實是屏蔽生效得太早。

一句话区分:robots.txt 管“別来看”,noindex 管“看完別留档”。想让内容彻底登出索引,得先允许它被看一次。

另一個坑:把抓取资源一起挡了

CSS、JS、图片如果被 robots.txt 屏蔽,蜘蛛虽然拿到了 HTML,却無法正确渲染頁面,判断頁面质量的依據會缺失。有些站為了省抓取预算,一刀切屏蔽静態目錄,结果正文、導航都渲染不出来,收錄表現反而變差。

noindex 和 canonical 不要混着下

有人一邊给頁面设 noindex,一邊用 canonical 指向另一個希望被收錄的版本,想借此“合並權重”。這两個信号方向相反:noindex 说別收錄我,canonical 说把我算作那個頁面。同一個 URL 同时出現這两條指令,搜尋引擎只能自行取舍,结果往往不稳定。

解除限制之後,恢复不是即时的

noindex 或屏蔽解除後,搜尋引擎需要重新抓取该地址、重新渲染、重新判断,才可能把它放回索引。這個過程通常以天甚至周計,還受站点整体抓取频率、该頁面被連結情况影响。想推動一下,可以從站内给這些頁面补几條正常内鏈,或在站長工具里重新提交,但不要期待当天见效。

自查顺序

  1. 先確認该地址目前狀態:已收錄、已抓取未索引,還是被屏蔽。
  2. 检查 robots.txt 是否誤拦了這個目錄,或者顺带拦掉了關键静態资源。
  3. 查看頁面返回的 meta robots 與响應头里的 X-Robots-Tag,注意两處是否冲突。
  4. 確認頁面是否需要登入或權限才能看到完整内容。
  5. 如果多處指令互相矛盾,一般以更嚴格的那條為准,先统一口径再观察變化。

把手段和环节對應起来,排查會清晰很多:抓不到就先別谈收錄,能抓到但内容不足才會卡在索引這一步。分清楚問题出在哪一环,再决定是改 robots.txt、調 noindex,還是老老實實补内容。