robots.txt的详细写法,其他的博文里有详细的介绍过程,故在此不多叙述,而本篇文章仅对robots协议中,Disallow和Allow后带斜杠/和不带的区别进行讨论,这正是学习robots协议写法中最容易产生混淆的地方。
1、 User-Agent
User-Agent是指定搜索引擎种类的,且User-Agent:后面要有一个空格。
如果只想指定百度搜索引擎,就这样写
User-Agent: Baiduspider
如果既想指定百度,又想指定谷歌,就像这样写
User-Agent: Baiduspider User-Agent: Googlebot
如果还要指定其他搜索引擎,直接再添加一条User-Agent记录,但想指定多个则继续添加多个User-Agent记录,可这样重复添加显得很繁琐,遇见这种情况,我们只需要用星号*代替,就可以表示指定所有搜索引擎,这样我们就只需要写一条记录即可,写法如下:
User-Agent: *
2、Disallow
Disallow用来说明不允许搜索引擎蜘蛛抓取的URL路径。
例如:Disallow: /index.php 禁止搜索引擎抓取index.php文件
3、Allow
Allow用来说明允许搜索引擎蜘蛛爬行的URL路径
例如:Allow: /index.php 允许搜索引擎抓取index.php文件
4、通配符*
用星号*来做通配符,表示0个或任意多个字符!
例如:Disallow: /*.jpg 网站所有的jpg文件被禁止抓取。
5、结束符$
用美元符号$来做结束符,表示以它前面的字符为结束的url。
例如:
Disallow: /?$ 禁止抓取所有以问号?结尾的文件;
Allow: .html$ 允许抓取所有以.html为后缀的文件。
注意事项:
一、在“/robots.txt”文件中,至少要有一条Disallow记录,允许收录优先级要高于禁止收录.
例如,我们希望所有搜索引擎只抓取a目录下的b.html这个页面,但在a目录下除b.html以外的所有文件和页面都被禁止抓取,写法如下:
User-agent: * Allow: /a/b.htm Disallow: /a/
以上协议规则表示所有搜索引擎可以抓取a目录下b.htm,该a目录下其他文件都被禁止
二、重点:robots.txt文件屏蔽目录带不带/斜杠的区别 :
首先,我们来看下面两条记,一个带斜杠/,而另一个不带斜杠:
Disallow: /admin Disallow: /admin/
根据robots协议写法规范,区别如下:
1、不带/斜杠的Disallow: /admin表示屏蔽admin这个名字开头的所有目录。如:/admin1、/admin2、/admina或者/admin/以下的所有目录都是被屏蔽的。
2、带/斜杠的Disallow: /admin/表示屏蔽/admin/这个目录下的所以内容。如:/admin/abc、/admin/gsd/或者是/admin/4gy6/1df等,/admin/以下的目录都是被屏蔽的。但是它并不屏蔽本目录的内容,如:/admin还是允许抓取的
精彩评论