页面要下线、要合并、要暂时隐藏时,最容易出问题的不是该不该做,而是顺序做错了。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、索引状态是否在往预期方向走。如果抓取正常、标签正确,但索引迟迟不动,通常只是时间问题,不需要反复调整。
把这些工具按各自负责的环节分开使用,下线、迁移、隐藏这三类需求就不容易互相打架。真正需要小心的,是那种既想屏蔽抓取又想让它别收录的直觉做法,它往往把简单的事拖长。