相信有过网站优化经历的seo从业者对于robots.txt文档并不陌生,那么您真的了解robots吗?您会设置robots吗?下面让株洲网站建设来为您分析一下:
1、什么是robots.txt文件
搜索引擎有自己的搜索习惯,当它对一个网站进行搜索时,哪些目录和文件要看,哪些不用看,它有自己的算法。我们也可以自己建立一个robots.txt文 件,告诉搜索引擎的机器人哪些可以被收录,哪些不需要收录。这样可以节约自己网站的资源,提高被搜索引擎收录的效率。
2、robots.txt放置位置
robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
3、robots相关语法
1)User-agent: 适用下列规则的漫游器(搜索引擎)
该项的值用于描述搜索引擎robot的名字。在robots.txt文件中,如果有多条User-agent记录,就说明有多个robot会受到 robots.txt的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则对任何robot均有效。
● Google爬虫名称: Googlebot
● 百度(Baidu)爬虫名称:Baiduspider
● 雅虎(Yahoo)爬虫名称:Yahoo Slurp
● 有道(Yodao)蜘蛛名称:YodaoBot
● 搜狗(sogou)蜘蛛名称:sogou spider
● MSN的蜘蛛名称(微软最新搜索引擎Bing蜘蛛名也是这个):Msnbot
2)Disallow: 拒绝访问的目录或文件
该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被robot访问。
例如:
Disallow:/seo.html 表示禁止robot访问文件 /seo.html
3)Allow:允许访问的目录或文件
该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。
例如:
Allow:/hibaidu/ 表示允许robot访问目录 /hibaidu/
4)使用通配符"*"和"$":
$ 匹配行结束符。
* 匹配0或多个任意字符。
? 匹配1个任意字符
5)robots.txt文件里还可以直接包括在sitemap文件的链接。
Sitemap:http://www.lemigift.com/sitemaps.xml
4、robots.txt文件用法举例
1)、拦截所有的机器人访问网站
User-agent: *
Disallow: /
2)、允许所有的机器人访问网站
User-agent: *
Allow: /
3)、禁止所有机器人访问特定目录:
User-agent: *
Disallow: /public/
Disallow: /images/
Disallow: /temp/
Disallow: /include/
4)、禁止特定搜索引擎蜘蛛访问特定目录(这里我们以百度蜘蛛为例说明)
User-agent: Baiduspider
Disallow: /test/
上面的robots.txt语法示例的意思是禁止百度蜘蛛爬行根目录下的test目录
5)、仅禁止Baiduspider抓取.jpg格式图片
User-agent: Baiduspider
Disallow: .jpg$
6)、仅允许访问以".htm"为后缀的URL。
User-agent: *
Allow: .htm$
Disallow: /
7)、禁止访问网站中所有的动态页面
User-agent: *
Disallow: /*?*
5、常见robots.txt错误
1)、把多个禁止命令放在一行中:
错误地写法
Disallow: /css/ /cgi-bin/ /images/
正确的写法
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
2)、表示目录时,忘记了斜杠/
错误的写法
User-agent: Baiduspider
Disallow: css
正确的写法
User-agent: Baiduspider
Disallow: /css/
6、robots meta网页标签写法
Robots META标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots META标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。
Robots META标签的写法:
Robots META标签中没有大小写之分,name=”Robots”表示所有的搜索引擎,可以针对某个具体搜索引擎写为name=”BaiduSpider”。 content部分有四个指令选项:index、noindex、follow、nofollow,指令间以“,”分隔。
INDEX 指令告诉搜索机器人抓取该页面;
FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;
Robots Meta标签的缺省值是INDEX和FOLLOW,只有inktomi除外,对于它,缺省值是INDEX,NOFOLLOW。
这样,一共有四种组合:
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
其中
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">可以写成<META NAME="ROBOTS" CONTENT="ALL">;
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">可以写成<META NAME="ROBOTS" CONTENT="NONE">
目前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令“archive”,可以 限制GOOGLE是否保留网页快照。例如:
<META NAME="googlebot" CONTENT="index,follow,noarchive">
表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照