列举robots.txt中常见的误区

前几天写了robots.txt的规则误区并介绍百度和Google的robots工具的使用,介绍了几个robots.txt文件的规则的误区,然后发现其实不止那些,还有很多大家没有注意的误区。

今天重新列举一下常见的robots.txt实际使用中的误区:

误区1.Allow包含的范围超过Disallow,并且位置在Disallow前面。

比如有很多人这样写:

User-agent: *
Allow: /
Disallow: /mulu/

想让所有蜘蛛抓取本站除/mulu/下面的url之外的所有页面,禁止抓取/mulu/下面的所有url。

搜索引擎蜘蛛执行的规则是从上到下,这样会造成第二句命令失效。也就是说禁止抓取/mulu/目录这条规则是无效的。正确的是Disallow应该在Allow之上,这样才会生效。

误区2.Disallow命令和Allow命令之后没有以斜杠”/”开头。

这个也很容易被忽视,比如有人这样写Disallow: 123.html ,这种是没有效果的。斜杠”/”表示的是文件对于根目录的位置,如果不带的话,自然无法判断url是哪个,所以是错误的。

正确的应该是Disallow: /123.html,这样才能屏蔽/123.html这个文件,这条规则才能生效。

误区3.屏蔽的目录后没有带斜杠”/”。

也就是比如想屏蔽抓取/mulu/这个目录,有些人这样写Disallow: /mulu。那么这样是否正确呢?

首先这样写(Disallow: /mulu)确实可以屏蔽/mulu/下面的所有url,不过同时也屏蔽了类似/mulu123.html这种开头为/mulu的所有页面,效果等同于Disallow: /mulu*。

正确的做法是,如果只想屏蔽目录,那么必须在结尾带上斜杠”/”。

暂时先写这几条,以后遇到了其他的随时补充。

“列举robots.txt中常见的误区”的3个回复

评论已关闭。