robots.txt、noindex 和 canonical,这三个东西看着都跟收录有关,但作用完全不一样。很多站长把它们混着用,结果该收录的没收录,不该收录的反而堆了一堆。搞清楚各自的分工,是做好索引管理的基础。
robots.txt 控制的是蜘蛛能不能抓取,它是个门卫,拦在抓取这一层。你在这个文件里写 Disallow,蜘蛛就不会去爬对应的路径。
但要注意,robots 拦的是抓取,不是收录。如果一个页面本来已经被收录了,后来才在 robots 里屏蔽,搜索引擎可能还会在索引里保留它,只是不再更新。所以想下架内容,光靠 robots 是不够的。
noindex 是直接告诉搜索引擎"这个页面不要进索引",它作用在收录这一层,比 robots 更彻底。不管页面被没被爬,只要看到 noindex,搜索引擎就不会收录它。
如果某个页面已经被收录了,加上 noindex 之后,搜索引擎会在下次抓取时把它从索引里移除。所以想让页面彻底不收录,noindex 才是正确的工具,而不是 robots。
canonical 解决的是重复内容问题。当多个 URL 内容相同或高度相似时,你用 canonical 指定一个"标准版本",搜索引擎就会把权重集中到这个版本上,其他版本不参与排名。
它不阻止抓取,也不强制不收录,只是声明归属。搜索引擎会参考你的 canonical,但保留最终的判断权。这个工具主要用来规范重复页面,而不是下架页面。
实际工作中,这三个工具经常一起用,各司其职,形成组合拳。robots 用来挡掉大批量没价值的路径,noindex 用来精确剔除不该收录的页面,canonical 用来统一重复内容的归属。
比如一个电商站:用 robots 挡住购物车、登录页这些功能性页面,用 noindex 处理筛选结果页,用 canonical 统一商品的多参数 URL。这样索引库里留下的,都是真正有价值的页面。
最容易犯的错,就是该用 noindex 的地方用了 robots。结果是页面抓取被停了,但索引里的旧记录还在,用户搜到点进去还是个有效页面,反而尴尬。
还有的人滥用 canonical,把本来应该独立收录的页面都指到一个页面上,导致大量内容被搜索引擎忽略。工具用错了,比不用还糟糕。
这些配置不是写完就完事,要定期复查。robots 有没有误伤、noindex 有没有写错位置、canonical 指向的 URL 还对不对,都得时不时看一眼。
我建议把这三个配置纳入日常的 SEO 检查清单。因为它们的作用是持续性的,一旦配置出错,影响的是整站一大批页面,损失往往比想象中大。
如果记不住太多细节,就记住一句最核心的话:robots 拦爬取,noindex 挡收录,canonical 定归属。爬取、收录、归属,是三个不同的动作,对应三个不同的工具。
很多混乱,都源于把这句边界搞混了。想挡蜘蛛爬,用 robots;想不收录,用 noindex;想合并重复,用 canonical。各回各的位置,配置就不容易出错。下次再纠结该用哪个,先问自己:我是要拦爬、要挡收,还是要归权?答案自然就清楚了。
来源:闫宝龙,GEO优化专家、企业AI搜索增长顾问,专注帮助企业通过GEO优化和AI搜索优化获得精准客户。主营服务:GEO优化|AI搜索优化|SEO增长|企业官网优化|AI内容营销|海外数字营销