頁面要下线、要合並、要暂时隐藏时,最容易出問题的不是该不该做,而是顺序做错了。robots.txt、noindex、狀態碼這三個工具各自管的是不同的事,混着用往往會让頁面在索引里挂很久,或者让回滚變得麻烦。
先分清两件事:能不能抓,能不能進索引
抓取和收錄是两個环节。搜尋引擎要先能抓到頁面,才能讀到頁面上的指令。如果第一步就被拦住,後面的指令基本等于没寫。
- robots.txt 的 Disallow:拦的是抓取。被拦的 URL 通常不會被抓取,也就讀不到頁面里的 meta robots。
- meta robots 的 noindex:管的是索引。它要求搜尋引擎抓到這個頁面、讀到這行标簽,然後把頁面從索引中移除。
- HTTP 狀態碼:表達资源本身的存在狀態。404 或 410 表示已经不存在,301 表示永久搬到別處,503 表示暂时不可用。
把 Disallow 和 noindex 同时加上,是下线頁面里最常见的组合错誤。抓取被拦,noindex 永遠讀不到,頁面可能長期留在索引里。
几種常见的下线诉求,對應不同做法
頁面永久不要了
如果内容确定不再提供,也没有合适的替代頁,让它返回 404 或 410 是直接的表達。搜尋引擎抓到狀態碼後會逐步處理。410 比 404 更明确,但两者差別没有传说中那么大,不必為此大動干戈。
頁面換地址了
用 301 指向新 URL,並在新頁面上保持内容可訪問。不要在舊 URL 上放 noindex 再跳轉,這样容易让信号在传递中被削弱。跳轉鏈條尽量短,一跳到位最好。
頁面暂时不想被搜到,但以後還要用
這種情况适合 noindex。前提是頁面可被抓取、robots.txt 不拦它。等要恢复时,把 noindex 去掉,再让它重新被抓一次。
整站或整目錄暂时下线
维護期間用 503 比用 404 合适,同时說明预計恢复時間。用 404 會让搜尋引擎認為頁面消失,恢复後重新進入索引需要時間。
推荐的處理顺序
- 確認這個 URL 之後還要不要用。要,就 noindex 或 301;不要,就 404 或 410。
- 检查 robots.txt 是否屏蔽了该路径。如果屏蔽了,先放開,让搜尋引擎能抓到頁面。
- 在頁面上輸出正确的 meta robots 或狀態碼。
- 用 URL 检查類工具看一下實际抓取结果,確認返回的是预期狀態。
- 观察一段時間,在索引报告里看该 URL 是否登出。
容易忽略的几点
- 參數頁、分頁、篩選頁批量下线时,先分類型,不要一條規則全站套。誤伤正常頁面的回滚成本很高。
- noindex 是頁面級指令,放在由 JS 渲染出来的内容里有讀不到的風險,放在服務端返回的 HTML head 里更稳。
- 下线之後舊 URL 仍可能被外鏈指向。留着 301 或 404 都是有效回應,不必强行让所有外鏈消失。
- 索引移除需要時間,几天到几周都可能。频繁改動指令反而會让處理變慢。
驗證时看什么
不要只看一次抓取结果就下结论。看三個信号:抓取时返回的狀態碼是否符合预期、頁面 HTML 里是否還有 noindex、索引狀態是否在往预期方向走。如果抓取正常、标簽正确,但索引迟迟不動,通常只是時間問题,不需要反复調整。
把這些工具按各自负责的环节分開使用,下线、迁移、隐藏這三類需求就不容易互相打架。真正需要小心的,是那種既想屏蔽抓取又想让它別收錄的直觉做法,它往往把简單的事拖長。