robots其实就是指Robots协议,Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
而承载这些协议的文件就是robots.txt文件,那么robots.txt文件到底有啥用途,robots协议应该怎么写,有哪些注意事项,在这本文将详细跟大家介绍。
前言:
Robots.txt文件的重要性
robots.txt是搜索引擎蜘蛛访问网站时要查看的第一个文件,并且会根据robots.txt文件的内容来爬行网站。在某种意义上说,它的一个任务就是指导蜘蛛爬行,减少搜索引擎蜘蛛的工作量。
当搜索引擎蜘蛛访问网站时,它会首先检查该站点根目录下是否存在robots.txt文件,如果该文件存在,搜索引擎蜘蛛就会按照该文件中的内容来确定爬行的范围;如果该文件不存在,则所有的搜索引擎蜘蛛将能够访问网站上所有没有被口令保护的页面。
通常搜索引擎对网站派出的蜘蛛是有配额的,多大规模的网站放出多少蜘蛛。如果我们不配置robots文件,那么蜘蛛来到网站以后会无目的的爬行,造成的一个结果就是,需要它爬行的目录,没有爬行到,不需要爬行的,也就是我们不想被收录的内容却被爬行并放出快照。所以robots文件对于我们做网站优化来说具有很重要的影响。
网站没有Robots.txt文件的弊端
如果网站中没有robots.txt文件,则网站中的程序脚本、样式表等一些和网站内容无关的文件或目录即使被搜索引擎蜘蛛爬行,也不会增加网站的收录率和权重,只会浪费服务器资源;搜索引擎派出的蜘蛛资源也是有限的,我们要做的应该是尽量让蜘蛛爬行网站重点文件、目录,最大限度的节约蜘蛛资源。
Robots.txt文件的存放位置
网站根目录下,通过“域名/robots.txt”能正常访问即可,如http://域名/robots.txt
一、robots.txt文件的含义,robots.txt有什么作用
前面有提到,这个文本文件承载着robots协议,它告诉所有搜索引擎本网站哪些页面可以被抓取,哪些页面禁止抓取。这样做有两方面的意义:
1.保护隐私。有些页面信息不想或者说不能让外界看到,单搜索引擎并不知道这些情况,它还是会照常抓取、展现。如果我们通过设置robots做了限制,搜索引擎蜘蛛就会放弃抓取,外界就不能通过搜索引擎了解到这些隐秘信息。
2.调节页面抓取量。我们都知道每个网站蜘蛛抓取的配额都是有限的,如果我们通过robots.txt文件禁止一些不重要的页面被抓取,那么就节约了配额,让那些重要的页面得到更多的抓取机会。
二、robots.txt写法详细
1.允许所有搜索引擎访问所有目录
User-agent: *
Allow: /
PS:这里的*表示所有。
2.禁止所有搜索引擎访问所有目录
User-agent: *
Disallow: /
3.禁止爬虫访问网站中的某些目录:
User-agent: *
Disallow: /123
禁止爬虫访问/123开头的所有文件,如http://www.vipshan.com/1234/、http://www.vipshan.com/123/1.html、http://www.vipshan.com/12345/1.html等都不能被抓取
User-agent: *
Disallow: /123/
禁止爬虫访问/123/目录下面的所有文件。
4.禁止爬虫访问某一类文件:
User-agent: *
Disallow: /*.css$ 禁止访问所有css结尾的文件
Disallow: /*.js$ 禁止访问所有js结尾的文件
Disallow: /*.php$ 禁止访问所有php结尾的文件
Disallow: /123/*.jpg$ 禁止访问/123/目录下的jpg结尾的文件
PS:*表示所有,$表示结尾,上面的汉字不用写进robots去!!!
5.禁止访问网站中的动态页面:
User-agent: *
Disallow: /*?*
Disallow: /123/*?* 禁止访问/123/目录下的动态页面
PS:?表示动态路径,*表示所有。
6.禁止访问某些字母开头的目录
可以巧用这个技巧来隐藏我们网站的一些目录,例如网站后台。假设www.vipshan.com的后台目录是/abcdef/可以这样写:
User-agent: *
Disallow: /abc*