有时候,站长并不希望某些页面被抓去和收录,如付费内容,还在测试阶段的页面,复制页面等。网站上不出线连接,或者使用Javesript,FLASH链接使用nofollow等方法都不能保证页面一定不被收录。站长自己虽然没有连接到不想被收录的页面,其他网站可能由于某种原因出现导入链接,导致页面被收录。
要确保页面不被收录,需要使用robots或meta robots标签。
robots文件
搜索引擎蜘蛛访问网站时,会先查看网站根目录下有没有一个命名为robots的纯文本文件,robots用于指令搜索引擎禁止抓取网站某些内容或制定允许抓取某些内容,如百度的robots文件位于:
http://www.baidu.com/robots.txt
只有在需要禁止抓取某些内容时,写robots才有意义。robots文件不存在或者空文件都意味着允许搜索引擎抓取所有内容。有的服务器设置有问题,robots文件不存在时会返回200状态码及一些错误信息,而不是404状态码,这有可能是搜索引擎错误解读robots文件信息,所以建议就算允许抓取所有内容,也要建一个空的robots.txt文件,放在根目录下。
robots文件由记录组成,记录之间以空行分开。记录格式为:
<域>:<可选空格><域值><可选空格>:
user-agent:*
disallow:/
上面这个robots文件禁止所有搜索引擎抓去任何内容。
user-agent:制定下面的规则适合用于哪个蜘蛛。通配符*代表所有搜索引擎,只适用于百度蜘蛛则用:
user-agent:baiduspider。
只适用google蜘蛛则用:
user-agent:googlebot。
disallow:告诉蜘蛛不要抓取某些文件或目录。列如下面的代码将阻止所有蜘蛛抓取/cgi-bin和/tmp/两个目录下的内容及文件/aa/index.html:
user-agent:*
disallow:/cgi-bin/
disallow:/tmp/
disallow:/aa/index.html
disallow:禁止的目录或文件必须分开写,每个一行,不能写成:
disallow:/cgi-bin/tmp/aa/index.html
下面的指令相当于允许所有搜索引擎抓取任何内容:
user-agent:*
disallow:
下面的代码禁止除百度外的手游搜索引擎抓去任何内容:
user-agent:baiduspider
disallow:
user-agent:*
disallow:/
allow:告诉蜘蛛应该抓取某些文件。犹豫不指定就是允许抓取,allow:单独写没有意义,allow和disallow配合使用,可以告诉蜘蛛某个目录下大部分不允许抓取,只允许抓取一部分。例如下面的代码将使蜘蛛不抓取/ab/目录下其他目录和文件,但允许抓取其中/cd/目录下的内容:
user-agent:*
disallow:/ab/
allow:/cd/
$通配符:匹配URL结尾的字符。例如下面的代码将允许蜘蛛抓取以.html为后缀的URL:
user-agent:*
allow:.html$
下面的代码将禁止百度抓去所有的.jpg文件。
user-agent:baiduspider
disallow:.jpg$
*通配符:告诉蜘蛛匹配任意一段字符。例如下面一段代码将禁止蜘蛛抓取.html文件。
user-agent:*
disallow:html$
sitemaps位置:告诉蜘蛛xml网站地图在哪里,格式为:
site:《网站地图位置》
主流搜索引擎都遵守robots文件之灵,robots禁止抓取的文件搜索引擎将不访问不抓取,但要注意的是,被robots文件禁止的URL还是有可能出现在搜索结果中。只要有导入链接指向这个URL,搜索引擎就知道这个URL存在,虽然不会抓取页面内容,但是有可能以以下几种形式显示在搜索结果中:
只显示URL,没有标题,描述。GG常这样处理。
显示开放目录或雅虎重要目录收录的标题和描述。
导入链接的锚文字显示为标题和描述,百度常这样处理。
要想使URL完全不出现在搜索结果中,需要使用页面上的meta robots标签。
文章转自:http://hi.baidu.com/bjjztyy/blog/item/a09e4ddbc7d1f8096227986b.html
文章评论 本文章有个评论