禁止抓取机制robots.txt设置方法及注意事项-robots文件

今天我们主要学习一下robots.txt文件的使用和设置方法。

一、认识robots.txt文件

从网站优化和网站安全的方面来说,我们的站点并不是每一个页面都需要用户访问,这就好比即使再好的朋友来到了您的家里,您也不会将家里所有的东西都展示给朋友看。那么怎么控制搜索引擎蜘蛛抓取网站的范围呢?这就是我们今天要讲的主角——robots.txt文件。

robots.txt文件是搜索引擎来到网站之后访问的第一文件,robots.txt文件中设置了搜索引擎的抓取范围。

禁止抓取机制robots.txt设置方法及注意事项

二、robots.txt文件设置要求

1、robots.txt文件必须放置在网站根目录;

2、robots.txt文件名必须小写。

根据上面两点提示我们查看到绝大部分网站的robots.txt文件,如果出现无法访问的现象,最大可能就是网站根目录中没有此文件。

三、robots.txt文件规则解读

robots.txt的书写格式为:<域>:<可选空格><域值><可选空格>

常见的robots.txt指令为:

User-agent: *

Disallow: /

此指令代表禁止所有的搜索引擎抓取网站的任何部分。此指令常用于站点不想被搜索引擎收录或者建站初期,当网站结构没有建设完成的时候,我们是不希望搜索引擎抓取网站任何内容的。

1、User-agent:

用于指定某个搜索引擎蜘蛛,如果使用通配符*代表所有的搜索引擎蜘蛛,如:

User-agent: Baiduspider指的是指定百度蜘蛛;

User-agent: Googlebot 指的是指定谷歌蜘蛛。

2、Disallow: /

代表着禁止抓取网站的某些内容,如“/”后面没有任何参数代表禁止抓取网站所有内容。我们来学习一下参数后面分别代表的含义:

Disallow: /admin/ 禁止抓取admin目录下的所有内容;

Disallow: /cgi-bin/*.htm 禁止抓取/cgi-bin目录下的所有以.htm结尾的文件;

Disallow: /*?* 禁止抓取网站中所有包含问号 (?) 的网址;

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

在这里重点强调一点,Disallow指令有一个比较特殊的地方,Disallow: /代表着禁止抓取,但是Disallow: 代表着允许抓取,如:

User-agent: *

Disallow:

此指令代表允许所有的搜索引擎抓取网站的任何内容。

3、Allow:/

该指令用于允许蜘蛛抓取某些文件。Allow:/指令后面的参数与Disallow指令相同,如:

User-agent: *

Disallow: /a/

Allow: /a/b/

该指令的含义是不允许蜘蛛抓取a目录下的其他目录和文件,但是可以抓取a目录下的b目录中的内容。

4、$通配符,代表着以某个字符结尾的URL。

User-agent: *

Disallow: /.webp$

此指令的含义是禁止所有搜索引擎抓取所有.webp文件。

$指令在效果上有些地方和*是相同的,$指令常见于动态网址,互联网中应用不是特别广泛。

Disallow: /.webp$ 等同于 Disallow: /*.webp

5、Sitemap:告诉蜘蛛XML网站地图的位置,格式为:

Sitemap:http://你的域名/sitemap.xml

主流的搜索引擎都会遵守robots文件指令,但是被robots文件禁止抓取的网址还会出现在搜索引擎结果中,这就好比你虽然不告诉我发生了什么事,但是我从别人那里知道了你的事情一样。只要禁止被抓取的网址在互联网中存在导入链接,搜索引擎就会知道这个网址的存在,有可能被搜索引擎收录,但是搜索结果标题下方会出现对应的提示:

由于该网站的tobots.txt文件存在限制指令(限制搜索引擎抓取),系统无法提供该页面的内容。

推荐阅读