如何设置网站的robots.txt?

时间: 2019-08-21阅读: 659标签: 优化

做过网站优化的朋友都知道,搜索引擎蜘蛛爬行抓取网站时首先会去访问根目录下的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文件。

站长推荐

1.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入

3.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/4856

从浏览器内部运行机制看性能优化

获取到的HTML/CSS/JS资源经过浏览器内核的处理生成图像呈现在浏览器上,那么下面我们就详细说说浏览器内核在拿到资源之后是经过哪些处理来生成我们最终所看到的页面。

react性能优化之bind(this)

bind在react组件中使用不当也会影响性能,bind在render里面直接onClick = this.onClick.bind(this),这样写的话,render每次都会执行这段

优化Vue.js 单页应用速度

我有一个项目用了 Vue.js 来构建单页应用程序。随着上线日期的临近,性能优化的工作变得越来越重要。在本文中,我收集了有关在加载时间和渲染性能方面提高 Vue.js 应用性能的所有知识。

加速vue组件渲染之性能优化

平时在用vue开发后台管理系统的时候,应该会用到大量的table这种组件,正常这种组件我们会在项目里做二次封装,然后针对表头title做参数化配置,如下:

Node学习笔记:优化crud增删改查

在安装过程中需要特别注意,需要将 Install MongoDB Compass 前默认的勾选取消,可以使用 mongod --version 命令查看 MongoDB 版本,若版本号输出正常则安装完毕

Vue代码优化之mixins 混合器的使用

主要抽离组件共用的代码,如各个页面中分页组件的data、methods,和ui原型中统一的confirm和alert弹窗以及加载的进度条等

CSS 性能优化还有哪些方法?

CSS 必须通过一个相对复杂的管道,就像 HTML 和 JavaScript一样,浏览器必须从服务器下载文件,然后进行解析并将其应用于DOM。由于优化程度极高,这个过程通常非常快——对于不基于框架的小型 web 项目,CSS通常只占总资源消耗的一小部分

webpack常用构建优化总览

读了《深入浅出webpack》总结一下常用的webpack的构建优化策略,可通过以下手段来提升项目构建时的速度,理论上我们项目的第三方依赖均应在自己的工程的node_modules下,所以我们可以设置查找目录

如何对 React 函数式组件进行优化?

本文只介绍函数式组件特有的性能优化方式,类组件和函数式组件都有的不介绍,比如 key 的使用。另外本文不详细的介绍 API 的使用,后面也许会写,其实想用好 hooks 还是蛮难的。

网站性能优化实战

读取缓存→DNS查询→TCP链接→发起请求→接收响应→处理HTML元素→加载完成。CSS属性读写分离:浏览器每次对元素样式进行读操作时,都必须进行一次重新渲染(重排 + 重绘)

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广