当网站里面存在有重复内容时,可以通过改变网站的结构来完全清除它。但是有时候网站不得不包含重复内容。最常见的情况是当驱动网站的业务规则需要所谓的重复内容时。为了处理好这个问题,可以只从搜索引擎的角度排除它。存在有两种排除页面的方法:
一、使用robots meta标签
二、robots.txt模式排除
使用Robots meta标签
首先提出这个,不是因为它是排除内容的唯一最佳方法,而是因为它应用程序而言,实际上没有任何限制。使用robots meta标签,就可以从网站中以页面为基础排除任何基于HTML的内容。并且,当需要从一个现存的、源代码可用的网站中排除重复内容,或者当网站中包含很多复杂的动态URL地址时,它常常是一种较为容易使用的方法。
为了用meta来排除页面,只需简单地将以下代码插入到要排除的HTML文档的<head>节:
<meta name="robots" content="noindex,nofollow" />
这就表明页面不能被索引,并且页面的链接不能被跟随。使用一些简单编辑逻辑,来决定是否在网站的页面中包含这种meta标签,是比较容易的事情。只要对应用程序源代码有修改权限,通常就可以采用这种方法。然而,在某些环境下,robots.txt排除则比较困难,甚至可能根本无法运用。
为了排除特定种类的蜘蛛,将“robots”修改为蜘蛛的名子——如googlebot、msnbot或是slurp。为了排除多个蜘蛛,可以使用多个meta标签。例如,为了排除googlebot和msnbot,可以采用如下代码:
<meta name="googlebot" content="noindex,nofollow" />
<meta name="msnbot" content="noindex,nofollow" />
在理论上,这种方法与接下将要讨论的robots.txt方法相同。唯一的不足是,页面必须首先被提取,才能决定是否索引它。这可能会减慢索引的速度。Dan Thies在《搜索引擎营销人员手册》中提到,“如果网站中对于每个内容唯一的页面提供10个重复页面,蜘蛛仍将终止索引……不能依靠搜索引擎在站点中来处摸索唯一内容。”
与使用meta排除方法相关的两个技术限制是:
(一)需要对应用程序源代码修改的权限。否则,meta标签排除将不可能实现。因为标签必须被旋转在应用程序生成的WEB页面之中。
(二)只能用于HTML文件中,不能用于纯文本、CSS或二进制/图像文件中。