使用Rel = Canonical Vs. Robots.txt与META机器人可以防止重复的内容索引?

时间:2014-03-03 13:23:04

标签: php html .htaccess duplicates

我想构建一个我正在建立的网站,以区分来自有机来源(例如Google搜索)和付费来源(例如Google adwords)的访问者。

每当访问者执行某种操作时,它都会带有一个字符串,以帮助我识别来源。我正在使用PHP,我想我会用这种方式构建网站:

一个。通常,网站中的所有内部链接都不会在其URL中携带字符串,因此默认情况下,每个操作都会带有一些默认变量。

B中。对于付费流量,访问者会获得domain.com/page.php?source=paid类型的网址,这会将默认字符串修改为其他网址。

我的担忧:

我想阻止搜索引擎错误地将index.phpindex.php?source=paid编入索引,这可能导致我的网站涉嫌重复内容并损害我的排名。

如果重要的是,对于整个网站,我想使用一些重写规则,使我的链接看起来更清晰,例如,domain.com/subscribe.php - > domain.com/subscribe,因此解决方案也需要与此兼容(如果它可能阻碍任何事情)。

我考虑过以下方法来避免这个问题, 并且想知道我应该选择或组合哪一个,或者是否有替代方案:

  1. 简单地说:

    <link rel="canonical" href="http://www.domain.com/page.php" />在每个page.php的头部。根据{{​​3}},Bing和雅虎也应该尊重这一点。但不确定是否会100%阻止页面被编入索引,或只是做了“链接果汁”的事情。

  2. 将此规则添加到robots.txt: Disallow: /*?* - 这是否意味着每个包含?的网址都不会被编入索引(例如domain.com/page.php?source=paid,但domain.com/page.php确实会被编入索引?我不需要积极地“允许“同时发生任何事情,对吗?

  3. 使用PHP IF / Else执行此操作: 检查字符串source是否包含任何值。如果是,请将META robots修改为<meta name="robots" content="noindex, nofollow" />。 否则,(如果达到了没有任何字符串的网址),请将标记修改为<meta name="robots" content="index, follow" />

  4. 谢谢!

0 个答案:

没有答案