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.txt | canonical |
| 页面不希望被搜索结果收录 | noindex | 普通文本提示 |
| 多个 URL 内容相同,声明首选 URL | canonical | description |
| 旧页面永久迁移到新地址 | 301 跳转 | noindex |
考试里先分清抓取、索引、规范化
做网页制作员 SEO 标签题,先不要背标签语法,先判断题干属于哪个环节:抓取、索引,还是规范化。抓取是搜索引擎能不能来拿页面;索引是拿到后要不要进入搜索结果库;规范化是多个相似 URL 里选哪个作为主版本。
这三个动作在真实站点里可以配合使用,但不能乱配。尤其是 robots.txt 和 noindex,一个管入口,一个管索引;canonical 管的是重复内容归并。把这条线理清,title、description、alt、h1 这些标签也会更容易放到正确位置。
相关题目解析
下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。
- robots.txt 和 meta robots 的 noindex 有什么区别?robots.txt / meta robots
- canonical 标签主要用来解决什么 SEO 问题?canonical / SEO