网站收录

不想被收录的页面:noindex、robots 屏蔽与登录墙该怎么选

有些页面需要在搜索结果里隐身:后台页、测试页、参数页、内部数据页。noindex、robots.txt 的 Disallow 与登录墙分别作用在索引、抓取和访问权限三个层面,用途并不相同。把它们混用,常会出现屏蔽了却仍被收录、或者 noindex 直接失效的情况。

网站收录

不想被收录的页面:noindex、robots 屏蔽与登录墙该怎么选

建站时大部分精力都花在“怎么让页面被收录”上,但实际运营中也会遇到一批需要反着来的页面:它们要能被用户正常访问、要有链接可达,但最好不要进入搜索索引。这类页面处理不好,轻则稀释站点的索引质量,重则让不该曝光的内部信息出现在搜索结果里。

哪些页面通常需要挡住

  • 后台登录、用户中心、订单详情这类带个人数据的页面;
  • 测试页、灰度页、内部使用的报表和监控页;
  • 由参数组合生成的排序页、筛选页、会话页;
  • 纯功能页,比如加入购物车、提交成功、跳转中间页;
  • 还没做完、暂时不想公开的草稿内容。

需要先分清的是,这些页面大多不需要“完全禁止蜘蛛访问”,而是不需要“出现在搜索结果里”。这两个目标对应的手段完全不同,搞混了就会出现“明明屏蔽了却还是被收录”的情况。

三种手段,作用点不一样

noindex:管的是索引

在页面的 head 区域加上 noindex 标签,等于告诉搜索引擎:这个页面你可以抓,但不要放进索引。它生效有两个前提:一是蜘蛛真的抓到了这个页面,二是它读到了这段标签。它不能阻止抓取,只影响收录。

另外要注意,noindex 和 nofollow 是两回事。noindex 说的是本页不收录,nofollow 说的是本页上的链接不跟随。只想去掉索引,就只写 noindex,别顺手加 nofollow,否则页面上的内链会被白白浪费。

robots.txt 的 Disallow:管的是抓取

robots.txt 里的 Disallow 是抓取层面的规则,它告诉蜘蛛“这条路径不要抓”。但它并不等于“不要收录”。如果这条 URL 通过外链、其他站点或者搜索入口被发现,搜索引擎仍可能在没有抓取内容的情况下,仅凭锚文本把地址放进索引。所以单纯用 Disallow 来防收录,结果往往不可靠。

登录墙与密码保护:管的是访问权限

把页面放到登录后才能访问,或者用访问密码保护,搜索引擎拿不到内容,自然也无从索引。这是最彻底的一层,缺点是它对普通用户也有门槛,只适合真正面向内部或付费用户的页面,不适合只是“暂时不想曝光”的内容页。

最容易踩的坑:Disallow 和 noindex 同时用

如果一条 URL 被 robots.txt 屏蔽了,蜘蛛就不会去抓它,也就看不到页面上的 noindex。结果是:你以为加了双保险,实际上让 noindex 直接失效,已经收录的旧页面可能长期留在索引里。

正确的顺序是先去掉 robots.txt 的屏蔽,让蜘蛛能抓到带 noindex 的页面,等它把页面从索引里移除之后,再考虑是否需要加回 Disallow。这个等待过程可能要几周甚至更久,取决于页面的抓取频率和重要程度。

已经被收录了怎么办

  1. 确认页面返回 200 状态,且 noindex 已正确写在 head 中;
  2. 检查是否被 robots.txt 挡住,挡住就先放开;
  3. 通过站长工具的移除或更新请求加快刷新,但不要指望立刻生效;
  4. 如果页面本来就该下线,直接返回 404 或 410 比加 noindex 更干净。

这里有个容易混的点:页面已经不存在,就不要用 noindex,直接 404 或 410。noindex 适用于“页面要继续存在,但不想被搜到”,两者场景不同。

别忘了内部链接

被屏蔽的页面如果还挂在导航、面包屑、页脚里,蜘蛛会反复访问这些链接,也会持续把权重信号传递给这个地址。真正想让它淡出,光加标签还不够,还要把入口链接一并调整——改成不可点击的文本,或者从列表里去掉。

最后提醒一点:屏蔽措施不是“一劳永逸”。新功能上线、模板改版、参数规则变更,都可能让原本挡住的地址重新暴露。定期在搜索引擎里查一下站点的内部页面,看看有没有不该出现的地址被收录,比一次配置完就不再检查要稳妥得多。