有很多站长分不清楚搜索引擎“抓取”、“收录”,这两者之间的关系很难理解清楚,举个例子来说,比如我们设置了robots.txt禁止搜索引擎抓取某页面,但该页面还是出现在了搜索引擎搜索结果中。这到底是怎么回事呢?本文同大家一起深度解析:SEO优化禁止抓取和收录,是同样的机制吗?
就像我们开篇举的例子来说,很多小伙伴都有遇到过这样的问题:在robots.txt禁止搜索引擎抓取某链接,但该链接还是出现在了搜索引擎结果中。为什么会这样?这里我们需要知道:禁止搜索引擎抓取和禁止搜索引擎收录是两个完全不同的机制,不能混为一谈,抓取和收录是两个过程。
robots.txt文件
搜索引擎蜘蛛访问网站时,会首先查看网站根目录下的robotx.txt文件,根据robots.txt指令抓取允许访问的内容。如MAY的SEO博客的robots.txt文件位于:
https://may90.com/robots.txt
当然您的网站可能没有robots.txt文件,则意味着允许搜索引擎抓取网站上的所有内容。在这里,需要我们注意的是:为了避免服务器设置问题,让搜索引擎错误地解读robots文件信息,即使允许搜索引擎抓取网站上所有的内容,也要建一个空的robots.txt文件放在根目录下。
robots.txt相关文章推荐:
《robots协议》
《什么是robots.txt? 如何查看robotx.txt? robots.txt限制如何解除?》
事实上,主流搜索引擎都遵守robots文件指令,被robots.txt禁止收录的文件搜索引擎将不再访问也不抓取。但是为什么被robots.txt文件禁止抓取的URL还是出现在了搜索引擎结果中呢?当有导入链接指向这个URL时,搜索引擎就会知道这个URL的存在,虽然不会抓取页面内容,但可能会将这个URL信息存进索引库中,并有可能显示在搜索引擎结果中。那如何避免这种情况的发生呢?
要想URL完全不出现在搜索引擎结果中,就要使用页面上的noindex meta robots标签来禁止搜索引擎收录(索引)。
noindex meta robots标签时页面head部分meta标签的一种,用于指令搜索引擎禁止收录(索引)本页面内容,因此就不会出现在搜索引擎结果中。其格式为:
<meta name="robots" content="noindex">
上面标签的意义在于禁止搜索引擎索引本页面,禁止跟踪本页面上的链接。Google、Bing、Yahoo等都支持meta robots标签,但2014年末百度官方在站长社区有说过暂不支持noindex指令。
因此,使用了robots.txt能禁止搜索引擎抓取,但不一定禁止了收录(索引);使用了noindex meta robots才能禁止搜索引擎收录(索引),只有允许了搜索引擎抓取,才能让蜘蛛发现noindex meta robots, 才不会让页面出现在搜索引擎结果中。禁止抓取、禁止收录是两个不同的机制, 你弄懂了吗?