我如何区分带有PHP字符串的访问者的引荐来源,而不会据称创建重复的内容?



我想构建一个网站,以区分来自有机来源(如谷歌搜索)和付费来源(如Google广告词)的访问者。

每当访问者执行某种操作时,它都会携带一个字符串,帮助我识别源。我使用的是PHP,我想我会这样构建网站:

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

B。对于付费流量,访问者会访问domain.com/index.php吗?source=付费类型url,这将把默认字符串修改为其他字符串。

我的担忧:

  1. 这是最好的做法吗?

  2. 如何防止搜索引擎表单错误地索引index.php和index.php?source=付费,这可能会导致我的网站据称有重复内容并损害我的排名?

  3. 对于整个网站,我想使用一些重写规则,使我的链接看起来更干净,例如,domain.com/subscribe.php->domain.com/subsubscribe,这会阻碍什么吗?

谢谢!

  1. 我认为使用变量来跟踪(例如谷歌搜索)和(例如谷歌广告词)不是一个好主意,因为你已经在谷歌分析中拥有了这一功能。

  2. 你可以向谷歌提交你不想被索引的网页,或者只在你有代码的网页上添加带有NO-INDEX的元标签或使用robot.txt,但我不建议这样做。

  3. 如果你有干净和描述性的网址是更好的搜索引擎优化,所以你肯定需要一些重写规则。


如果你决定用php来做,我认为最好的方法是使用

$_SERVER['HTTP_REFERER']

referer变量,获取用户在打开页面之前访问的最后一个网站,然后将它们存储在数据库中,以便以后可以生成报告。


如果需要使用url参数,例如www.mywebsite.com/home?marketing=someadcode看看这个谷歌URL参数

跟踪:饼干怎么样?我会用饼干做这个。

#

参数,做这样的事情:

if($canonical_url != "" && strpos($url,"?"))
{
$canonical = substr($url,0, strpos($url,"?"));
}
if(isset($canonical) && $canonical !="" && $noindex != "1")
{
$canonical = str_replace('https:', 'http:',$canonical);
echo '<link rel="canonical" href="'.$canonical.'" />';
}

对于未知参数。

最新更新