很多做优化的忽略robots的重要性,我们首先要记住的就是蜘蛛来到网站之后第一个看的就是robots文件,它是搜索引擎的协定,告诉蜘蛛哪些能抓,哪些不能抓,哪些目录下的哪些文件可以抓,这些robots文件都可以实现。优化时候忽略了robots文件的重要性,可能会一不小心被网站编程人员给自己埋了一个坑(详情请看之前的帖子)
robots规则说明:
*代表所有的意思
User-agent
爬虫抓取时会声明自己的身份,这就是User-agent,如果这个规则适用于所有搜索引擎的话,写法:User-agent:* 如果单独适用于百度的话User-agent:Baiduspider
(附一些搜索引擎的名字:百度Baiduspider|谷歌Googlebot|360蜘蛛:360Spider|SOSO蜘蛛:Sosospider|雅虎蜘蛛:Yahoo!|有道蜘蛛:YoudaoBot|搜狗蜘蛛:Sogou News Spider|MSN蜘蛛:msnbot/msnbot-media|必应蜘蛛:bingbot/compatible|一搜蜘蛛:YisouSpider|Alexa蜘蛛:ia_archiver|宜sou蜘蛛:EasouSpider|即刻蜘蛛:JikeSpider|一淘网蜘蛛:EtaoSpider)
DisallowDisallow 列出的是要禁止抓取的的网页和规则,后面用/代表层次关系
Disallow:/(代表着禁止抓取网站所有内容)
Disallow:/abc(禁止抓取abc及其层次下的内容)
Disallow:/abc/(禁止抓取abc层次下的内容,但是允许抓abc)
Disallow:/*.png(禁止抓取png的图片,其他格式的也这样写比如禁止抓网站中的PPT后缀文件是Disallow:/*.PPT)
Disallow:/abc/*.png(禁止访问abc层次下的PNG图片,其他格式也是)
Disallow:/*?*(屏蔽站内所有动态URL,因为动态地址都带?所有可以用这种形式,其他的字符也可以)
Disallow:/abc/*?*(只屏蔽abc层次下的动态地址)
Disallow:/*?/(屏蔽动态层次下的内容,比如有些文章或栏目是网址/?14125这样URL,这样可以让抓取文章,也可以屏蔽后面内容)
Disallow:/abc/*?/(屏蔽abc栏目下的动态层次下的内容)
其他的按照这个思路灵活使用就行了
Allow
Allow代表允许访问抓取的意思
Allow一定放在disallow的前面才能不受disallow的影响,比如禁止所有动态后,想要排除一个栏目,写法如下:
Allow:/abc
disallow:/*?*
其他的写法参考disallow的逻辑
sitemap
这个只用于告诉蜘蛛网站地图在哪
sitemap:网址/sitemap.xml
Crawl-delay
控制抓取频次,一般有些搜索蜘蛛频繁抓取网站,会对服务器造成很大的负担,这个就是用来控制抓取频次的
User-agent:360Spider
Crawl-delay:10
这句是说,360你抓的太频繁,你抓过之后10秒之后才能下一次抓取
还有就是不让显示快照:
在你不想展示快照页面的head标签中加入 meta name=“robots” content=“noarchive”(禁止所有搜索引擎产生快照)
在你不想展示某个搜索引擎出现快照页面的head标签中加入 meta name=“360Spider” content=“noarchive”(禁止360产生快照,name后面的换成蜘蛛名字即可)