什么是robots协议?robots.txt文件怎么写?

2017年12月4日08:15:12 发表评论 28 views

什么是robots.txt协议

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

robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。

当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。

robots.txt文件特点

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

robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它  。robots.txt是一个协议,而不是一个命令。

robots.txt文件在SEO中作用

鉴于网络安全与隐私的考虑,搜索引擎遵循robots.txt协议。通过根目录中创建的纯文本文件robots.txt, 网站可以声明不想被robots访问的部分。每个网站都可以自主控制网站是否愿意被搜索引擎收录,或者指定搜索引擎只收录指定的内容。当一个搜索引擎的爬虫访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果该文件不存在,那么爬虫就沿着链接抓取,如果存在,爬虫就会按照该文件中的内容来确定访问的范围。

robots.txt文件写法详解

基本语法

User-agent:指定对哪些爬虫生效!*号代表全部搜索引擎,百度(Baiduspide)、谷歌(Googlebot)、360(360Spider)

Disallow:不允许抓取

Allow:允许抓取

#:注释

全站屏蔽所有蜘蛛

新站上线前或网站改版之前,为了避免蜘蛛抓取错误或临时的链接,可以采用全站屏蔽蜘蛛的操作,在根目录建立robots.txt,添加如下内容:

User-agent:*

Disallow:/

屏蔽某个目录、文件

屏蔽所有蜘蛛抓取根目录下的seo文件夹及里面的所有内容,根目录下的seo1目录下的1.html文件,robots.txt文件添加如下内容:

User-agent:*

Disallow:/seo/

Disallow:/seo1/1.html

屏蔽某个目录,但抓取目录下的文件或文件夹

屏蔽所有蜘蛛抓取网站根目录下的seo文件夹,但抓取里面后缀名为html的文件

User-agent:*

Disallow:/seo/

Allow:/seo/*.html

注意:上面的写法,seo带“/”代表根目录下的seo目录下的内容。并不会禁止比如根目录下seotest的文件夹及文件夹所有内容。

禁止抓取根目录下所有前面带“seo”字符的文件夹及文件

User-agent:*

Disallow:/seo

禁止了如:/seo/,/seo/12.html,/seotest/,/seoabc.html

屏蔽动态URL

网站有些动态页面可能会和静态页面相同,造成重复收录,用robots屏蔽动态URL

User-agent:*

Disallow:/*?*

仅允许访问“.html”为后缀的URL

User-agent:*

Allow:.html$

Disallow:/

屏蔽死链接

网站改版、删除文章后,原来的URL如果已经被搜索引擎索引,出现404错误。一般的做法如下:

①查看网站日志,找出这些死链,用百度提交死链工具提交,慢慢的会删除这些死链;

②如果这个链接已经更换,也可以用301跳转到新的链接,301跳转后原页面和新页面处理办法;

③robots禁止蜘蛛抓取死链,写法同上,最好带完整路径

User-agent:*

Disallow:http://www.hnanseo.com/1.html

屏蔽不参与排名的页面链接

比如会员中心、登陆界面、联系我们等。这些虽然有实际用途,蜘蛛一样会爬取这些页面链接,这些页面也会分权,因此为了集中权重,一些完全不参与排名的页面应该用robots屏蔽。也可以在该页面的</head>之前添加<meta>声明,指向该页面的链接加上nofollow标签。

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

<a rel="nofollow" href="/member/login">登陆</a>

sitemap索引在robots.txt的位置

sitamap索引的位置最好放在robots.txt的最下面,蜘蛛先遵循前面的原则,再按照网站地图爬取。

 

以下是本博客的robots.txt文件写法

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /*/comment-page-*
Disallow: /*?replytocom=*
Disallow: /category/*/page/
Disallow: /tag/*/page/
Disallow: /*/trackback
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /?s=*
Disallow: /*/?s=*\
Disallow: /*?*
Disallow: /attachment/
Sitemap: http://www.gf-seo.com/sitemap.xml

常用的搜索引擎类型(User-agent区分大小写)

1、百度蜘蛛:Baiduspider;

2、google蜘蛛:Googlebot;

3、360蜘蛛:360Spider;

4、搜狗蜘蛛:Sogou News Spider;

5、yahoo蜘蛛:Yahoo!slurp;

6、alexa蜘蛛:ia_archiver;

7、bing蜘蛛:MSNbot;

8、Soso蜘蛛:Sosospider;

9、有道蜘蛛:YoudaoBot 等

使用robots.txt应遵循几个原则

1、不要屏蔽首页的后缀,比如:index.php,index.html 等;

2、不要写太多带星号的,尽量简洁一些,我们看百度和Google的robtos.txt带星号的写法几乎没有,太多带星号的,就可能存在误伤;

3、不用什么都屏蔽,某些页面即使被收录了也不影响什么的,就建议可以不用屏蔽。

注:搜索引擎遵守robots的相关协议,请注意区分您不想被抓取或收录的目录的大小写,我们会对robots中所写的文件和您不想被抓取和收录的目录做精确匹配,否则robots协议无法生效。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的QQ
  • 这是我的QQ扫一扫
  • weinxin
皓仁

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: