正如你所知道的,你不能总是依赖蜘蛛引擎在访问或者索引你的网站时能够十分有效的运作。完全依靠他们自己的端口,蜘蛛会产生许多重复内容,把一些重要页面当成垃圾,索引本不应该展示给用户的链接入口,还会有其他的问题。有一些工具可以让我们能够充分控制蜘蛛在网站内部的活动,如meta robots标签,robots.txt、canonical标签等。0 J& v/ k* S9 r
今天,我讲一下机器人控制技术使用的局限。为了让蜘蛛不抓取某一个页面,站长们有时会使用多个机器人控制技术, 来禁止搜索引擎访问某个网页。不幸的是,这些技术能有时互相抵触:从另一方面说这样的限制会把某些死链给隐藏掉了。0 E* w- l# C6 t0 d& u+ l
那么,当一个页面的robots文件中被禁止访问,或者被使用noindex tag 和 canonical tag时会发生什么?% V9 ]" l. S" [/ W& @1 R' E5 V4 n
快速复习: ~6 s% R) u5 [2 j& m7 \& s
在我们进入主题之前,让我们看一下那些主流的robots的一些限制技巧吧:
8 w- f: H" m; U元机器人标签
7 H' l% Q+ u$ X# V4 }元机器人标签(Meta Robots Tag)为搜索引擎机器人建立页面等级说明。元机器人标签应放在HTML文件的头部。
1 X* b, v3 c# c; [9 V* o& h" C规范标签(canonical tag)
# J7 ^4 K/ n$ }$ E$ [: F规范标签(canonical tag)是一个位于网页HTML头部的页面等级的元标签。它告诉搜索引擎哪一个URL的显示是规范的。它的目的是不让搜索引擎抓取重复内容,同时将重复页面的权重集中在规范的那一个页面上。0 P5 \2 d) i" a3 i7 J
X机器人标签
5 y1 A- F( s. N9 J3 R& j0 e自2007年以来,谷歌和其他搜索引擎已经支持把X-Robots-Tag作为一种方法来告诉蜘蛛爬行和索引的优先顺序,X-Robots-Tag位于HTTP头部,曾用于通知蜘蛛爬行和索引文件而用。该标签对控制那些非HTML文件的索引是很有用的,如PDF文件。
3 c, w* [2 [6 ^机器人标签
% G2 X* { ^+ P) \- p) [( Qrobots.txt允许一些搜索引擎进入网站内部,但是它并不能保证具体某个页面会不会被抓取和索引。除非出于SEO的原因,否则只有当确实有必要或者在站点上有需要屏蔽的robots时robots.txt才确实值得使用。我总是推荐使用元数据标签.noindex.来代替它。
# @1 I: `/ G" e1 s! W避免冲突
2 o4 a. [4 n, f: s# b4 @$ Q. W4 d, [3 |同时利用两种方法来限制robot入口是不明智的:
, l% b# n% u' D: u( v. Meta Robots .noindex. (元机器人标签.noindex.)
- S# m( T' V$ g; ~! O. Canonical Tag (when pointing to a different URL) (标准标签)
& T' O- l* z: s$ l4 G' E0 }# o. Robots.txt Disallow
. Y. l: r. v3 v$ F. X-Robots-Tag(x机器人标签)
5 N1 o* p/ I4 r3 z. L* I& x尽管你很想去保持页面的搜索结果,但是一个办法总是比两个好。让我们来看看当在一个单一的URL中有很多robots路径控制技术时会发生什么。/ d' a& R. J; N* O6 I2 I& O* k
Meta Robots .noindex. 和 Canonical标签
' G* W D; K3 W2 t8 H如果你的目标是一个URL的权重传递给另一个URL,而你却没有其他的更好办法的时候,那就只能用Canonical标签。不要用元机器人标签的.noindex.来给自己添麻烦。如果你使用两个robot的方法,搜索引擎可能根本看不到你的Canonical标签。权重传递的效用将会被忽略,因为机器人的noindex标签会使它看不到Canonical标签!3 M" Q$ r' u4 c0 J ]( G, ~
Meta Robots .noindex. . X-Robots-Tag .noindex.; X* N4 y1 V" T8 X
这些标签是多余的。这两个标签放置在同一个页面我只能看到的是给SEO造成的不良影响。如果你能在元机器人.noindex.中改变头文件,你就不应该使用x机器人标签吧。
8 r/ I2 q8 g$ ^: Y' cRobots.txt Disallow .Meta Robots .noindex.
& x8 p/ O7 l' o( [6 e" p# Q8 B这是我看过的最常见的冲突:0 Z$ @) r) h, C2 B P
我之所以青睐Meta Robots.noindex.的原因是因为它可以有效的阻止一个页面被索引,同时它还还是可以传递权重到连接这个页面的更深层次的页面。这是一个双赢的方法。
( E4 D9 a0 C( n) Q% rrobots.txt文件不允许完全限制搜索引擎查看页面上的信息(以及其中有价值的内部链接),特别是不能限制url被索引。有什么好处?我曾经单独写过一篇关于这个主题的文章。' t, I9 V! ^* P" i& S/ ^+ Q, A# z
如果两个标签都使用,robots.txt保证会使Meta Robots .noindex. 不被蜘蛛看到。你会受到robots.txt中disallow的影响并且错过了所有的Meta Robots.noindex.带来的所有好处。( `1 T2 ^' ?( B- s0 J' l
|