robots文件只能放在网站根目录吗?
要使得网站能被百度收录特定页面,robots文件发挥着重要作用,甚至一定层面上影响着网站优化和SEO策略。那么robots文件是不是一定要放在网站的根目录下面呢?
【Robots文件的作用】
一般搜索引擎蜘蛛会优先访问网站内部的robots文件,根据文件内设置的规则不再去抓取那些你像要屏蔽的网页网址。
1、保护我们网站的隐私内容,避免蜘蛛爬取收录我们不想展现给别人看的页面,表面透露隐私内容。例如:网站管理后台、用户数据、管理员信息等。
2、我们可以利用好robots文件来做好网站的SEO优化工作,比如清理网站死链的时候可以把死链接写进robots文件,再或者可以将网站地图写进robots方便爬虫一次性抓取网站内容等等。
3、可以减轻服务器压力。我们通过Robots协议可以让蜘蛛只抓取一部分页面,避免蜘蛛胡乱抓取一些没用的页面,占用服务器资源。
4、正确的Robots协议会提升整站质量,促使快速收录排名,从而提高网站权重。
配图:robots文件只能放在网站根目录吗?
Robots文件知多少
robots其实我们可以理解为是网站和搜索引擎爬虫之间的协议,用txt格式文本告知对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。比如当百度搜索引擎蜘蛛访问某站点时,蜘蛛会首先检查该站点根目录下是否存在robots.txt,如果存在,蜘蛛搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛其实都能够访问网站上所有没有被口令保护的页面。
Robots文件格式:
User-agent:
User-agent的值用于描述搜索引擎robot的名字,在"robots.txt"文件中,如果有多条User-agent记录说明有多个robot会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为,则该协议对任何机器人均有效,在"robots.txt"文件中,"User-agent:"这样的记录只能有一条。
Disallow:
Disallow的值用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被robot访问到。例如"Disallow:/help"对/help.html 和/help/index.html都不允许搜索引擎访问,而"Disallow:/help/"则允许robot访问/help.html,而不能访问/help/index.html。任何一条Disallow记录为空,说明该网站的所有部分都允许被访问,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"是一个空文件,则对于所有的搜索引擎robot,该网站都是开放的。
Allow:
该项的值用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。例如"Allow:/hibaidu"允许robots访问/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
需要特别注意的是Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。
"*"和"$":
robots支持使用通配符"*"和"$"来模糊匹配url:
"$" 匹配行结束符。
"*" 匹配0或多个任意字符。
细节注意点:在书写robots时候,应用英文状态下的冒号,并且冒号后面必须有一个英文状态下的空格。
常见robots写法
禁止蜘蛛抓取网站所有内容
User-agent: *
Disallow: /
允许蜘蛛抓取网站所有内容
User-agent: *
Disallow:
禁止抓取动态URL:
User-agent: *
Disallow: ?
禁止抓取js文件
User-agent: *
Disallow: *.js$
添加网站地图:
User-agent: *
Sitemap: https://www.letus.top/sitemap.xml
注:
1、百度并不会严格遵守robots协议
2、搜索引擎中需要在后台进行验证robots文件
【实例说明】
以Wordpress网站的robots文件为例
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /*/comment-page-*
Disallow: /category/*/page/
Disallow: /tag/*/page/
Disallow: /*/trackback
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /?s=*
Disallow: /*/?s=*\
Disallow: /attachment/
Sitemap:
User-agent代表的是搜索引擎蜘蛛的名字,一般常用的是*,代表通配,换句话说就是该协议对所有搜索引擎蜘蛛都有用;
Disallow指不允许访问的对象,比如某一个css、js、图片、视频、文件夹等,Disallow: /inc/代表的就是不允许搜索引擎蜘蛛爬行抓取inc文件夹下的所有文件;
Allow指允许搜索引擎蜘蛛访问的路径,Allow: /uqseo代表的是带有uqseo的文件或文件夹 ;
Sitemap指本站的地图,一般为.xml或.txt格式的地址,值得注意的是这里一定要写绝对地址。
robots只能放根目录?
其实网站的robots文件、网站地图Sitemap都是放在根目录下的,也便于搜索引擎蜘蛛机器人爬取!
前文徐伟轩博客也带大家了解了,robots文件就是针对搜索引擎蜘蛛的一种协议(有些蜘蛛不一定会遵守),搜索引擎蜘蛛进入网站都是先从网站根目录,所以robots协议也只有在根目录的时候才有效,而且需要注意的是robots文件的命名必须是robots.txt,只能用小写字母。
而对于网站主域名下有多个2级域名的时候,应该是每一个二级域名都有自己独立的robots文件和sitemap!
当搜索引擎spider访问咱们博客网站http://www.letus.top时,首先会检查该网站中是否存在http://www.letus.top/robots.txt,如果 Spider找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围了。
配图:网站SEO运营
所以,如果您注重网站优化,关心SEO策略,并且想让您的网站真正发挥作用的话,网站的robots文件至少得有,而且得花个10分钟研究并且写好吧?


徐伟轩博客-爱写歌的程序员思考和科普的日常自媒体
https://letus.top/mblog/archives/70.html(转载时需注明本文出处及文章链接)
如需转载或刊登,请联系我们获得授权。