我想构建一个我正在建立的网站,以区分来自有机来源(例如Google搜索)和付费来源(例如Google adwords)的访问者。
每当访问者执行某种操作时,它都会带有一个字符串,以帮助我识别来源。我正在使用PHP,我想我会用这种方式构建网站:
一个。通常,网站中的所有内部链接都不会在其URL中携带字符串,因此默认情况下,每个操作都会带有一些默认变量。
B中。对于付费流量,访问者会获得domain.com/page.php?source=paid
类型的网址,这会将默认字符串修改为其他网址。
我的担忧:
我想阻止搜索引擎错误地将index.php
和index.php?source=paid
编入索引,这可能导致我的网站涉嫌重复内容并损害我的排名。
如果重要的是,对于整个网站,我想使用一些重写规则,使我的链接看起来更清晰,例如,domain.com/subscribe.php
- > domain.com/subscribe
,因此解决方案也需要与此兼容(如果它可能阻碍任何事情)。
我考虑过以下方法来避免这个问题, 并且想知道我应该选择或组合哪一个,或者是否有替代方案:
简单地说:
<link rel="canonical" href="http://www.domain.com/page.php" />
在每个page.php
的头部。根据{{3}},Bing和雅虎也应该尊重这一点。但不确定是否会100%阻止页面被编入索引,或只是做了“链接果汁”的事情。
将此规则添加到robots.txt:
Disallow: /*?*
- 这是否意味着每个包含?
的网址都不会被编入索引(例如domain.com/page.php?source=paid
,但domain.com/page.php
确实会被编入索引?我不需要积极地“允许“同时发生任何事情,对吗?
使用PHP IF / Else执行此操作:
检查字符串source
是否包含任何值。如果是,请将META robots
修改为<meta name="robots" content="noindex, nofollow" />
。
否则,(如果达到了没有任何字符串的网址),请将标记修改为<meta name="robots" content="index, follow" />
谢谢!