Robots文件是否必须的放到网站根目录下吗?有什么作用。

Robots介绍

在讲解Robots之前先给大家介绍一下什么是Robots。借用百度百科的解释Robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说Robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在Robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面!

通俗的用一句话来解释:Robots就是蜘蛛与网站达成的一种协议。

至于Robots有什么用,相信认真看上文的小伙伴还是有一定的收获。合理的Robots还是有以下几方面的好处:

  1. 可以避免蜘蛛爬取收录我们不想展现给别人看的页面。例如网站后台地址,个人隐私日志等。
  2. 可以减轻服务器压力。我们通过Robots协议可以让蜘蛛只抓取一部分页面,避免蜘蛛胡乱抓取一些没用的页面,占用服务器资源。
  3. 正确的Robots协议会提升整站质量,促使快速收录排名,从而提高网站权重。

Robots协议格式应该怎么写?

先来看下本站是如何写的Robots文件的写法:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Disallow: /go/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /*/comment-page-*
Disallow: /*?replytocom=*
Disallow: /category/*/page/
Disallow: /tag/*/page/
Disallow: /*/trackback
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /?s=*
Disallow: /*/?s=*\
Disallow: /attachment/
Sitemap:https://www.dujia520.cn/sitemap.xml

上文中User-agent代表的是搜索引擎蜘蛛的名字,一般常用的是*,代表通配,换句话说就是该协议对所有搜索引擎蜘蛛都有用;Disallow指不允许访问的对象,比如某一个css、js、图片、视频、文件夹等,Disallow: /inc/代表的就是不允许搜索引擎蜘蛛爬行抓取inc文件夹下的所有文件;Allow指允许搜索引擎蜘蛛访问的路径,Allow: /uqseo代表的是带有uqseo的文件或文件夹 ;Sitemap指本站的地图,一般为.xml或.txt格式的地址,值得注意的是这里一定要写绝对地址。

[wm_notice]小提示:每个属性的冒号是用英文冒号,冒号后面一定要空一格。[/wm_notice]

Robots只能放在根目录吗?

Robots文件只能放在网站根目录,关于这一点也是很好理解的,前文提过robots文件就是针对搜索引擎蜘蛛的一种协议(有些蜘蛛不一定会遵守),搜索引擎蜘蛛进入网站都是先从网站根目录,所以Robots协议也只有在根目录的时候才有效,而且需要注意的是Robots文件的命名必须是robots.txt,只能用小写字母。

Robots协议的高级玩法

此玩法需要PHP+伪静态或者PHP+路由来实现。前面讲到robots里面除了禁止和运行之外,还有一个十分重要的就是sitemap地图,有时候我们网站的sitemap地图很多时,如果全部写到Robots里面就会显得十分臃肿,此时我们采用PHP控制输出就能实现每次访问Robots显示不同的地址,具体的就不为大家过多的演示了。