近段时间,有人问笔者——为什么我每天坚持更新内容,却不被百度收录呢?
我的第一反应是是不是因为采集内容等违规操作导致网站被K了。
后来仔细排查了一下,才发现原来是该网站的robots文件书写错误导致的。
事情是这样的,该网站的很多页面URL都是动态的URL,因此也不知出于什么原因,设置了Disallow,从而导致网站上很多的资讯页和内容页都不被抓取。
重新生成robots文件提交之后就恢复正常了。
说到这里,肯定有很多人会问,那么robots文件应该怎么写才是规范的呢?
愚人今天就来跟大家说说,SEO中robots文件的书写规范。
Robots.txt 是存放在站点根目录下的一个纯文本文件。虽然它的设置很简单,但是作用却很强大。它可以指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或全部内容。
使用方法:
Robots.txt 文件应该放在网站根目录下,并且该文件是可以通过互联网进行访问的。
例如:如果您的网站地址是 http://www.biomart.cn/那么,该文件必须能够通过 http://www.biomart.cn/robots.txt 打开并看到里面的内容。
格式:
User-agent:
用于描述搜索引擎蜘蛛的名字,在" Robots.txt "文件中,如果有多条User-agent记录说明有多个搜索引擎蜘蛛会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何搜索引擎蜘蛛均有效,在" Robots.txt "文件中,"User-agent:*"这样的记录只能有一条。
Disallow:
用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被Robot访问到。
举例:
例一:"Disallow:/help"是指/help.html 和/help/index.html都不允许搜索引擎蜘蛛抓取。
例二:"Disallow:/help/"是指允许搜索引擎蜘蛛抓取/help.html,而不能抓取/help/index.html。
例三:Disallow记录为空说明该网站的所有页面都允许被搜索引擎抓取,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"是一个空文件,则对于所有的搜索引擎蜘蛛,该网站都是开放的可以被抓取的。
#:Robots.txt 协议中的注释符。
综合例子 :
例一:通过"/robots.txt"禁止所有搜索引擎蜘蛛抓取"/bin/cgi/"目录,以及 "/tmp/"目录和 /foo.html 文件,设置方法如下:
User-agent: *
Disallow: /bin/cgi/
Disallow: /tmp/
Disallow: /foo.html
例二:通过"/robots.txt"只允许某个搜索引擎抓取,而禁止其他的搜索引擎抓取。如:只允许名为"slurp"的搜索引擎蜘蛛抓取,而拒绝其他的搜索引擎蜘蛛抓取 "/cgi/" 目录下的内容,设置方法如下:
User-agent: *
Disallow: /cgi/
User-agent: slurp
Disallow:
例三:禁止任何搜索引擎抓取我的网站,设置方法如下:
User-agent: *
Disallow: /
例四:只禁止某个搜索引擎抓取我的网站如:只禁止名为“slurp”的搜索引擎蜘蛛抓取,设置方法如下:
User-agent: slurp
Disallow: /
如果觉得麻烦,小编推荐站长平台的robots文件生成工具: http://tool.chinaz.com/robots/