seo源码教学(robots.txt文件详细教程)

robots文件是网站和各大搜索引擎建立良好沟通的桥梁,也是网站从搜索引擎获得流量的开端第一步,因为robots的设置不当,很有可能会失去很大一部分的流量。对于SEO优化的从业者或者是爱好者,必须要知道其中的原理和设置方法,对于网站管理员及相关的开发技术人员,了解robots.txt文件的设置方法是一项额外加分的工作技能。网上也有很多的相关教程,但总是残缺不全或难以理解,所以决定详细的梳理一遍。


seo源码教学(robots.txt文件详细教程)(1)

robots.txt的作用是什么?

robots.txt文件只有一个作用:用于屏蔽一个或多个搜索引擎禁止收录你网站上的内容。默认情况下网站都是允许任何搜索引擎抓取和收录页面的,但出于某种目的,你可以屏蔽某个或多个搜索引擎收录你网站上的页面,为了达成这一共识,于是robots协议就顺利诞生了,所有的搜索引擎都遵循robots协议。

seo源码教学(robots.txt文件详细教程)(2)


每个搜索引擎都一个被称为蜘蛛(spider)或机器人(bot)的程序,我们习惯上称之为“蜘蛛”,在决定是否抓取你的网站页面时,蜘蛛会首先检查你网站的根目录里面是否存在robots.txt文件,如果没有robots.txt则说明是允许全部抓取的;如果存在robots.txt文件,蜘蛛会识别里面有没有自己的名称在被拒绝之列,然后再判断你设置的那些内容是不允许抓取的,再进行网页的抓取和收录。

robots.txt文件的写法

基本语法

默认情况下是整个网站全部允许被任何搜索引擎抓取收录的,robots.txt只用于禁止搜索引擎收录,所以只需要添加搜索引擎蜘蛛的名称(User-agent)和disAllow(禁止收录的内容)即可,特殊情况下也可以使用allow语法。

  1. User-agent: *
  2. Disallow: /
  3. Allow: *.html$
  4. #seo


seo源码教学(robots.txt文件详细教程)(3)


需要注意首字母大写,冒号后面是英文状态下的一个空格,用“井号”来表示注释说明,支持 "*" 匹配0或多个任意字符,"$" 匹配行结束符,对大小写敏感,所以要注意文件或文件夹的名称精确匹配,为了搜索引擎能更好地识别robots.txt文件,建议保存编码设置为ANSI编码,下面举例说明各种用法及设置。

robots.txt各种写作方法

1、屏蔽所有的搜索引擎收录任何页面

屏蔽搜索引擎的搜索引擎只需要把user-agent设置为*即可,如下所示,而disallow后面的斜杠则表示根目录,自根目录以下的任何内容均不允许收录,两行代码即可。

  1. User-agent: *
  2. Disallow: /

2、允许所有的搜索引擎收录所有页面

所有的搜索引擎均允许,可以把robots.txt文件里面的内容全部删除,即保留一个空文件就行,还可以使用下面的代码来说明。

  1. User-agent: *
  2. Allow: /

seo源码教学(robots.txt文件详细教程)(4)

3、仅允许指定的搜索引擎收录

需要把搜索引擎蜘蛛的名称写在前面,最后使用*来匹配全部,代码如下。仅允许百度和谷歌收录,其他搜索引擎全部禁止。

  1. User-agent: baiduspider
  2. Allow: /
  3. User-agent: googelebot
  4. Allow: /
  5. User-agent: *
  6. Disallow: /

第5、6两句是禁止所有的,前面允许了指定的蜘蛛名称,所以除了被允许的百度和谷歌蜘蛛,其他的搜索引擎都不能收录的网站页面了。

4、禁止指定的搜索引擎收录

如果只是想有针对性的屏蔽某个或多个搜索引擎,比如禁止百度和谷歌蜘蛛,写法如下。

  1. User-agent: baiduspider
  2. Disallow: /
  3. User-agent: googelebot
  4. Disallow: /
  5. User-agent: *
  6. Allow: /


seo源码教学(robots.txt文件详细教程)(5)

由于默认是allow状态的,所以第5句、6句一般不写。只写disallow的部分。你可能已经发现了,user-agent后面只能是具体的蜘蛛名称或星号,而disallow和allow后面的内容是全站时均使用斜杠而不是其他符合,因为他们后面的是指网站的目录,所以在指向目录时就不能使用别的符合,比如“disallow:*”这个写法就错了。

禁止抓取和收录目录及文件的写作语法,下面分别举例说明。

1、禁止搜索引擎收录指定的目录

  1. User-agent: *
  2. Disallow: /asf/
  3. Disallow: /2020/

上的意思是对于所有的搜索引擎,均禁止收录asf和2020文件夹里面的任何内容。在屏蔽文件夹时最后要加斜杠结束,如果这样写“Disallow: /2020”,结尾没有加斜杠,则表示根目录下以2020开头的网址均被禁止,如/2020.html、/2020abc.html、/2020/df.html均被禁止收录,所以在写作disallow屏蔽目录时千万不要弄错了。

seo源码教学(robots.txt文件详细教程)(6)


2、允许搜索引擎收录禁止目录中的特定URL

如果屏蔽了某个目录“df”,但是又希望df这个目录中指定的网页被收录怎么办,使用下面的语法即可。

  1. User-agent: *
  2. Allow: /df/111.html
  3. Allow: /df/*22c.php
  4. Disallow: /df/

allow要写在前面,后面再紧跟着写屏蔽的目录名称。这种写法比较少用,一般都是直接屏蔽目录就没有必要再允许其中的某几个或某一类url还要被收录了,上面代码第2句指允许收录根目录df文件夹里面的111.html这个页面,第3句指允许收录根目录df目录下包含“22c.php”的所有url均允许收录,第4句是禁止收录df目录下的全部url,允许收录的写在前面。

3、使用星号来匹配某一类网址

星号可以匹配一种类型的网址,极大地提高了设置的方便性,在使用过程中要熟练掌握,SEO优化的设置中如果经常会遇到屏蔽某一类型的网址,使用*就非常常见。

seo源码教学(robots.txt文件详细教程)(7)


  1. User-agent: *
  2. Disallow: /abc/
  3. Disallow: /*?*
  4. Disallow: /rt/jc*
  5. Disallow: /*.php
  6. Disallow: /*ps*

第3句禁止收录动态网址,第4句禁止收录rt目录下以jc开头的url,第5句禁止收录包含“.php”的url(包含以.php结尾的url在内,如h.php、as.php?id=2、dd.php23.html均被禁止),第6句禁止收录网址中含有“ps”的url。

4、使用$来匹配URL结束

如果需要屏蔽某类型结尾的url或文件,此时就需要用到结束匹配符号“$”。

seo源码教学(robots.txt文件详细教程)(8)


  1. User-agent: *
  2. Disallow: /abc/*ty.php$
  3. Disallow: /*.php$
  4. Disallow: /*.jpg$

上面第2句禁止收录abc目录下以ty.php结尾的url,第3句禁止收录全站以.php结尾的url,第4句禁止收录全站jpg格式的图片。可以看到如果是屏蔽具体的某一类后缀名url则需要以$作为结束。

5、禁止搜索引擎收录图片语法

禁止收录网站图片主要用到$和*匹配符,写法也是很简单的。

seo源码教学(robots.txt文件详细教程)(9)


  • User-agent: *
  • Disallow: /*.jpg$
  • Disallow: /*.jpeg$
  • Disallow: /*.png$
  • Disallow: /*.gif$

以上分别是禁止收录全站jpg/jpeg/png/gif格式的图片。

6、只允许搜索引擎收录静态页面

  1. User-agent: *
  2. Allow: /*.html$
  3. Disallow: /

配合allow来使用,禁止收录全站任何url,然后使用allow来允许收录以“.html”结尾的url即可。

以上就是全部robots文件的写法,其中难点是通配符星号的是用和结束符$的使用,要学会灵活的举一反三,在每写完一条记录时都要确保没有屏蔽错url,每行一条记录。对于robots.txt文件,每一次在写完之后都认真检查一遍,写错了损失就大了。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页