AIEO
技术实现

robots、noindex、canonical:各自控制什么

抓取、索引、规范化和发现是四个问题,不能用一个标签解决全部。

四个概念不要混用

工具主要作用不负责什么
robots.txt管理爬虫是否抓取路径不是保密工具,也不保证 URL 不被索引
noindex要求支持该指令的系统不要索引页面不控制谁能访问页面
canonical表达重复或相似页面的首选版本不是删除、重定向或保密指令
Sitemap提示重要、规范、希望被发现的 URL不保证抓取、索引或排名

抓取、索引、规范化和发现是四个问题,不能用一个标签解决全部。

一、robots.txt:门口的抓取规则

适合:减少不必要抓取、表达机器人路径政策。

不适合:保护敏感数据、强制移除搜索结果、设置规范 URL。

一个被 robots 禁止的 URL 仍可能因外部链接被系统知道;同时,爬虫无法读取页面里的 noindex 或 canonical。

二、noindex:页面级索引决定

HTML 示例:

<meta name="robots" content="noindex, follow">

或 HTTP 响应头:

X-Robots-Tag: noindex

适合登录页、内部搜索结果或不希望进入搜索的公开可访问页面。要让爬虫读取 noindex,页面通常不能先被 robots.txt 拦住。

三、canonical:选择代表版本

<link rel="canonical" href="https://example.com/product">

Google 官方将永久重定向和 rel=canonical 视为较强的规范化信号,Sitemap 包含是较弱信号;多个信号一致更有效。Canonical 指南

典型用途:

  • 跟踪参数产生的相同内容;
  • 打印版与普通版;
  • 多个 URL 展示高度相似页面。

不要把不同语言页全部 canonical 到英文页,否则可能让本地化页面失去独立资格。

四、Sitemap:只列规范、可索引 URL

不要把以下地址放进 Sitemap:

  • noindex 页面;
  • 301/302 地址;
  • 404/410 页面;
  • canonical 指向其他页面的重复 URL;
  • 登录、内部搜索和测试页面。

五、决策示例

业务目标推荐做法
页面必须保密身份认证 / 授权,不依赖 robots
页面公开但不进索引允许抓取 + noindex
两个 URL 内容重复重定向或 canonical,并统一内链与 Sitemap
页面已永久迁移301/308 到新 URL
页面永久删除且无替代404/410,并从 Sitemap 与内链移除

六、常见冲突

  • robots 禁止抓取,同时页面写 noindex;
  • Sitemap 包含 noindex 页面;
  • canonical 指向 404、登录页或不同内容;
  • HTTP 头与 HTML 设置不同 canonical;
  • 中英文页面 canonical 互相错误;
  • 页面已重定向,Sitemap 仍列旧 URL。

本文行动清单

  • 能解释每项工具控制的是抓取、索引、规范化还是发现。
  • 私密内容使用认证与授权。
  • noindex 页面可被目标爬虫读取,并已从 Sitemap 移除。
  • canonical 目标返回 200、可索引且内容相符。
  • Sitemap、内链、重定向和 canonical 信号一致。
  • 多语言页面没有错误合并。

小结

技术信号最怕自相矛盾。正确做法不是增加更多标签,而是让每个 URL 的业务意图只有一个清楚答案。

先决定页面应该存在、被抓、被索引还是被合并,再选择对应工具。

最后更新于

本页目录