网页制作员 · SEO基础 · 抓取与索引

robots.txt、noindex 和 canonical 怎么区分?

网页制作员的 SEO 基础题,不是让你堆关键词,而是让你分清搜索引擎处理页面的几个环节:能不能抓取,能不能索引,哪个 URL 算规范版本。robots.txt、noindex、canonical 分别解决不同问题,混用反而容易出错。

网页制作员专题 软考题库编辑部 持续更新

robots.txt 管抓取,不等于保证不收录

robots.txt 主要是告诉搜索引擎哪些路径不要抓取。它像站点门口的访问规则,告诉爬虫某些目录不建议进入。但这不等于页面一定不会出现在搜索结果里,尤其是这个 URL 已经被外部链接发现时,搜索引擎仍可能知道这个地址。

题干如果强调“禁止爬虫抓取某路径”“减少抓取某目录”“不让搜索引擎访问后台测试目录”,优先想到 robots.txt。可是如果题干明确问“不要被索引、不要出现在搜索结果”,就不能只停在 robots.txt。

工具/标签主要控制对象题干信号
robots.txt抓取禁止爬虫访问目录、控制抓取路径
meta robots noindex索引不要收录、不要出现在搜索结果
canonical规范 URL重复页面、参数 URL、首选版本
301 跳转真实跳转旧地址永久跳到新地址

noindex 管索引,但搜索引擎要能看到它

meta robots noindex 是页面级指令,用来告诉搜索引擎不要把这个页面编入索引。它的关键词是索引和收录,不是抓取。比如一个测试页面不希望出现在搜索结果中,页面 head 里放 noindex 比单纯 robots 禁抓更贴近题意。

但这里有一个很容易忽略的点:搜索引擎要能抓到页面,才有机会读到 noindex。如果你先在 robots.txt 里把页面完全禁抓,又指望爬虫进去读取 noindex,逻辑上就可能冲突。考试题经常考这个坑。

老师式判断

不想让爬虫访问某目录:想 robots.txt。

不想让页面进入搜索结果:想 noindex。

同一内容有多个 URL,想指定首选地址:想 canonical。

canonical 不是删除页面,而是声明规范版本

canonical 标签用于告诉搜索引擎:当前页面对应的规范 URL 是哪一个。它常用于参数页、重复页、多路径访问、同一内容被多个地址打开的情况。它不是让页面消失,也不是禁止抓取,而是帮助搜索引擎集中理解首选版本。

比如同一篇文章可以通过带统计参数的链接访问,也可以通过不带参数的标准地址访问,这时 canonical 通常指向标准地址。题干如果出现“重复 URL”“规范地址”“首选页面”,优先想到 canonical。

题干描述优先方案容易误选
不让爬虫抓取 /tmp/ 目录robots.txtcanonical
页面不希望被搜索结果收录noindex普通文本提示
多个 URL 内容相同,声明首选 URLcanonicaldescription
旧页面永久迁移到新地址301 跳转noindex

考试里先分清抓取、索引、规范化

做网页制作员 SEO 标签题,先不要背标签语法,先判断题干属于哪个环节:抓取、索引,还是规范化。抓取是搜索引擎能不能来拿页面;索引是拿到后要不要进入搜索结果库;规范化是多个相似 URL 里选哪个作为主版本。

这三个动作在真实站点里可以配合使用,但不能乱配。尤其是 robots.txt 和 noindex,一个管入口,一个管索引;canonical 管的是重复内容归并。把这条线理清,title、description、alt、h1 这些标签也会更容易放到正确位置。

相关题目解析

下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。