網站收錄

robots.txt 屏蔽、noindex、404:三種「不收錄」方式的区別與用法

想让頁面不被收錄,常见做法有 robots.txt 屏蔽、加 noindex、返回 404 三種,但它們在鏈路上的作用点完全不同。本文梳理抓取拦截與索引移除的区別,說明為什么 robots.txt 屏蔽後 URL 仍可能留在索引里,並给出一套從已收錄到登出索引的操作顺序。

網站收錄

robots.txt 屏蔽、noindex、404:三種「不收錄」方式的区別與用法

想让某個頁面不被搜尋引擎收錄,常见做法有三種:robots.txt 屏蔽、加 noindex、让頁面返回 404 或 410。這三種方式在鏈路上的作用点不同,混用或用错位置,不但達不到目的,還可能让 URL 以另一種形式繼續留在索引里。

作用点不同:一個拦抓取,一個管索引,一個說明頁面没了

  • robots.txt 的 Disallow:拦在抓取這一步。蜘蛛不會去取頁面内容,自然也就讀不到頁面里的任何指令。
  • noindex:作用在索引這一步,前提是頁面被真實抓取到,meta 标簽或 HTTP 响應头里的指令才會被讀到。
  • 404 / 410:告诉搜尋引擎這個地址已经不存在,已收錄的條目會随着後續抓取逐步清除。

三者不是同一层級的東西。很多人把它們当成「都是不让收錄」的等價選項,结果就是看起来屏蔽了,實际還在索引里。

robots.txt 屏蔽之後,URL 仍可能出現在索引里

被 Disallow 的地址,搜尋引擎不會抓取内容,但如果站外有連結指向它,這個地址本身仍可能以「只有 URL、没有标题和摘要」的形式出現在索引中。原因很简單:通過外鏈知道了地址存在,只是拿不到内容。

所以判断该用哪種方式,先問自己一個問题:我要的是「内容不被看到」,還是「這個地址彻底從索引消失」,還是「蜘蛛別来抓這些没用的路径」。如果只是不想让蜘蛛反复去爬動態參數、後台路径、篩選组合,robots.txt 是合适的;如果目标是让内容不出現在搜尋结果里,robots.txt 通常不够。

noindex 的關键:蜘蛛得先抓到頁面

noindex 寫在 meta robots 或 HTTP 响應头里,两者都需要頁面被抓取才能生效。如果一個目錄在 robots.txt 里被 Disallow,同时又指望里面的頁面靠 noindex 登出索引,那 noindex 基本不會被讀到——蜘蛛压根不會去取那個頁面。响應头形式的好處是,對非 HTML 文件(比如 PDF)同样适用。

這種矛盾狀態下正确的顺序是:先放開该目錄的抓取,让 noindex 能被讀到並生效,等這些 URL 從索引中消失後,再考虑是否要重新屏蔽抓取。

一個頁面從「已收錄」到「登出索引」,可以按這個顺序做

  1. 確認頁面确實已经被收錄。用 site: 查询配合網址检查工具交叉驗證,不要凭感觉判断。
  2. 確認该 URL 没有被 robots.txt 屏蔽,否則後面的 noindex 讀不到。
  3. 加上 noindex,meta 或响應头均可。
  4. 等待搜尋引擎重新抓取该頁面。索引條目的移除通常滞後于抓取,几周甚至更久都属正常,不要因為几天没變化就反复改動。
  5. 如果是彻底下线的内容,可以在 noindex 生效後改為 404 或 410;頁面短期還要保留(比如活動結束但可能复用),保持 noindex 就够了。

按頁面狀態選方式

  • 頁面要保留,只是不想出現在搜尋结果里:noindex。
  • 頁面永久刪除且有替代地址:301 到新地址。
  • 頁面永久刪除且没有替代地址:404 或 410。
  • 整站临时不可用:用 503 並给出 Retry-After,別直接返回 404,否則容易掉索引。
  • 只是不想让蜘蛛浪費抓取预算去爬參數组合、後台路径:robots.txt Disallow。
判断标准其實很简單:如果你希望某個 URL 從索引里消失,就必须让搜尋引擎能抓到它,並且讀到「不要索引」的信号,或者拿到明确的 404 / 410。屏蔽抓取和登出索引,往往是两件事。

几個容易踩的点

  • robots.txt 屏蔽和 noindex 同时用:noindex 失效,URL 可能長期留在索引里,只顯示一個光秃秃的地址。
  • 只改 robots.txt、不處理已收錄頁面:老條目不會自動消失。
  • 把 noindex 放在错誤位置:寫在依赖 JS 渲染後才出現的标簽里,或寫在不被讀取的模板区域,都可能不生效。
  • 把 404 当临时方案:反复在 200 和 404 之間来回切換,會让搜尋引擎對该站点的狀態判断變得不稳定。

這些做法都無法保證多久生效,索引更新有自己的节奏。你能控制的是信号是否清晰、是否前後一致——先分清自己到底想拦抓取還是想登出索引,再動手。