做过网站优化的朋友都知道,搜索引擎蜘蛛爬行抓取网站时首先会去访问根目录下的robots.txt文件,如果robots文件存在,则会根据robots文件内设置的规则进行爬行抓取,如果文件不存在则会顺着首页进行抓取,那么robots文件的工作原理是什么呢?如何对robots.txt文件进行设置。

  robots.txt是一个纯文本的文件,文件的名字必须全部小写,并且放置在网站的根目录下面,通过文件中的规则声明网站哪些内容不想被搜索引擎蜘蛛抓取收录,或者指定某个搜索引擎不能收录robots.txt也叫做爬虫协议,遵循爬虫协议的搜索引擎蜘蛛,都会根据协议的内容对网站进行爬虫抓取的。

一、什么是robots.txt?

  这是一个文本文件,是搜索引擎爬行网页要查看的第一个文件,你可以告诉搜索引擎哪些文件可以被查看,哪些禁止。

  当搜索机器人访问一个站点时,它首先会检查根目录是否存在robots.txt,如果有就确定抓取范围,没有就按链接顺序抓取。

二、robots.txt有什么用?

  为何需要用robots.txt这个文件来告诉搜索机器人不要爬行我们的部分网页,比如:后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等等。说到底了,这些页面或文件被搜索引擎收录了,用户也看不了,多数需要口令才能进入或是数据文件。既然这样,又让搜索机器人爬行的话,就浪费了服务器资源,增加了服务器的压力,因此我们可以用robots.txt告诉机器人集中注意力去收录我们的文章页面,增强用户体验

三、robots设置:

1、用robots屏蔽网站重复页

  很多网站一个内容提供多种浏览版本,虽然很方便用户,却对蜘蛛造成了困难,因为它分不清那个是主,那个是次,一旦让它认为你在恶意重复,你就惨了

  User-agent: *
  Disallow: /sitemap/ 《禁止蜘蛛抓取 文本网页》

2、用robots保护网站安全

  很多人纳闷了,robots怎么还和网站安全有关系了?其实关系还很大,不少低级黑客就是通过搜索默认后台登陆,以达到入侵网站的目标

  User-agent: *
  Disallow: /admin/ 《禁止蜘蛛抓取admin目录下所有文件》

3、防止盗链

  一般盗链也就几个人,可是一旦被搜索引擎“盗链”那家伙你100M宽带也吃不消,如果你做的不是图片网站,又不想被搜索引擎“盗链”你的网站图片

  User-agent: *
  Disallow: .jpg$

4、提交网站地图

  现在做优化的都知道做网站地图了,可是却没几个会提交的,绝大多数人是干脆在网页上加个链接,其实robots是支持这个功能的

  Sitemap: http:-www-***-com/sitemaps/sitemaps.xml

5、禁止某二级域名的抓取

  一些网站会对VIP会员提供一些特殊服务,却又不想这个服务被搜索引擎检索到

  User-agent: *
  Disallow: /

  以上五招robots足以让你对搜索引擎蜘蛛掌控能力提升不少,就像百度说的:我们和搜索引擎应该是朋友,增加一些沟通,才能消除一些隔膜。

四、robots.txt基本语法

1、robots.txt的几个关键语法:

  a、User-agent: 应用下文规则的漫游器,比如Googlebot,Baiduspider等。
  b、Disallow: 要拦截的网址,不允许机器人访问。
  c、Allow: 允许访问的网址
  d、”*” : 通配符—匹配0或多个任意字符。
  e、”$” : 匹配行结束符。
  f、”#” : 注释—说明性的文字,不写也可。
  g、Googlebot: 谷歌搜索机器人(也叫搜索蜘蛛)。
  h、Baiduspider: 百度搜索机器人(也叫搜索蜘蛛)。
  i、目录、网址的写法:都以以正斜线 (/) 开头。如:
  Disallow:/
  Disallow:/images/
  Disallow:/admin/
  Disallow:/css/

2、列举一些robots.txt 具体用法:

允许所有的robot访问
  User-agent: *
  Disallow:
  或者
  User-agent: *
  Allow: /
  或者建一个空文件”robots.txt”即可。
仅禁止某个机器人访问您的网站,如Baiduspider。
  User-agent: Baiduspider
  Disallow: /
仅允许某个机器人访问您的网站,如Baiduspider。
  User-agent: Baiduspider
  Disallow:
  User-agent: *
  Disallow: /
禁止访问特定目录
  User-agent: *
  Disallow: /admin/
  Disallow: /css/
  Disallow:
要拦截对所有包含问号 (?) 的网址的访问(具体地说,这种网址以您的域名开头、后接任意字符串,然后接问号,而后又接任意字符串),请使用以下内容:
  User-agent: Googlebot
  Disallow: /*?
要指定与某个网址的结尾字符相匹配,请使用 $。例如,要拦截以 .xls 结尾的所有网址,请使用以下内容:

  User-agent: Googlebot
  Disallow: /*.xls$

  您可将此模式匹配与 Allow 指令配合使用。例如,如果 ? 代表一个会话 ID,那么您可能希望排除包含 ? 的所有网址,以确保
Googlebot 不会抓取重复网页。但是以 ? 结尾的网址可能是您希望包含在内的网页的版本。在此情况下,您可以对您的 robots.txt
文件进行如下设置:

  User-agent: *
  Allow: /*?$
  Disallow: /*?
  Disallow: /*? 指令会阻止包含 ? 的所有网址(具体地说,它将拦截所有以您的域名开头、后接任意字符串,然后接问号,而后又接任意字符串的网址)。
  Allow: /*?$ 指令将允许以 ? 结尾的任何网址(具体地说,它将允许所有以您的域名开头、后接任意字符串,然后接 ?,? 之后不接任何字符的网址)。

  以上介绍多数都是Google的http:-www-google-com/support/we … cn&answer=40360,百度的大同小异具体可以看http:-www-baidu-com/search/robots.html

  一般网站查看robots.txt文件的方法是主页后面加robots.txt就可以,比如淘宝网的就是http:-www-taobao-com/robots.txt

  请注意,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用robots.txt文件。如果您希望搜索引擎收录网站上所有内容,请勿建立robots.txt文件。

如何设置网站的robots.txt的更多相关文章

  1. 网站之robots.txt文件

    一.robots.txt是什么?   robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被搜索引擎访问的部分,或者指定搜索引擎只收录指定的内容. 当一个搜索引擎(又称搜索 ...

  2. 给自己的网站加上robots.txt

    今天给自己的网站加了一个robots.txt,在网上收集整理了一些资料,给自己网站也加上了robots.txt ! 顺便给大家分享一下! 一.robots.txt是什么? robots.txt是一个纯 ...

  3. 网站的robots.txt文件

    什么是robots.txt? robots.txt是一个纯文本文件,是爬虫抓取网站的时候要查看的第一个文件,一般位于网站的根目录下.robots.txt文件定义了爬虫在爬取该网站时存在的限制,哪些部分 ...

  4. dedecms 蜘蛛抓取设置 robots.txt

    我们可以用robots.txt屏蔽蜘蛛文件来跟蜘蛛来达成一个协议,但现在很少注重,其实用好robots.txt屏蔽蜘蛛文件,能给你的网站提高权重,接下来重庆SEO讲一下robots.txt屏蔽蜘蛛文件 ...

  5. 网站robots.txt & sitemap.xml

    1. 如何查看网站的robots.txt 网址/robots.txt, 比如小米  https://www.mi.com/robots.txt sitemap.xml

  6. 网站robots.txt探测工具Parsero

    网站robots.txt探测工具Parsero   robots.txt文件是网站根目录下的一个文本文件.robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当搜索引擎访问一个站点时,它 ...

  7. (转载)robots.txt写法大全和robots.txt语法的作用

    1如果允许所有搜索引擎访问网站的所有部分的话 我们可以建立一个空白的文本文档,命名为robots.txt放在网站的根目录下即可.robots.txt写法如下:User-agent: *Disallow ...

  8. ROBOTS.TXT屏蔽笔记、代码、示例大全

    自己网站的ROBOTS.TXT屏蔽的记录,以及一些代码和示例: 屏蔽后台目录,为了安全,做双层管理后台目录/a/xxxx/,蜘蛛屏蔽/a/,既不透露后台路径,也屏蔽蜘蛛爬后台目录 缓存,阻止蜘蛛爬静态 ...

  9. robots.txt写法大全和robots.txt语法的作用

    1如果允许所有搜索引擎访问网站的所有部分的话 我们可以建立一个空白的文本文档,命名为robots.txt放在网站的根目录下即可.robots.txt写法如下:User-agent: *Disallow ...

随机推荐

  1. ClassPathBeanDefinitionScanner 说明

    Spring 工具类 ClassPathBeanDefinitionScanner 组件Bean定义扫描https://blog.csdn.net/andy_zhang2007/article/det ...

  2. Java判断两个时间相差的天数

    1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的   ...

  3. maven下载,上传设置

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3. ...

  4. Maven中 jar包冲突原理与解决办法

    Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题.本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲 ...

  5. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  6. 英语gzibeads天珠gzibeads单词

    天珠英语是gZiBeads,藏语叫(si , 斯)汉语译为“斯”或“瑟”,又称“天降石”.在<藏汉大辞典>里天珠的解释为:“亚玛瑙,猫睛石,一种宝石,俗称九眼珠.入药能治脑溢血”.最早的天 ...

  7. Python的object和type理解及主要对象层次结构

    一.Object与Type 1.摘自Python Documentation 3.5.2的解释 Objects are Python’s abstraction for data. All data ...

  8. fiddler模拟弱网测试

    1.首先设置手机代理 设置手机代理到本机ip,端口号8888(Fiddler默认设置): 手机访问http://ip:port安装Fiddler证书 2.修改fiddler配置 勾选上后,已经开始限速 ...

  9. Ansible-ansible命令

    Ansible是用于执行"远程操作"的简单工具.该命令允许针对一组主机定义并运行单个任务剧本. 常用选项 说明 --ask-vault-pass 请求保险库密码 --become- ...

  10. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...