robot.txt的写法、注意事项和seo

作为一个小站的站长,与研究百度、谷歌等搜索引擎是比不可少的。而robot.txt则是与搜索引擎打交道的其中一部分,熟悉robot.txt的写法,对于小站长来说十分有必要。在这里,怡然博客结合自己的建站时遇到的问题,做个抛砖引玉,希望大家在这里进行探讨。

 

首先,我们先谈些小知识。

1、并不是所有的网站都要建立robot.txt文件。只有当网站存在不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。当robot.txt不存在的时候,搜索引擎蜘蛛就会直接爬链接。

2、robot.txt文件只能放在网站的根目录下,放在其他地方不能被发现。

3、每个站点只能够有一个robot.txt。注:二级域名被搜索引擎视为一个新的站点。

4、文件名“robots.txt”为小写字母,其他如Robots.txt或robots.Txt等都是不正确的写法,命名错误将会被搜索引擎的蜘蛛忽略。

 

其次,robot.txt的书写语法。

Robot.txt文件的书写语法比较比简单,主要包括了User-Agent、Disallow、Allow这三个命令,其中有部分的搜索引擎不止Allow,但谷歌、百度等都支持,可以放心使用。

1、User-agent:

其后面接的是具体的搜索引擎的蜘蛛的名字。如果其值设置为“*”,则表示对任何蜘蛛都有效。在"robots.txt"文件中,可以有多条User-agent记录,但“User-agent:*”这样的记录只能有一条。如果在"robots.txt"文件中,加入"User-agent: SomeSpider "和若干Disallow、Allow行,那么名为"SomeSpider"只受到"User-agent: SomeSpider "后面的Disallow和Allow行的限制。

2、Disallow:

不希望被访问的URL或者文件夹,可以是完整的路径,也可以是路径的非空前。robots.txt文件中,至少要有一条Disallow记录。Disallow的内容对大小写敏感,书写时要注意大小写。

3、Allow:

可以被访问的一组URL,与Disallow项相似,这个值可以是完整的路径,也可以是路径的前缀,Allow同样对大小写敏感。

4、(1)需要特别注意的是Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。(2)部分蜘蛛支持使用通配符"*"和"$"来模糊匹配url。其中"*" 匹配0或多个任意字符,"$" 匹配行结束符。

 

再次,robot.txt的具体写法举例。

1、禁止所有搜索引擎访问网站的任何部分

User-agent: *

Disallow: /

2、允许所有的搜索引擎访问

User-agent: *

Disallow:

或者

User-agent: *

Allow: /

或者直接建一个空的robot.txt文件。

3.、仅禁止某种蜘蛛访问,例如谷歌

User-agent: Googlebot

Disallow: /

4、仅允许某种蜘蛛访问,例如谷歌

User-agent: Googlebot

Disallow:

User-agent: *

Disallow: /

5、禁止搜索引擎访问网站的特定目录

User-agent: *

Disallow: /mulu1/

Disallow: /mulu2/

Disallow: /mulu3/

注意:这几个目录必须要分开来写,不能写成Disallow: /mulu1//mulu2//mulu3/

6、禁止某个搜索引擎访问某个目录,但允许其他搜索引擎访问。

User-agent: Googlebot

Disallow: /mulu/

User-agent: *

Disallow: /mulu1/

上例中表示仅禁止谷歌访问mulu这个目录,同时禁止所有搜索引擎访问/mulu1/这个目录。

6、允许访问特定目录中的部分url

User-agent: *

Allow: / mulu1/a

Allow: / mulu2/b

Allow: / mulu3/c

Disallow: /mulu1/

Disallow: /mulu2/

Disallow: /mulu3/

7、使用"*"限制访问url

(1)禁止访问/mulu1/目录下的所有以".htm"为后缀的URL(包含子目录)。

User-agent: *

Disallow: /mulu1/*.htm

(2)禁止访问"mulu1"开头的子目录

User-agent: *

Disallow: /mulu1*/

8、使用"$"限制访问url

(1)仅允许访问以".htm"为后缀的URL。

User-agent: *

Allow: .htm$

Disallow: /

(2)禁止访问以.asp 结尾的网址:

User-Agent: *

Disallow:/*.asp$

9、禁止访问网站中所有的动态页面,即禁止访问包含问号(?)的网址

User-agent: *

Disallow: /*?*

10、禁止搜索引擎抓取网站上所有图片

User-agent: *

Disallow: /*.jpg$

Disallow: /*.jpeg$

Disallow: /*.gif$

Disallow: /*.png$

Disallow: /*.bmp$

上述写法表示,仅允许抓取网页,禁止抓取任何图片。

11、仅允许搜索引擎抓取网页和某种格式的图片,如.gif格式图片

User-agent: *

Allow: /*.gif$

Disallow: /*.jpg$

Disallow: /*.jpeg$

Disallow: /*.png$

Disallow: /*.bmp$

最后,谈谈针对博客seo robot.txt的一些写法。

由于怡然博客这个科技博客是使用wordpress建立的,这里谈的仅仅是关于wp。

1、    禁止访问所有以wp-开头的文件夹,但/wp-content/uploads/除外。

User-agent: *

Allow: /wp-content/uploads/

Disallow: / wp-*/

2、禁止访问所有的feed,feed中的内容都是重复了正文的。爬feed爬多了,网页的内容就会爬少了。

User-agent: *

Disallow: /feed

Disallow: /comments/feed

Disallow: /*/*/*/feed

后面不加“/”表示不仅仅禁止抓取feed目录,还包括了所有的feed的网页,如feed.htm等。

3、禁止抓取不存在的网页。如果你的域名之前曾经建过站,那么一般都会存在一些你网站不存在的网址。这里建议在建站之前像搜索引擎提交删除此域名下的所有索引。(谷歌可用,百度尚不清楚)。当你建站后,就不建议用这招了。建议直接用robot禁止访问。

4、补充一下遗留的。

User-agent: *

sitemap: http://www.domain.com/sitemap.xml

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

(Spamcheck Enabled)