马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

robots.txt是什么,robots.txt 文件编写

  [复制链接]
查看6296 | 回复5 | 2017-3-23 08:55:28 | 显示全部楼层 |阅读模式
robots.txt 是网站根目录下的一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。


当一个搜索机器人(有的叫搜索蜘蛛或爬虫)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt ,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围; 如果该文件不存在,那么搜索机器人就沿着链接抓取。


robots.txt 必须放置在一个站点的根目录下,而且文件名必须全部小写。

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

robots.txt 语法

User-agent

一般情况下robot.txt文件会以User-agent:开头,该项的值用于描述搜索引擎机器人robot的名字。

例如User-agent:Baiduspider,就是针对百度蜘蛛进行的协议约束,robots.txt文件中至少要有一条User-agent记录。 如果该项的值设为*(通配符),则该协议对任何搜索引擎机器人均有效。 如果使用通配符,这样的记录只能有一条。

User-agent:BaiduSpider

User-agent:*

Disallow

用来描述不希望被搜索机器人访问到网址。这个网址可以是完整的路径,也就是域名加上目录名或者文件名的格式,也可以是相对,也就是除去了域名,只有文件名或者目录名。

一个Disallow的对应一个文件或者目录,有多少个目录或者文件需要设置就写几个Disallow。



Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录

Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。

Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片

Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件



禁止访问Admin目录下的文件

Disallow:/Admin/

禁止某个搜索引擎爬虫的访问

User-agent: BadBot

Disallow: /

Allow

Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录

Allow: /tmp 这里定义是允许爬寻tmp的整个目录

Allow: .htm$ 仅允许访问以".htm"为后缀的URL。

Allow: .gif$ 允许抓取网页和gif格式图片

Sitemap
  Sitemap: 网站地图 告诉爬虫这个页面是网站地图

  Sitemap: <http://www.ibcibc.com/sitemap.php>



Allow 和 Sitemap 为非标准语法,可能只有一些大型的搜索引擎会支持,为保证兼容性问题,推荐在 robots.txt 中只使用 User-agent ,Disallow

User-agent:后面为搜索机器人的名称,后面如果是*,则泛指所有的搜索机器人。Disallow:后面为不允许访问的文件目录。



使用示例:

禁止所有机器人访问特定文件类型

User-agent: *

Disallow: /.js$

Disallow: /.inc$

Disallow: /.css$



拦截所有的机器人

User-agent: * Disallow: /

允许所有的机器人

User-agent: *

Disallow:

More

其他的影响搜索引擎的行为的方法包括使用robots元数据

<meta name="robots" content="noindex,nofollow" />

Robots META 标签则主要是针对一个个具体的页面。 和其他的 META 标签(如使用的语言、页面的描述、关键词等)一样,Robots META 标签也是放在页面的<head></head>中,专门用来告诉搜索引擎ROBOTS如何抓取该页的内容。

Robots META 标签的写法: Robots META 标签中没有大小写之分,name=”Robots”表示所有的搜索引擎,可以针对某个具体搜索引擎写为name=”BaiduSpider”。

content部分有四个指令选项:index、noindex、follow、nofollow,指令间以“,”分隔。 INDEX 指令告诉搜索机器人抓取该页面; FOLLOW 指令表示搜索机器人可以沿着该页面上的链接继续抓取下去; Robots Meta标签的缺省值是INDEX和FOLLOW,只有inktomi除外,对于它,缺省值是INDEX,NOFOLLOW。 这样,一共有四种组合:

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">

<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">

<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">

其中 <META NAME="ROBOTS" CONTENT="INDEX,FOLLOW"> 可以写成 <META NAME="ROBOTS" CONTENT="ALL">

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW"> 可以写成 <META NAME="ROBOTS" CONTENT="NONE"> 目 前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加。 如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令“archive”,可以 限制GOOGLE是否保留网页快照。例如:

<mata name="googlebot" content="index,follow,noarchive">

表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照。

Reference

C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
ibcadmin | 2017-3-23 09:01:21 | 显示全部楼层
1111
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
等待时候 | 2017-3-23 09:36:21 | 显示全部楼层
6666  
那么问题来了、有没有什么办法能够快速收录【各个搜索引擎】
ibcadmin | 2017-3-23 11:05:03 | 显示全部楼层
等待时候 发表于 2017-3-23 09:36
6666  
那么问题来了、有没有什么办法能够快速收录【各个搜索引擎】

网站要活跃 要有原创的东西
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
等待时候 | 2017-3-24 08:40:22 | 显示全部楼层
ibcadmin 发表于 2017-3-23 11:05
网站要活跃 要有原创的东西

怎样才称之为活跃? 定期更新么、还是pv要达到
ibcadmin | 2017-3-24 08:55:59 | 显示全部楼层
等待时候 发表于 2017-3-24 08:40
怎样才称之为活跃? 定期更新么、还是pv要达到

就是PV IP 访问量这些   其实你原创的东西多了 收录的快了 你的权重 PV这些 自然就高了 每天都要更新文章
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则