robots文件介绍!作用及写法详细讲解。
<div class="entry-excerpt entry-summary"><p>
在接手一个网站时,无论做什么诊断分析,都少不了检查robots文件,为什么有的网站天天发文章却未见收录,很有可能是因为被robots文件里的规则屏蔽了。那么什么是robots文件,它有什么作用?本篇文章为你详细解答并教你如何写robots文件。
</p>
</div>
<div class="entry-content clearfix">
<div id="attachment_77048" class="wp-caption aligncenter">
<img class="aligncenter size-full wp-image-77048" title="robots文件介绍!作用及写法详细讲解。" alt="robots文件介绍!作用及写法详细讲解。" width="600" height="371" src="https://www.teamczyx.com/article/1605620567.jpg" />
<p id="caption-attachment-77048" class="wp-caption-text">
robots文件介绍!作用及写法详细讲解。
</p>
</div>
图1 robots文件
<h3>
一、robots文件简介
</h3>
<p>
简单来说就是一个以robots命名的txt格式的文本文件,是网站跟爬虫间的协议(你可以理解为搜索引擎蜘蛛抓取的规则),当搜索引擎发现一个新的站点时,首先会检查该站点是否存在robots文件,如果存在,搜索引擎则会跟据robots文件规定的规则来确定可以访问该站点的范围。
</p>
<h3>
二、robots文件的作用
</h3>
<p>
1.禁止搜索引擎收录网站,以保障网站的安全。比如一些网站是客户管理系统,只需要公司员工登录即可,属于并不想公开的私密信息,为了防止信息泄露就可以使用robots文件进行屏蔽抓取。
</p>
<p>
2.网站内的部分目录或内容如果不希望搜索引擎抓取,如WordPress的后台文件 wp-admin,管理仪表盘或其他页面,这些对搜索引擎无用的页面就可以借助robots文件来告诉搜索引擎不要抓取此目录下的内容,这样就可以让有限带宽的蜘蛛深入抓取更多需要被抓取收录的页面。
</p>
<p>
3.屏蔽一些动态链接,统一网站链接类型,集中权重。
</p>
<h3>
三、robots文件写法
</h3>
<p>
1、首先先来了解下robots文件里的内容由那几部分构成:
</p>
<p>
robots文件由User-agent和规定搜索引擎允许或禁止抓取的范围(Allow或Disallow)组成,在robots文件中还可以包括在sitemap文件的链接。举一个例子:
</p>
<pre class="wp-block-preformatted prettyprint"><span class="typ">User</span><span class="pun">-</span><span class="pln">agent</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Baiduspider</span><span class="pln"> </span><span class="typ">Allow</span><span class="pun">:</span><span class="pln"> </span><span class="str">/wp-content/</span><span class="pln">uploads</span><span class="pun">/</span><span class="pln"> </span><span class="typ">Disallow</span><span class="pun">:</span><span class="pln"> </span><span class="str">/w?
Sitemap:http:/</span><span class="pln">www</span><span class="pun">.</span><span class="pln">seobti</span><span class="pun">.</span><span class="pln">com</span><span class="pun">/</span><span class="pln">sitemap</span><span class="pun">.</span><span class="pln">xml</span></pre>
<p>
该例子中就包含有User-agent、Allow、Disallow 、Sitemap等。下面具体来解释下各自代表的意思。
</p>
<p>
<strong>User-agent:</strong> 该项的值用于描述搜索引擎robot的名字。在robots.txt文件中,至少要有一条User-agent记录。如果该项的值设为*(即:“User-agent:*”),则对任何robot均有效。另外如果只针对百度搜索引擎,则该项的值为:Baiduspider(即:“User-agent:Baiduspider”)。
</p>
<p>
<strong>Disallow:</strong> 该项的值用于描述不希望被访问的一组URL,这个值可以是一条完整的路径,也可以是路径的非空前缀,以Disallow项的值开头的URL不会被 robot访问。
</p>
<p>
举例说明:
</p>
<ul>
<li>
“Disallow: /help ” 禁止robot访问/help.html、/helpabc.html、/help/index.html,而 “ Disallow:/help/”则允许robot访问/help.html、/helpabc.html,不能访问/help/index.html。
</li>
<li>
“Disallow: /”说明不允许搜索引擎robot访问该网站的所有url链接,需要注意的是robots.txt文件中,至少要有一条Disallow记录。
</li>
</ul>
<p>
<strong>Allow:</strong> 该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL 是允许robot访问的。
</p>
<p>
举例说明:
</p>
<ul>
<li>
“Allow:/hibaidu”允许robot访问/hibaidu.htm、/hibaiducom.html以及hibaidu这个目录内的所有内容,比如/hibaidu/com.html。
</li>
<li>
一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。如:“Disallow: /uploads/ Allow: /uploads/allimg/”只允许抓取/uploads/目录下的allimg文件。
</li>
</ul>
<p>
以上是sitemap组成常见的部分,为了让robots写法更准确,我们还可以使用借助“*”and “$”来更精确的制定搜索引擎抓取规则。
</p>
<p>
<strong> “ *”and “ $”</strong>:robots文件中可以使用通配符“*”和“$”来模糊匹配url。“*” 匹配0或多个任意字符, “$” 匹配行结束符。
</p>
<p>
举例说明:
</p>
<ul>
<li>
“Allow:/hibaidu可以写成Allow:/hibaidu*”,而Allow:/hibaidu$规定允许抓取的范围只限hibaidu这个目录及目录内的内容。其写法作用效果等同于Allow:/hibaidu/。
</li>
<li>
Disallow: /*.asp$和Disallow: /*.asp两种写法,看似相似却规定的范围却大不相同。其中“Disallow: /*.asp$”指仅拦截以.asp结尾的网址,而“Disallow: /*.asp”则了拦截所有包含.asp的网址(可能有的.asp后还有一些参数),包括以.asp结尾的网址,也就是Disallow: /*.asp规定的范围包含了Disallow: /*.asp$的规定范围。
</li>
</ul>
<p>
2、格式
</p>
<p>
在robots文件中,一个“User-agent”代表一条记录,且这样的记录可以包含一条或多条记录。如:
</p>
<p>
一条记录
</p>
<pre class="wp-block-preformatted prettyprint"><span class="typ">User</span><span class="pun">-</span><span class="pln">agent</span><span class="pun">:*</span><span class="pln"> </span><span class="typ">Disallow</span><span class="pun">:</span><span class="str">/template/</span><span class="pln"> </span><span class="com">#该协议只有一条记录,该协议对所有搜索引擎有效</span></pre>
<p>
多条记录
</p>
<pre class="wp-block-preformatted prettyprint"><span class="typ">User</span><span class="pun">-</span><span class="pln">agent</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Baiduspider</span><span class="pln"> </span><span class="typ">Disallow</span><span class="pun">:</span><span class="pln"> </span><span class="str">/w?
Disallow: /</span><span class="pln">client</span><span class="pun">/</span><span class="pln"> </span><span class="typ">User</span><span class="pun">-</span><span class="pln">agent</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Googlebot</span><span class="pln"> </span><span class="typ">Disallow</span><span class="pun">:</span><span class="pln"> </span><span class="str">/update
Disallow: /</span><span class="pln">history </span><span class="typ">User</span><span class="pun">-</span><span class="pln">agent</span><span class="pun">:</span><span class="pln"> bingbot </span><span class="typ">Disallow</span><span class="pun">:</span><span class="pln"> </span><span class="pun">/</span><span class="pln">usercard </span><span class="com">#多条记录,针对不同的搜索引擎使用不同的协议</span></pre>
<p>
解读:“User-agent:*”中的“*”是通配符的意思, 也就是说该记录下的协议适用任何搜索引擎,而“User-agent:Baiduspider”中的“Baiduspider”是百度搜索引擎的爬取程序名称,也就是该协议只针对百度搜索引擎。
</p>
<p>
一般来说,优化的对象如果只针对国内的用户,那么就可以使用多条记录的方式来限制国外搜索引擎的抓取,以此可以节省服务器部分资源,减小服务器压力。
</p>
<p>
另外需要注意的是:<span class="has-text-color has-pale-pink-color">robots.txt文件中只能有一条 “User-agent:*”这样的记录。</span>
</p>
<p>
3、语法说明
</p>
<p>
这里主要列举几个最常见的情况,如下图图2所示:
</p>
<div id="attachment_77049" class="wp-caption aligncenter">
<img class="aligncenter size-full wp-image-77049" title="robots文件介绍!作用及写法详细讲解。" alt="robots文件介绍!作用及写法详细讲解。" width="629" height="443" src="https://www.teamczyx.com/article/1605620567-1.jpg" />
<p id="caption-attachment-77049" class="wp-caption-text">
robots文件介绍!作用及写法详细讲解。
</p>
</div>
图2 robots语法示例
<p>
4、robots的其他用法
</p>
<p>
除了使用robots.txt来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取外,robots还有另外一些写法——Robots meta 标签。
</p>
<p>
Robots.txt文件主要是限制整个站点或者目录的搜索引擎访问情况,而Robots Meta标签则主要是针对一个个具体的页面。和其他的META标签(如使用的语言、页面的描述、关键词等)一样,Robots Meta标签也是放在页面中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。
</p>
<p>
Robots Meta标签中没有大小写之分,name=“Robots”表示所有的搜索引擎,可以针对某个具体搜索引擎写为name=“BaiduSpider”。
</p>
<p>
content部分有四个指令选项:index、noindex、follow、nofollow,指令间以“,”分隔。
</p>
<ul>
<li>
index指令告诉搜索机器人抓取该页面;
</li>
<li>
follow指令表示搜索机器人可以沿着该页面上的链接继续抓取下去;
</li>
<li>
noindex命令:告诉搜索引擎不允许抓取这个页面
</li>
<li>
nofollow命令:告诉搜索引擎不允许从此页找到链接、拒绝其继续访问。
</li>
</ul>
<p>
具体写法有以下四种:
</p>
<pre class="wp-block-preformatted prettyprint"><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"robots"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"index,follow"</span></span><span class="p"><span class="tag">></span></span><span class="c"><span class="com"><!--可以抓取并索引本页,同时还可以顺着本页的链接继续抓取下去--></span></span><span class="pln"> </span><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"robots"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"noindex,follow"</span></span><span class="p"><span class="tag">></span></span><span class="c"><span class="com"><!--不能索引本页但可以顺着本页的链接继续抓取下去--></span></span><span class="pln"> </span><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"robots"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"index,nofollow"</span></span><span class="p"><span class="tag">></span></span><span class="c"><span class="com"><!--可以索引本页但不允许抓取本页的链接--></span></span><span class="pln"> </span><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"robots"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"noindex,nofollow"</span></span><span class="p"><span class="tag">></span></span><span class="c"><span class="com"><!--既不能索引本页同时也不可以抓取本页的链接--></span></span> </pre>
<p>
其中:
</p>
<pre class="wp-block-preformatted prettyprint"><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"robots"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"index,follow"</span></span><span class="p"><span class="tag">></span></span></pre>
<p>
可以写成
</p>
<pre class="wp-block-preformatted prettyprint"><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"robots"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"all"</span></span><span class="p"><span class="tag">></span></span></pre>
<p>
而
</p>
<pre class="wp-block-preformatted prettyprint"><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"robots"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"noindex,nofollow"</span></span><span class="p"><span class="tag">></span></span></pre>
<p>
可以写成
</p>
<pre class="wp-block-preformatted prettyprint"><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"robots"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"none"</span></span><span class="p"><span class="tag">></span></span></pre>
<p>
另外著名搜索引擎GOOGLE还增加了一个指令“archive”,可以限制GOOGLE是否保留网页快照。例如:
</p>
<pre class="wp-block-preformatted prettyprint"><span class="p"><span class="tag"><</span></span><span class="nt"><span class="tag">meta</span></span><span class="pln"> </span><span class="na"><span class="atn">name</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"googlebot"</span></span><span class="pln"> </span><span class="na"><span class="atn">content</span></span><span class="o"><span class="pun">=</span></span><span class="s"><span class="atv">"index,follow,noarchive"</span></span><span class="p"><span class="tag">></span></span></pre>
<p>
需要注意的是并不是所有的搜索引擎都支持Robots meta标签写法。
</p>
<h3>
四、使用robots文件需要注意的一些事项
</h3>
<p>
1、robots文件应放在网站根目录,链接地址为:www.xxx.com/robots.txt
</p>
<p>
2、鉴于不希望搜索引擎收录网站的隐私文件,可以使用robots文件来禁止抓取,但这样却正好可以被黑客所利用, 所以robots文件并不能保证网站的隐私,因此在robots规则时,可以使用“*”来模糊匹配。 如:Disallow:/my*
</p>
<p>
3、“Disallow: /help”与“Disallow: /help/”规定的抓取范围有所不同,“/help”包含“/help.html、/help*.html、/help/index.html”等页面,而“/help/”不包含“/help.html、/help*.html”等页面。
</p>
</div>
页:
[1]