robots.txt文件怎么写的案例分享

robots.txt文件是放在网址根目录的一文本文档,robots.txt可以屏蔽搜索引擎对于某些特定的网址或者全站的抓取。利用robots.txt文件可以屏蔽掉不想让搜索引擎抓取的内容,或者屏蔽掉重复的内容。

那么robots.txt到底怎么写呢?网上有很多教程,这里就用一些实际案例来分享一下robots.txt的写法。

首先我们要知道想屏蔽哪些网址,然后看看这些网址有没有什么规律,最后将这些网址写入robots.txt文件。只写robots.txt规则的话,看起来不直观,下面用实际的案例来说明,什么情况下怎么写robots.txt。

第一个,屏蔽某个目录,比如想屏蔽的文件都是在/mulu/目录下面,也就是网址是类似这种形式:/mulu/123.html  /mulu/hhh.html ……

那么可以这样写:
User-agent: *
Disallow: /mulu/

这样搜索因为不会抓取在/mulu/这个文件夹下所有的网址。User-agent: * 指的是下面的语句针对所有搜索引擎,Disallow: /mulu/ 是禁止抓取的意思。注意:在User-agent:和Disallow:这些命令后面要加空格。

第二个,屏蔽某种特定URL,比如我想屏蔽的网址是:/wangzhi123.html /wangzhi456.html ……,从里面找出的规律就是,网址中都包含/wangzhi,那么写法就不能跟屏蔽目录一样了。

可以这样写:
User-agent: *
Disallow: /wangzhi*

也就是搜索引擎支持通配符,用*号可以替代省略的字符。除了可以用Disallow: /wangzhi*,还可以用Disallow: /wangzhi*.html,这样更准确一些。

第三个,屏蔽所有特定结尾的URL,比如想屏蔽所有以html结尾的网址,那么有两种写法。

使用*做通配符:Disallow: /*html
使用$做行结尾:Disallow: html$

这两个是一样的意思,看喜欢用哪种了。

第四个,屏蔽某个目录,但是允许特定结尾的网址抓取。比如想屏蔽/mulu/这个目录下面除了html之外的所有URL。

那么这么写:
User-agent: *
Allow: /mulu/*.html
Disallow: /mulu/

Allow:是允许的意思,搜索引擎在执行robots.txt文件的时候,是从上到下执行的,所以这种写法可以允许抓取/mulu/下.html文件的同时,禁止访问目录下其他文件。

第五个,屏蔽某特定搜索引擎的抓取,可以在User-agent:后面带上搜索引擎的蜘蛛代码,比如百度的是Baiduspider,User-agent: Baiduspider那么下面的规则对于百度有效果。蜘蛛的代码可以从网上搜一下,也可以看一下自己的网站日志,看看有哪些蜘蛛抓取。

比如禁止百度抓取,允许Google抓取,那么这样写:
User-agent: Baiduspider
Disallow: /
User-agent: Googlebot
Allow: /

上面列举了集中常见的情况,如果遇到了其他更复杂的情况,欢迎进入论坛跟我交流。http://liboseo.com/bbs/thread-51-1-1.html

“robots.txt文件怎么写的案例分享”的5个回复

  1. 这个我前几天做站时还在找的,学习了,谢谢博主,小弟最近刚学做站,费了不少劲啊,多亏了你们这些,爱分享干货的前辈们的文章啊,呵呵

  2. 我的网站有个死链“/target=”,请问我该如何在robots.txt里屏蔽它?如何写?谢谢指教。

评论已关闭。