2017年8月14日星期一

什么是robots.txt文件,作用是什么,与SEO有什么关系

为什么在搜索引擎结果列表上会展示网站非公开的内容部分?为什么网站脚本、应用和其他类型的代码会被搜索引擎蜘蛛访问到?有什么办法可以解决搜索引擎收录网站复制内容(例如HTML页面的打印版本或者产品目录不同排序(如按日前,按价格,按编号,按相关度,等)产生的复制内容)?有什么办法可以让搜索引擎蜘蛛自动发现网站的XML网站地图?Robots.txt文件可以解决你的为什么和有什么办法。总的来说,Robots.txt文件是有利于SEO优化的,也是外贸SEOer需要掌握的。其实Robots.txt这种写法是错误的,它只有一种写法,是什么呢?robots.txt全部小写才是正确的写法。robots.txt文件简单地讲,作用就是控制搜索引擎蜘蛛能够访问网站什么样的页面,不该访问什么页面的内容。除了文件名本身必须是全部小写以外,robots.txt文件必须放在域名根目录方有效,也必须完全是文本格式(而不能是其他什么文本格式)。

  基本上,在robots.txt文件上设置禁止蜘蛛访问的页面,都不会被蜘蛛爬行,因此这些页面上链接向其他页面的链接都不会得到来自这些页面的本身链接权重的传递。 但如果网上有其他页面链接向这些页面时,是可以被列入搜索引擎索引的,但蜘蛛不能读取这些页面上的内容,蜘蛛主要依靠锚文字和链接向它们的页面上的信号确定这些页面可能是关于什么的,而这些页面的具体信息搜索引擎能收集的是很少的。一般在google搜索结果中只有URL被列出来,大部分情况是这些页面不会被搜索引擎以任何方式列出在搜索结果中。
    那么robots.txt文件的写法是什么样的呢?robots.txt的基本语法:用User-Agent指令指定一个蜘蛛名称,再用Disallow指令指定一个行为。两者换行,各占一行,但中间不能有空行。在robots.txt文件里面,可以指定多个user-agent/disallow组(一个user-agent和紧接的disallow为一组),但每个组与组之间需以一个空行隔开。目录和文件名是区分大小写的,对于搜索引擎来说,A和a是完全不同的。可以用“#”号在单独的一行或者指令的最后作注释说明,就像php代码注释说明一样,只是为了方便自己理解,对搜索引擎蜘蛛是没有任何影响的。下面举一个robots.txt文件实际例子(括号里是用于说明要点的注释,robots.txt文件里本身是没有的):
User-agent:Googlebot(独立一行)
Disallow:(独立一行)
(空行)
#Block msnbot(独立一行)
User-agent:msnbot(独立一行)
Disallow:/(独立一行)
(空行)
User-agent:*(独立一行,“*”号代表所有搜索引擎蜘蛛)
Disallow:/seo168/(独立一行)
Disallow:/seo6(独立一行)  #for directories and files called seo6 (与Disallow:/seo6位于同一行)
上面例子的效果是:允许googlebot去网站的任何地方;禁止msnbot爬行网站的任何地方;屏蔽所有蜘蛛spider(googlebot除外)访问/seo168/目录和称为/seo6的文件(如/seo6或者seo6.php等)。因为在robots.txt文件中,googlebot被赋予了一个单独的指令,就好比老板可以随时给自己放假,而员工只能按部就班一样,googlebot有特权。disallow指令是robots.txt文件中用到的基本指令。关于robots.txt文件中用到的其他高级指令(技术),请点击这里
    另外,新站长经常出错的是使用SSL时,页面可以通过HTTP和HTTPS访问。我们一般使用的是HTTP服务器,即网址是http://开头的。当我们不想让蜘蛛爬行HTTPS服务器上的所有页面时,需要在https:www.yourdomain.com/robots.txt创建一个新的robots.txt文件,并且写上相应的指令。 

没有评论:

发表评论