一个网站的robots文件对于做seo是至关重要的,它可以限制搜索引擎蜘蛛抓取不该收录的目录或者页面,避免资源的浪费,它的规则主要有以下几点:
1) User-Agent键
后面的内容对应的是各个具体的搜索引擎爬行器的名称。如百度是Baiduspider,谷歌是Googlebot。
一般我们这样写:
User-Agent: *
表示允许所有搜索引擎蜘蛛来爬行抓取。如果只想让某一个搜索引擎蜘蛛来爬行,在后面列出名字即可。如果是多个,则重复写。
注意:User-Agent:后面要有一个空格。
在robots.txt中,键后面加:号,后面必有一个空格,和值相区分开。
2)Disallow键
该键用来说明不允许搜索引擎蜘蛛抓取的URL路径。
例如:Disallow: /index.php 禁止网站index.php文件
Allow键
该键说明允许搜索引擎蜘蛛爬行的URL路径
例如:Allow: /index.php 允许网站的index.php
通配符*
代表任意多个字符
例如:Disallow: /*.jpg 网站所有的jpg文件被禁止了。
结束符$
表示以前面字符结束的url。
例如:Disallow: /?$ 网站所有以?结尾的文件被禁止。
应该注意的是:
1,在"/robots.txt"文件中,至少要有一条Disallow记录,允许收录优先级要高于禁止收录,如
User-agent: *
Allow: /a/b.htm
Disallow: /a/
则a目录下b.htm可以访问,其他禁止
2,注意路径后面加斜杠和不加斜杠的区别
如果目录后边带斜杠,那么访问不带斜杠的地址时还是可以访问目录首页,如果想屏蔽掉整个目录,建议不带斜杠
Allow或Disallow的值 | URL | 匹配结果 |
/tmp | /tmp | yes |
/tmp | /tmp.html | yes |
/tmp | /tmp/a.html | yes |
/tmp/ | /tmp | no |
/tmp/ | /tmphoho | no |
/tmp/ | /tmp/a.html | yes |
/Hello* | /Hello.html | yes |
/He*lo | /Hello,lolo | yes |
/Heap*lo | /Hello,lolo | no |
html$ | /tmpa.html | yes |
/a.html$ | /a.html | yes |
htm$ | /a.html | no |
3,robots文件只有放在根目录才有效,放在子目录没效。
4,robots.txt文件用法举例
例1. 禁止所有搜索引擎访问网站的任何部分 | User-agent: * Disallow: / |
例2. 允许所有的robot访问 (或者也可以建一个空文件 “/robots.txt”) |
User-agent: * Disallow: 或者 User-agent: * Allow: / |
例3. 仅禁止Baiduspider访问您的网站 | User-agent: Baiduspider Disallow: / |
例4. 仅允许Baiduspider访问您的网站 | User-agent: Baiduspider Disallow: User-agent: * |
例5. 禁止spider访问特定目录 在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即robot不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 “Disallow: /cgi-bin/ /tmp/”。 |
User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例6. 允许访问特定目录中的部分url | User-agent: * Allow: /cgi-bin/see Allow: /tmp/hi Allow: /~joe/look Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例7. 使用”*”限制访问url 禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。 |
User-agent: * Disallow: /cgi-bin/*.htm |
例8. 使用”$”限制访问url 仅允许访问以”.htm”为后缀的URL。 |
User-agent: * Allow: .htm$ Disallow: / |
例9. 禁止访问网站中所有的动态页面 | User-agent: * Disallow: /*?* |
例10. 禁止Baiduspider抓取网站上所有图片 仅允许抓取网页,禁止抓取任何图片。 |
User-agent: Baiduspider Disallow: .jpg$ Disallow: .jpeg$ Disallow: .gif$ Disallow: .png$ Disallow: .bmp$ |
例11. 仅允许Baiduspider抓取网页和.gif格式图片 允许抓取网页和gif格式图片,不允许抓取其他格式图片 |
User-agent: Baiduspider Allow: .gif$ Disallow: .jpg$ Disallow: .jpeg$ Disallow: .png$ Disallow: .bmp$ |
例12. 仅禁止Baiduspider抓取.jpg格式图片 | User-agent: Baiduspider Disallow: .jpg$ |